quikchat 1.2.4 → 1.2.6
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/README.md +2 -2
- package/dist/build-manifest.json +73 -80
- package/dist/quikchat-md-full.cjs.js +536 -255
- package/dist/quikchat-md-full.cjs.js.map +1 -1
- package/dist/quikchat-md-full.cjs.min.js +3 -3
- package/dist/quikchat-md-full.cjs.min.js.map +1 -1
- package/dist/quikchat-md-full.esm.js +536 -255
- package/dist/quikchat-md-full.esm.js.map +1 -1
- package/dist/quikchat-md-full.esm.min.js +3 -3
- package/dist/quikchat-md-full.esm.min.js.map +1 -1
- package/dist/quikchat-md-full.umd.js +536 -255
- package/dist/quikchat-md-full.umd.js.map +1 -1
- package/dist/quikchat-md-full.umd.min.js +3 -3
- package/dist/quikchat-md-full.umd.min.js.map +1 -1
- package/dist/quikchat-md.cjs.js +520 -245
- package/dist/quikchat-md.cjs.js.map +1 -1
- package/dist/quikchat-md.cjs.min.js +3 -3
- package/dist/quikchat-md.cjs.min.js.map +1 -1
- package/dist/quikchat-md.esm.js +520 -245
- package/dist/quikchat-md.esm.js.map +1 -1
- package/dist/quikchat-md.esm.min.js +3 -3
- package/dist/quikchat-md.esm.min.js.map +1 -1
- package/dist/quikchat-md.umd.js +520 -245
- package/dist/quikchat-md.umd.js.map +1 -1
- package/dist/quikchat-md.umd.min.js +3 -3
- package/dist/quikchat-md.umd.min.js.map +1 -1
- package/dist/quikchat.cjs.js +2 -2
- package/dist/quikchat.cjs.js.map +1 -1
- package/dist/quikchat.cjs.min.js +1 -1
- package/dist/quikchat.cjs.min.js.map +1 -1
- package/dist/quikchat.css +351 -120
- package/dist/quikchat.esm.js +2 -2
- package/dist/quikchat.esm.js.map +1 -1
- package/dist/quikchat.esm.min.js +1 -1
- package/dist/quikchat.esm.min.js.map +1 -1
- package/dist/quikchat.min.css +1 -1
- package/dist/quikchat.umd.js +2 -2
- package/dist/quikchat.umd.js.map +1 -1
- package/dist/quikchat.umd.min.js +1 -1
- package/dist/quikchat.umd.min.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).quikchat=t()}(this,(function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function t(e,t,n,r,a,i,s){try{var o=e[i](s),c=o.value}catch(e){return void n(e)}o.done?t(c):Promise.resolve(c).then(r,a)}function n(e,t,n){return t=l(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,v(r.key),r)}}function i(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=b(e))||t){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw i}}}}function o(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(arguments.length<3?e:n):a.value}},c.apply(null,arguments)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var c=r&&r.prototype instanceof o?r:o,l=Object.create(c.prototype);return p(l,"_invoke",function(n,r,a){var i,o,c,l=0,u=a||[],d=!1,h={p:0,n:0,v:e,a:g,f:g.bind(e,4),d:function(t,n){return i=t,o=0,c=e,h.n=n,s}};function g(n,r){for(o=n,c=r,t=0;!d&&l&&!a&&t<u.length;t++){var a,i=u[t],g=h.p,p=i[2];n>3?(a=p===r)&&(c=i[(o=i[4])?5:(o=3,3)],i[4]=i[5]=e):i[0]<=g&&((a=n<2&&g<i[1])?(o=0,h.v=r,h.n=i[1]):g<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,h.n=p,o=0))}if(a||n>1)return s;throw d=!0,r}return function(a,u,p){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&g(u,p),o=u,c=p;(t=o<2?e:c)||!d;){i||(o?o<3?(o>1&&(h.n=-1),g(o,c)):h.n=c:h.v=c);try{if(l=2,i){if(o||(a="next"),t=i[a]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,o<2&&(o=0)}else 1===o&&(t=i.return)&&t.call(i),o<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),o=1);i=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==s)break}catch(t){i=e,o=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,a,i),!0),l}var s={};function o(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(p(t={},r,(function(){return this})),t),d=l.prototype=o.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,p(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,p(d,"constructor",l),p(l,"constructor",c),c.displayName="GeneratorFunction",p(l,a,"GeneratorFunction"),p(d),p(d,a,"Generator"),p(d,r,(function(){return this})),p(d,"toString",(function(){return"[object Generator]"})),(g=function(){return{w:i,m:h}})()}function p(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}p=function(e,t,n,r){function i(t,n){p(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},p(e,t,n,r)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function m(e,t,n,r){var a=c(l(e.prototype),t,n);return 2&r&&"function"==typeof a?function(e){return a.apply(n,e)}:a}function y(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||b(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function b(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}var k=function(){return i((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r(this,e);var i=h(h({},{theme:"quikchat-theme-light",trackHistory:!0,showTimestamps:!1,titleArea:{title:"Chat",show:!1,align:"center"},messagesArea:{alternating:!0}}),a);"string"==typeof t&&(t=document.querySelector(t)),this._parentElement=t,this._theme=i.theme,this._onSend=n||function(){},this._messageFormatter=i.messageFormatter||null,this._sanitize=i.sanitize||!1,this._createWidget(),i.titleArea&&(this.titleAreaSetContents(i.titleArea.title,i.titleArea.align),!0===i.titleArea.show?this.titleAreaShow():this.titleAreaHide()),i.messagesArea&&this.messagesAreaAlternateColors(i.messagesArea.alternating),i.showTimestamps&&this.messagesAreaShowTimestamps(!0),i.direction&&this.setDirection(i.direction),this._attachEventListeners(),this.trackHistory=!1!==i.trackHistory,this._historyLimit=1e7,this._history=[]}),[{key:"_createWidget",value:function(){var e='\n <div class="quikchat-base '.concat(this.theme,'">\n <div class="quikchat-title-area"></div>\n <div class="quikchat-messages-wrapper"><div class="quikchat-messages-area" role="log" aria-live="polite" aria-label="Chat messages"></div><button class="quikchat-scroll-bottom" aria-label="Scroll to bottom"></button></div>\n <div class="quikchat-input-area">\n <textarea class="quikchat-input-textbox" rows="1" aria-label="Type a message"></textarea>\n <button class="quikchat-input-send-btn">Send</button>\n </div>\n </div>\n ');this._parentElement.innerHTML=e,this._chatWidget=this._parentElement.querySelector(".quikchat-base"),this._titleArea=this._chatWidget.querySelector(".quikchat-title-area"),this._messagesWrapper=this._chatWidget.querySelector(".quikchat-messages-wrapper"),this._messagesArea=this._chatWidget.querySelector(".quikchat-messages-area"),this._scrollBottomBtn=this._messagesWrapper.querySelector(".quikchat-scroll-bottom"),this._inputArea=this._chatWidget.querySelector(".quikchat-input-area"),this._textEntry=this._inputArea.querySelector(".quikchat-input-textbox"),this._sendButton=this._inputArea.querySelector(".quikchat-input-send-btn"),this.msgid=0}},{key:"_attachEventListeners",value:function(){var e=this;this._sendButton.addEventListener("click",(function(){var t=e._textEntry.value.trim();""!==t&&e._onSend(e,t)})),this._textEntry.addEventListener("keydown",(function(t){if(t.shiftKey&&13===t.keyCode){t.preventDefault();var n=e._textEntry.value.trim();if(""===n)return;e._onSend(e,n)}})),this._textEntry.addEventListener("input",(function(){return e._autoGrowTextarea()})),this._messagesArea.addEventListener("scroll",(function(){var t=e._messagesArea,n=t.scrollTop,r=t.scrollHeight,a=t.clientHeight;e.userScrolledUp=n+a<r-1,e._updateScrollBottomBtn()})),this._scrollBottomBtn.addEventListener("click",(function(){return e.scrollToBottom()})),this._chatWidget.addEventListener("keydown",(function(t){t.ctrlKey&&"End"===t.key&&(t.preventDefault(),e.scrollToBottom())})),"undefined"!=typeof ResizeObserver&&(this._resizeObserver=new ResizeObserver((function(){return e._handleContainerResize()})),this._resizeObserver.observe(this._parentElement))}},{key:"setCallbackOnSend",value:function(e){this._onSend=e}},{key:"setCallbackonMessageAdded",value:function(e){this._onMessageAdded=e}},{key:"setCallbackonMessageAppend",value:function(e){this._onMessageAppend=e}},{key:"setCallbackonMessageReplace",value:function(e){this._onMessageReplace=e}},{key:"setCallbackonMessageDelete",value:function(e){this._onMessageDelete=e}},{key:"titleAreaToggle",value:function(){"none"===this._titleArea.style.display?this.titleAreaShow():this.titleAreaHide()}},{key:"titleAreaShow",value:function(){this._titleArea.style.display=""}},{key:"titleAreaHide",value:function(){this._titleArea.style.display="none"}},{key:"titleAreaSetContents",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"center";this._titleArea.innerHTML=e,this._titleArea.style.textAlign=t}},{key:"titleAreaGetContents",value:function(){return this._titleArea.innerHTML}},{key:"inputAreaToggle",value:function(){"none"===this._inputArea.style.display?this.inputAreaShow():this.inputAreaHide()}},{key:"inputAreaShow",value:function(){this._inputArea.style.display=""}},{key:"inputAreaHide",value:function(){this._inputArea.style.display="none"}},{key:"inputAreaSetEnabled",value:function(e){this._textEntry.disabled=!e,this._sendButton.disabled=!e}},{key:"inputAreaSetButtonText",value:function(e){this._sendButton.textContent=e}},{key:"inputAreaGetButtonText",value:function(){return this._sendButton.textContent}},{key:"setDirection",value:function(e){var t="rtl"===e?"rtl":"ltr";this._chatWidget.setAttribute("dir",t),"rtl"===t?this._chatWidget.classList.add("quikchat-rtl"):this._chatWidget.classList.remove("quikchat-rtl")}},{key:"getDirection",value:function(){return this._chatWidget.getAttribute("dir")||"ltr"}},{key:"_handleContainerResize",value:function(){}},{key:"scrollToBottom",value:function(){this._messagesArea.scrollTop=this._messagesArea.scrollHeight,this.userScrolledUp=!1,this._updateScrollBottomBtn()}},{key:"_updateScrollBottomBtn",value:function(){this.userScrolledUp?this._scrollBottomBtn.classList.add("quikchat-scroll-bottom-visible"):this._scrollBottomBtn.classList.remove("quikchat-scroll-bottom-visible")}},{key:"_autoGrowTextarea",value:function(){var e=this._textEntry;e.style.height="auto";var t=parseInt(getComputedStyle(e).getPropertyValue("--quikchat-input-max-height"))||120;e.style.height=Math.min(e.scrollHeight,t)+"px",e.style.overflowY=e.scrollHeight>t?"auto":"hidden"}},{key:"_formatTimestamp",value:function(e){var t=new Date(e),n=t.getHours();return(n%12||12)+":"+String(t.getMinutes()).padStart(2,"0")+" "+(n>=12?"PM":"AM")}},{key:"messagesAreaShowTimestamps",value:function(e){e?this._messagesArea.classList.add("quikchat-show-timestamps"):this._messagesArea.classList.remove("quikchat-show-timestamps")}},{key:"messagesAreaShowTimestampsGet",value:function(){return this._messagesArea.classList.contains("quikchat-show-timestamps")}},{key:"messagesAreaShowTimestampsToggle",value:function(){this._messagesArea.classList.toggle("quikchat-show-timestamps")}},{key:"_escapeHTML",value:function(e){var t=document.createElement("div");return t.textContent=e,t.innerHTML}},{key:"_processContent",value:function(e){return!0===this._sanitize?e=this._escapeHTML(e):"function"==typeof this._sanitize&&(e=this._sanitize(e)),this._messageFormatter&&(e=this._messageFormatter(e)),e}},{key:"messagesAreaAlternateColors",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return e?this._messagesArea.classList.add("quikchat-messages-area-alt"):this._messagesArea.classList.remove("quikchat-messages-area-alt"),!0===e}},{key:"messagesAreaAlternateColorsToggle",value:function(){this._messagesArea.classList.toggle("quikchat-messages-area-alt")}},{key:"messagesAreaAlternateColorsGet",value:function(){return this._messagesArea.classList.contains("quikchat-messages-area-alt")}},{key:"messageAddFull",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{content:"",userString:"user",align:"right",role:"user",userID:-1},t=this.msgid,n=document.createElement("div"),r="quikchat-msgid-"+String(t).padStart(10,"0");n.classList.add("quikchat-message",r),n.classList.add("quikchat-role-"+(e.role||"user")),n.classList.add("quikchat-align-"+(e.align||"right")),this.msgid++,n.classList.add(this._messagesArea.children.length%2==1?"quikchat-message-1":"quikchat-message-2");var a=!1!==e.visible;a||(n.style.display="none");var i=Array.isArray(e.tags)?e.tags.slice():[],s=document.createElement("div");s.classList.add("quikchat-user-label"),s.style.textAlign=e.align,s.innerHTML=e.userString;var o=document.createElement("div");o.classList.add("quikchat-message-content"),o.style.textAlign=e.align,o.innerHTML=this._processContent(e.content);var c=(new Date).toISOString(),l=document.createElement("span");l.classList.add("quikchat-timestamp"),l.textContent=this._formatTimestamp(c),n.appendChild(s),n.appendChild(o),n.appendChild(l),this._messagesArea.appendChild(n),this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._textEntry.value="",this._autoGrowTextarea();var u=c;return this.trackHistory&&(this._history.push(h(h({msgid:t},e),{},{visible:a,tags:i,timestamp:c,updatedtime:u,messageDiv:n})),this._history.length>this._historyLimit&&this._history.shift()),this._onMessageAdded&&this._onMessageAdded(this,t),t}},{key:"messageAddNew",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"user",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"right",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"user";return this.messageAddFull({content:e,userString:t,align:n,role:r})}},{key:"messageRemove",value:function(e){var t=!1;try{this._messagesArea.removeChild(this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0")))),t=!0}catch(e){}return t&&(this._history.splice(this._history.findIndex((function(t){return t.msgid===e})),1),this._onMessageDelete&&this._onMessageDelete(this,e)),t}},{key:"messageGetDOMObject",value:function(e){var t=null;try{t=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0")))}catch(e){}return t}},{key:"messageGetContent",value:function(e){var t="";try{t=this._history.filter((function(t){return t.msgid===e}))[0].content}catch(e){}return t}},{key:"messageSetVisible",value:function(e,t){var n=this.messageGetDOMObject(e);if(!n)return!1;n.style.display=t?"":"none";var r=this._history.find((function(t){return t.msgid===e}));return r&&(r.visible=t),!0}},{key:"messageGetVisible",value:function(e){var t=this._history.find((function(t){return t.msgid===e}));return!!t&&!1!==t.visible}},{key:"messageToggleVisible",value:function(e){var t=this.messageGetVisible(e);return this.messageSetVisible(e,!t)}},{key:"messageSetVisibleByTag",value:function(e,t){var n,r=0,a=s(this._history);try{for(a.s();!(n=a.n()).done;){var i=n.value;i.tags&&i.tags.includes(e)&&(this.messageSetVisible(i.msgid,t),r++)}}catch(e){a.e(e)}finally{a.f()}return r}},{key:"messageGetTags",value:function(e){var t=this._history.find((function(t){return t.msgid===e}));return t&&t.tags?t.tags.slice():[]}},{key:"messageSetTags",value:function(e,t){var n=this._history.find((function(t){return t.msgid===e}));return!!n&&(n.tags=Array.isArray(t)?t.slice():[],!0)}},{key:"messageAppendContent",value:function(e,t){var n=!1;try{var r=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0"))),a=this._history.filter((function(t){return t.msgid===e}))[0];a.content+=t,a.updatedtime=(new Date).toISOString(),r.querySelector(".quikchat-message-content").innerHTML=this._processContent(a.content),r.classList.remove("quikchat-typing"),n=!0,this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._onMessageAppend&&this._onMessageAppend(this,e,t)}catch(e){}return n}},{key:"messageReplaceContent",value:function(e,t){var n=!1;try{var r=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0"))),a=this._history.filter((function(t){return t.msgid===e}))[0];a.content=t,a.updatedtime=(new Date).toISOString(),r.querySelector(".quikchat-message-content").innerHTML=this._processContent(t),r.classList.remove("quikchat-typing"),n=!0,this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._onMessageReplace&&this._onMessageReplace(this,e,t)}catch(e){}return n}},{key:"messageAddTypingIndicator",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"left",n=this.messageAddFull({content:"",userString:e,align:t,role:"assistant"}),r=this.messageGetDOMObject(n);return r.classList.add("quikchat-typing"),r.querySelector(".quikchat-message-content").innerHTML='<span class="quikchat-typing-dots"><span>.</span><span>.</span><span>.</span></span>',n}},{key:"setMessageFormatter",value:function(e){this._messageFormatter=e}},{key:"setSanitize",value:function(e){this._sanitize=e}},{key:"historyGet",value:function(e,t){return void 0===e?this._history.slice():void 0===t?e<0?this._history.slice(e):this._history.slice(e,e+1):this._history.slice(e,t)}},{key:"historyClear",value:function(){this.msgid=0,this._history=[]}},{key:"historyGetLength",value:function(){return this._history.length}},{key:"historyGetMessage",value:function(e){return e>=0&&e<this._history.length?this._history[e]:{}}},{key:"historyGetMessageContent",value:function(e){return e>=0&&e<this._history.length?this._history[e].content:""}},{key:"historyExport",value:function(){return this._history.map((function(e){return{msgid:e.msgid,content:e.content,userString:e.userString,align:e.align,role:e.role,userID:e.userID,visible:e.visible,tags:e.tags?e.tags.slice():[],timestamp:e.timestamp,updatedtime:e.updatedtime}}))}},{key:"historyImport",value:function(e){this._messagesArea.innerHTML="",this._history=[],this.msgid=0;var t,n=s(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.messageAddFull({content:r.content||"",userString:r.userString||"user",align:r.align||"right",role:r.role||"user",userID:r.userID,visible:r.visible,tags:r.tags})}}catch(e){n.e(e)}finally{n.f()}}},{key:"changeTheme",value:function(e){this._chatWidget.classList.remove(this._theme),this._chatWidget.classList.add(e),this._theme=e}},{key:"theme",get:function(){return this._theme}}],[{key:"version",value:function(){return{version:"1.2.4",license:"BSD-2",url:"https://github/deftio/quikchat"}}},{key:"loremIpsum",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ";for("number"!=typeof e&&(e=Math.floor(126*Math.random())+25),void 0===t&&(t=Math.floor(446*Math.random())),t%=446;" "===r[t]||/[.,:;!?]/.test(r[t]);)t=(t+1)%446;for(var a=r.substring(t)+r.substring(0,t),i="";e>0;)i+=e<a.length?a.substring(0,e):a,e-=a.length;return" "===i[i.length-1]&&(i=i.substring(0,i.length-1)+"."),n&&(i=i[0].toUpperCase()+i.substring(1)),i}}])}();
|
|
3
|
+
var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var c=r&&r.prototype instanceof o?r:o,l=Object.create(c.prototype);return p(l,"_invoke",function(n,r,a){var i,o,c,l=0,u=a||[],d=!1,h={p:0,n:0,v:e,a:g,f:g.bind(e,4),d:function(t,n){return i=t,o=0,c=e,h.n=n,s}};function g(n,r){for(o=n,c=r,t=0;!d&&l&&!a&&t<u.length;t++){var a,i=u[t],g=h.p,p=i[2];n>3?(a=p===r)&&(c=i[(o=i[4])?5:(o=3,3)],i[4]=i[5]=e):i[0]<=g&&((a=n<2&&g<i[1])?(o=0,h.v=r,h.n=i[1]):g<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,h.n=p,o=0))}if(a||n>1)return s;throw d=!0,r}return function(a,u,p){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&g(u,p),o=u,c=p;(t=o<2?e:c)||!d;){i||(o?o<3?(o>1&&(h.n=-1),g(o,c)):h.n=c:h.v=c);try{if(l=2,i){if(o||(a="next"),t=i[a]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,o<2&&(o=0)}else 1===o&&(t=i.return)&&t.call(i),o<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),o=1);i=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==s)break}catch(t){i=e,o=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,a,i),!0),l}var s={};function o(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(p(t={},r,(function(){return this})),t),d=l.prototype=o.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,p(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,p(d,"constructor",l),p(l,"constructor",c),c.displayName="GeneratorFunction",p(l,a,"GeneratorFunction"),p(d),p(d,a,"Generator"),p(d,r,(function(){return this})),p(d,"toString",(function(){return"[object Generator]"})),(g=function(){return{w:i,m:h}})()}function p(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}p=function(e,t,n,r){function i(t,n){p(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},p(e,t,n,r)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function m(e,t,n,r){var a=c(l(e.prototype),t,n);return 2&r&&"function"==typeof a?function(e){return a.apply(n,e)}:a}function y(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||b(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function b(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}var k=function(){return i((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r(this,e);var i=h(h({},{theme:"quikchat-theme-light",trackHistory:!0,showTimestamps:!1,titleArea:{title:"Chat",show:!1,align:"center"},messagesArea:{alternating:!0}}),a);"string"==typeof t&&(t=document.querySelector(t)),this._parentElement=t,this._theme=i.theme,this._onSend=n||function(){},this._messageFormatter=i.messageFormatter||null,this._sanitize=i.sanitize||!1,this._createWidget(),i.titleArea&&(this.titleAreaSetContents(i.titleArea.title,i.titleArea.align),!0===i.titleArea.show?this.titleAreaShow():this.titleAreaHide()),i.messagesArea&&this.messagesAreaAlternateColors(i.messagesArea.alternating),i.showTimestamps&&this.messagesAreaShowTimestamps(!0),i.direction&&this.setDirection(i.direction),this._attachEventListeners(),this.trackHistory=!1!==i.trackHistory,this._historyLimit=1e7,this._history=[]}),[{key:"_createWidget",value:function(){var e='\n <div class="quikchat-base '.concat(this.theme,'">\n <div class="quikchat-title-area"></div>\n <div class="quikchat-messages-wrapper"><div class="quikchat-messages-area" role="log" aria-live="polite" aria-label="Chat messages"></div><button class="quikchat-scroll-bottom" aria-label="Scroll to bottom"></button></div>\n <div class="quikchat-input-area">\n <textarea class="quikchat-input-textbox" rows="1" aria-label="Type a message"></textarea>\n <button class="quikchat-input-send-btn">Send</button>\n </div>\n </div>\n ');this._parentElement.innerHTML=e,this._chatWidget=this._parentElement.querySelector(".quikchat-base"),this._titleArea=this._chatWidget.querySelector(".quikchat-title-area"),this._messagesWrapper=this._chatWidget.querySelector(".quikchat-messages-wrapper"),this._messagesArea=this._chatWidget.querySelector(".quikchat-messages-area"),this._scrollBottomBtn=this._messagesWrapper.querySelector(".quikchat-scroll-bottom"),this._inputArea=this._chatWidget.querySelector(".quikchat-input-area"),this._textEntry=this._inputArea.querySelector(".quikchat-input-textbox"),this._sendButton=this._inputArea.querySelector(".quikchat-input-send-btn"),this.msgid=0}},{key:"_attachEventListeners",value:function(){var e=this;this._sendButton.addEventListener("click",(function(){var t=e._textEntry.value.trim();""!==t&&e._onSend(e,t)})),this._textEntry.addEventListener("keydown",(function(t){if(t.shiftKey&&13===t.keyCode){t.preventDefault();var n=e._textEntry.value.trim();if(""===n)return;e._onSend(e,n)}})),this._textEntry.addEventListener("input",(function(){return e._autoGrowTextarea()})),this._messagesArea.addEventListener("scroll",(function(){var t=e._messagesArea,n=t.scrollTop,r=t.scrollHeight,a=t.clientHeight;e.userScrolledUp=n+a<r-1,e._updateScrollBottomBtn()})),this._scrollBottomBtn.addEventListener("click",(function(){return e.scrollToBottom()})),this._chatWidget.addEventListener("keydown",(function(t){t.ctrlKey&&"End"===t.key&&(t.preventDefault(),e.scrollToBottom())})),"undefined"!=typeof ResizeObserver&&(this._resizeObserver=new ResizeObserver((function(){return e._handleContainerResize()})),this._resizeObserver.observe(this._parentElement))}},{key:"setCallbackOnSend",value:function(e){this._onSend=e}},{key:"setCallbackonMessageAdded",value:function(e){this._onMessageAdded=e}},{key:"setCallbackonMessageAppend",value:function(e){this._onMessageAppend=e}},{key:"setCallbackonMessageReplace",value:function(e){this._onMessageReplace=e}},{key:"setCallbackonMessageDelete",value:function(e){this._onMessageDelete=e}},{key:"titleAreaToggle",value:function(){"none"===this._titleArea.style.display?this.titleAreaShow():this.titleAreaHide()}},{key:"titleAreaShow",value:function(){this._titleArea.style.display=""}},{key:"titleAreaHide",value:function(){this._titleArea.style.display="none"}},{key:"titleAreaSetContents",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"center";this._titleArea.innerHTML=e,this._titleArea.style.textAlign=t}},{key:"titleAreaGetContents",value:function(){return this._titleArea.innerHTML}},{key:"inputAreaToggle",value:function(){"none"===this._inputArea.style.display?this.inputAreaShow():this.inputAreaHide()}},{key:"inputAreaShow",value:function(){this._inputArea.style.display=""}},{key:"inputAreaHide",value:function(){this._inputArea.style.display="none"}},{key:"inputAreaSetEnabled",value:function(e){this._textEntry.disabled=!e,this._sendButton.disabled=!e}},{key:"inputAreaSetButtonText",value:function(e){this._sendButton.textContent=e}},{key:"inputAreaGetButtonText",value:function(){return this._sendButton.textContent}},{key:"setDirection",value:function(e){var t="rtl"===e?"rtl":"ltr";this._chatWidget.setAttribute("dir",t),"rtl"===t?this._chatWidget.classList.add("quikchat-rtl"):this._chatWidget.classList.remove("quikchat-rtl")}},{key:"getDirection",value:function(){return this._chatWidget.getAttribute("dir")||"ltr"}},{key:"_handleContainerResize",value:function(){}},{key:"scrollToBottom",value:function(){this._messagesArea.scrollTop=this._messagesArea.scrollHeight,this.userScrolledUp=!1,this._updateScrollBottomBtn()}},{key:"_updateScrollBottomBtn",value:function(){this.userScrolledUp?this._scrollBottomBtn.classList.add("quikchat-scroll-bottom-visible"):this._scrollBottomBtn.classList.remove("quikchat-scroll-bottom-visible")}},{key:"_autoGrowTextarea",value:function(){var e=this._textEntry;e.style.height="auto";e.style.height=Math.min(e.scrollHeight,120)+"px",e.style.overflowY=e.scrollHeight>120?"auto":"hidden"}},{key:"_formatTimestamp",value:function(e){var t=new Date(e),n=t.getHours();return(n%12||12)+":"+String(t.getMinutes()).padStart(2,"0")+" "+(n>=12?"PM":"AM")}},{key:"messagesAreaShowTimestamps",value:function(e){e?this._messagesArea.classList.add("quikchat-show-timestamps"):this._messagesArea.classList.remove("quikchat-show-timestamps")}},{key:"messagesAreaShowTimestampsGet",value:function(){return this._messagesArea.classList.contains("quikchat-show-timestamps")}},{key:"messagesAreaShowTimestampsToggle",value:function(){this._messagesArea.classList.toggle("quikchat-show-timestamps")}},{key:"_escapeHTML",value:function(e){var t=document.createElement("div");return t.textContent=e,t.innerHTML}},{key:"_processContent",value:function(e){return!0===this._sanitize?e=this._escapeHTML(e):"function"==typeof this._sanitize&&(e=this._sanitize(e)),this._messageFormatter&&(e=this._messageFormatter(e)),e}},{key:"messagesAreaAlternateColors",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return e?this._messagesArea.classList.add("quikchat-messages-area-alt"):this._messagesArea.classList.remove("quikchat-messages-area-alt"),!0===e}},{key:"messagesAreaAlternateColorsToggle",value:function(){this._messagesArea.classList.toggle("quikchat-messages-area-alt")}},{key:"messagesAreaAlternateColorsGet",value:function(){return this._messagesArea.classList.contains("quikchat-messages-area-alt")}},{key:"messageAddFull",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{content:"",userString:"user",align:"right",role:"user",userID:-1},t=this.msgid,n=document.createElement("div"),r="quikchat-msgid-"+String(t).padStart(10,"0");n.classList.add("quikchat-message",r),n.classList.add("quikchat-role-"+(e.role||"user")),n.classList.add("quikchat-align-"+(e.align||"right")),this.msgid++,n.classList.add(this._messagesArea.children.length%2==1?"quikchat-message-1":"quikchat-message-2");var a=!1!==e.visible;a||(n.style.display="none");var i=Array.isArray(e.tags)?e.tags.slice():[],s=document.createElement("div");s.classList.add("quikchat-user-label"),s.style.textAlign=e.align,s.innerHTML=e.userString;var o=document.createElement("div");o.classList.add("quikchat-message-content"),o.style.textAlign=e.align,o.innerHTML=this._processContent(e.content);var c=(new Date).toISOString(),l=document.createElement("span");l.classList.add("quikchat-timestamp"),l.textContent=this._formatTimestamp(c),n.appendChild(s),n.appendChild(o),n.appendChild(l),this._messagesArea.appendChild(n),this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._textEntry.value="",this._autoGrowTextarea();var u=c;return this.trackHistory&&(this._history.push(h(h({msgid:t},e),{},{visible:a,tags:i,timestamp:c,updatedtime:u,messageDiv:n})),this._history.length>this._historyLimit&&this._history.shift()),this._onMessageAdded&&this._onMessageAdded(this,t),t}},{key:"messageAddNew",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"user",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"right",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"user";return this.messageAddFull({content:e,userString:t,align:n,role:r})}},{key:"messageRemove",value:function(e){var t=!1;try{this._messagesArea.removeChild(this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0")))),t=!0}catch(e){}return t&&(this._history.splice(this._history.findIndex((function(t){return t.msgid===e})),1),this._onMessageDelete&&this._onMessageDelete(this,e)),t}},{key:"messageGetDOMObject",value:function(e){var t=null;try{t=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0")))}catch(e){}return t}},{key:"messageGetContent",value:function(e){var t="";try{t=this._history.filter((function(t){return t.msgid===e}))[0].content}catch(e){}return t}},{key:"messageSetVisible",value:function(e,t){var n=this.messageGetDOMObject(e);if(!n)return!1;n.style.display=t?"":"none";var r=this._history.find((function(t){return t.msgid===e}));return r&&(r.visible=t),!0}},{key:"messageGetVisible",value:function(e){var t=this._history.find((function(t){return t.msgid===e}));return!!t&&!1!==t.visible}},{key:"messageToggleVisible",value:function(e){var t=this.messageGetVisible(e);return this.messageSetVisible(e,!t)}},{key:"messageSetVisibleByTag",value:function(e,t){var n,r=0,a=s(this._history);try{for(a.s();!(n=a.n()).done;){var i=n.value;i.tags&&i.tags.includes(e)&&(this.messageSetVisible(i.msgid,t),r++)}}catch(e){a.e(e)}finally{a.f()}return r}},{key:"messageGetTags",value:function(e){var t=this._history.find((function(t){return t.msgid===e}));return t&&t.tags?t.tags.slice():[]}},{key:"messageSetTags",value:function(e,t){var n=this._history.find((function(t){return t.msgid===e}));return!!n&&(n.tags=Array.isArray(t)?t.slice():[],!0)}},{key:"messageAppendContent",value:function(e,t){var n=!1;try{var r=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0"))),a=this._history.filter((function(t){return t.msgid===e}))[0];a.content+=t,a.updatedtime=(new Date).toISOString(),r.querySelector(".quikchat-message-content").innerHTML=this._processContent(a.content),r.classList.remove("quikchat-typing"),n=!0,this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._onMessageAppend&&this._onMessageAppend(this,e,t)}catch(e){}return n}},{key:"messageReplaceContent",value:function(e,t){var n=!1;try{var r=this._messagesArea.querySelector(".quikchat-msgid-".concat(String(e).padStart(10,"0"))),a=this._history.filter((function(t){return t.msgid===e}))[0];a.content=t,a.updatedtime=(new Date).toISOString(),r.querySelector(".quikchat-message-content").innerHTML=this._processContent(t),r.classList.remove("quikchat-typing"),n=!0,this.userScrolledUp||(this._messagesArea.scrollTop=this._messagesArea.scrollHeight),this._onMessageReplace&&this._onMessageReplace(this,e,t)}catch(e){}return n}},{key:"messageAddTypingIndicator",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"left",n=this.messageAddFull({content:"",userString:e,align:t,role:"assistant"}),r=this.messageGetDOMObject(n);return r.classList.add("quikchat-typing"),r.querySelector(".quikchat-message-content").innerHTML='<span class="quikchat-typing-dots"><span>.</span><span>.</span><span>.</span></span>',n}},{key:"setMessageFormatter",value:function(e){this._messageFormatter=e}},{key:"setSanitize",value:function(e){this._sanitize=e}},{key:"historyGet",value:function(e,t){return void 0===e?this._history.slice():void 0===t?e<0?this._history.slice(e):this._history.slice(e,e+1):this._history.slice(e,t)}},{key:"historyClear",value:function(){this.msgid=0,this._history=[]}},{key:"historyGetLength",value:function(){return this._history.length}},{key:"historyGetMessage",value:function(e){return e>=0&&e<this._history.length?this._history[e]:{}}},{key:"historyGetMessageContent",value:function(e){return e>=0&&e<this._history.length?this._history[e].content:""}},{key:"historyExport",value:function(){return this._history.map((function(e){return{msgid:e.msgid,content:e.content,userString:e.userString,align:e.align,role:e.role,userID:e.userID,visible:e.visible,tags:e.tags?e.tags.slice():[],timestamp:e.timestamp,updatedtime:e.updatedtime}}))}},{key:"historyImport",value:function(e){this._messagesArea.innerHTML="",this._history=[],this.msgid=0;var t,n=s(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.messageAddFull({content:r.content||"",userString:r.userString||"user",align:r.align||"right",role:r.role||"user",userID:r.userID,visible:r.visible,tags:r.tags})}}catch(e){n.e(e)}finally{n.f()}}},{key:"changeTheme",value:function(e){this._chatWidget.classList.remove(this._theme),this._chatWidget.classList.add(e),this._theme=e}},{key:"theme",get:function(){return this._theme}}],[{key:"version",value:function(){return{version:"1.2.6",license:"BSD-2",url:"https://github/deftio/quikchat"}}},{key:"loremIpsum",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ";for("number"!=typeof e&&(e=Math.floor(126*Math.random())+25),void 0===t&&(t=Math.floor(446*Math.random())),t%=446;" "===r[t]||/[.,:;!?]/.test(r[t]);)t=(t+1)%446;for(var a=r.substring(t)+r.substring(0,t),i="";e>0;)i+=e<a.length?a.substring(0,e):a,e-=a.length;return" "===i[i.length-1]&&(i=i.substring(0,i.length-1)+"."),n&&(i=i[0].toUpperCase()+i.substring(1)),i}}])}();
|
|
4
4
|
/**
|
|
5
5
|
* quikdown_bd - Bidirectional Markdown Parser
|
|
6
|
-
* @version 1.
|
|
6
|
+
* @version 1.2.10
|
|
7
7
|
* @license BSD-2-Clause
|
|
8
8
|
* @copyright DeftIO 2025
|
|
9
|
-
*/const $="quikdown-",_="§CB",w="§IC",q={"&":"&","<":"<",">":">",'"':""","'":"'"},A={h1:"font-size:2em;font-weight:600;margin:.67em 0;text-align:left",h2:"font-size:1.5em;font-weight:600;margin:.83em 0",h3:"font-size:1.25em;font-weight:600;margin:1em 0",h4:"font-size:1em;font-weight:600;margin:1.33em 0",h5:"font-size:.875em;font-weight:600;margin:1.67em 0",h6:"font-size:.85em;font-weight:600;margin:2em 0",pre:"background:#f4f4f4;padding:10px;border-radius:4px;overflow-x:auto;margin:1em 0",code:"background:#f0f0f0;padding:2px 4px;border-radius:3px;font-family:monospace",blockquote:"border-left:4px solid #ddd;margin-left:0;padding-left:1em",table:"border-collapse:collapse;width:100%;margin:1em 0",th:"border:1px solid #ddd;padding:8px;background-color:#f2f2f2;font-weight:bold;text-align:left",td:"border:1px solid #ddd;padding:8px;text-align:left",hr:"border:none;border-top:1px solid #ddd;margin:1em 0",img:"max-width:100%;height:auto",a:"color:#06c;text-decoration:underline",strong:"font-weight:bold",em:"font-style:italic",del:"text-decoration:line-through",ul:"margin:.5em 0;padding-left:2em",ol:"margin:.5em 0;padding-left:2em",li:"margin:.25em 0","task-item":"list-style:none","task-checkbox":"margin-right:.5em"};function S(e,t={}){if(!e||"string"!=typeof e)return"";const{fence_plugin:n,inline_styles:r=!1,bidirectional:a=!1,lazy_linefeeds:i=!1}=t,s=function(e,t){return function(n,r=""){if(e){let e=t[n];return e||r?(r&&r.includes("text-align")&&e&&e.includes("text-align")&&(e=e.replace(/text-align:[^;]+;?/,"").trim(),e&&!e.endsWith(";")&&(e+=";")),` style="${r?e?`${e}${r}`:r:e}"`):""}{const e=` class="${$}${n}"`;return r?`${e} style="${r}"`:e}}}(r,A);function o(e){return e.replace(/[&<>"']/g,(e=>q[e]))}const c=a?e=>` data-qd="${o(e)}"`:()=>"";function l(e,t=!1){if(!e)return"";if(t)return e;const n=e.trim(),r=n.toLowerCase(),a=["javascript:","vbscript:","data:"];for(const e of a)if(r.startsWith(e))return"data:"===e&&r.startsWith("data:image/")?n:"#";return n}let u=e;const d=[],h=[];u=u.replace(/^(```|~~~)([^\n]*)\n([\s\S]*?)^\1$/gm,((e,t,r,a)=>{const i=`${_}${d.length}§`,s=r?r.trim():"";return n&&n.render&&"function"==typeof n.render?d.push({lang:s,code:a.trimEnd(),custom:!0,fence:t,hasReverse:!!n.reverse}):d.push({lang:s,code:o(a.trimEnd()),custom:!1,fence:t}),i})),u=u.replace(/`([^`]+)`/g,((e,t)=>{const n=`${w}${h.length}§`;return h.push(o(t)),n})),u=o(u),u=function(e,t){const n=e.split("\n"),r=[];let a=!1,i=[];for(let e=0;e<n.length;e++){const s=n[e].trim();if(s.includes("|")&&(s.startsWith("|")||/[^\\|]/.test(s)))a||(a=!0,i=[]),i.push(s);else{if(a){const e=E(i,t);e?r.push(e):r.push(...i),a=!1,i=[]}r.push(n[e])}}if(a&&i.length>0){const e=E(i,t);e?r.push(e):r.push(...i)}return r.join("\n")}(u,s),u=u.replace(/^(#{1,6})\s+(.+?)\s*#*$/gm,((e,t,n)=>{const r=t.length;return`<h${r}${s("h"+r)}${c(t)}>${n}</h${r}>`})),u=u.replace(/^>\s+(.+)$/gm,`<blockquote${s("blockquote")}>$1</blockquote>`),u=u.replace(/<\/blockquote>\n<blockquote>/g,"\n"),u=u.replace(/^---+\s*$/gm,`<hr${s("hr")}>`),u=function(e,t,n,r){const a=e.split("\n"),i=[];let s=[];const o=e=>e.replace(/[&<>"']/g,(e=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[e]))),c=r?e=>` data-qd="${o(e)}"`:()=>"";for(let e=0;e<a.length;e++){const r=a[e],o=r.match(/^(\s*)([*\-+]|\d+\.)\s+(.+)$/);if(o){const[,e,r,a]=o,l=Math.floor(e.length/2),u=/^\d+\./.test(r),d=u?"ol":"ul";let h=a,g="";const p=a.match(/^\[([x ])\]\s+(.*)$/i);if(p&&!u){const[,e,t]=p,r="x"===e.toLowerCase();h=`<input type="checkbox"${n?' style="margin-right:.5em"':` class="${$}task-checkbox"`}${r?" checked":""} disabled> ${t}`,g=n?' style="list-style:none"':` class="${$}task-item"`}for(;s.length>l+1;){const e=s.pop();i.push(`</${e.type}>`)}if(s.length===l)s.push({type:d,level:l}),i.push(`<${d}${t(d)}>`);else if(s.length===l+1){const e=s[s.length-1];e.type!==d&&(i.push(`</${e.type}>`),s.pop(),s.push({type:d,level:l}),i.push(`<${d}${t(d)}>`))}const f=g||t("li");i.push(`<li${f}${c(r)}>${h}</li>`)}else{for(;s.length>0;){const e=s.pop();i.push(`</${e.type}>`)}i.push(r)}}for(;s.length>0;){const e=s.pop();i.push(`</${e.type}>`)}return i.join("\n")}(u,s,r,a),u=u.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,((e,n,r)=>{const i=l(r,t.allow_unsafe_urls),u=a&&n?` data-qd-alt="${o(n)}"`:"",d=a?` data-qd-src="${o(r)}"`:"";return`<img${s("img")} src="${i}" alt="${n}"${u}${d}${c("!")}>`})),u=u.replace(/\[([^\]]+)\]\(([^)]+)\)/g,((e,n,r)=>{const i=l(r,t.allow_unsafe_urls),u=/^https?:\/\//i.test(i)?' rel="noopener noreferrer"':"",d=a?` data-qd-text="${o(n)}"`:"";return`<a${s("a")} href="${i}"${u}${d}${c("[")}>${n}</a>`})),u=u.replace(/(^|\s)(https?:\/\/[^\s<]+)/g,((e,n,r)=>{const a=l(r,t.allow_unsafe_urls);return`${n}<a${s("a")} href="${a}" rel="noopener noreferrer">${r}</a>`}));if([[/\*\*(.+?)\*\*/g,"strong","**"],[/__(.+?)__/g,"strong","__"],[/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,"em","*"],[/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,"em","_"],[/~~(.+?)~~/g,"del","~~"]].forEach((([e,t,n])=>{u=u.replace(e,`<${t}${s(t)}${c(n)}>$1</${t}>`)})),i){const e=[];let t=0;u=u.replace(/<(table|[uo]l)[^>]*>[\s\S]*?<\/\1>/g,(n=>(e[t]=n,`§B${t++}§`))),u=u.replace(/\n\n+/g,"§P§").replace(/(<\/(?:h[1-6]|blockquote|pre)>)\n/g,"$1§N§").replace(/(<(?:h[1-6]|blockquote|pre|hr)[^>]*>)\n/g,"$1§N§").replace(/\n(<(?:h[1-6]|blockquote|pre|hr)[^>]*>)/g,"§N§$1").replace(/\n(§B\d+§)/g,"§N§$1").replace(/(§B\d+§)\n/g,"$1§N§").replace(/\n/g,`<br${s("br")}>`).replace(/§N§/g,"\n").replace(/§P§/g,"</p><p>"),e.forEach(((e,t)=>u=u.replace(`§B${t}§`,e))),u="<p>"+u+"</p>"}else u=u.replace(/ $/gm,`<br${s("br")}>`),u=u.replace(/\n\n+/g,((e,t)=>u.substring(0,t).match(/<\/(h[1-6]|blockquote|ul|ol|table|pre|hr)>$/)?"<p>":"</p><p>")),u="<p>"+u+"</p>";return[[/<p><\/p>/g,""],[/<p>(<h[1-6][^>]*>)/g,"$1"],[/(<\/h[1-6]>)<\/p>/g,"$1"],[/<p>(<blockquote[^>]*>)/g,"$1"],[/(<\/blockquote>)<\/p>/g,"$1"],[/<p>(<ul[^>]*>|<ol[^>]*>)/g,"$1"],[/(<\/ul>|<\/ol>)<\/p>/g,"$1"],[/<p>(<hr[^>]*>)<\/p>/g,"$1"],[/<p>(<table[^>]*>)/g,"$1"],[/(<\/table>)<\/p>/g,"$1"],[/<p>(<pre[^>]*>)/g,"$1"],[/(<\/pre>)<\/p>/g,"$1"],[new RegExp(`<p>(${_}\\d+§)</p>`,"g"),"$1"]].forEach((([e,t])=>{u=u.replace(e,t)})),u=u.replace(/(<\/(?:h[1-6]|blockquote|ul|ol|table|pre|hr)>)\n([^<])/g,"$1\n<p>$2"),d.forEach(((e,t)=>{let i;if(e.custom&&n&&n.render)if(i=n.render(e.code,e.lang),void 0===i){const t=!r&&e.lang?` class="language-${e.lang}"`:"",n=r?s("code"):t,c=a&&e.lang?` data-qd-lang="${o(e.lang)}"`:"",l=a?` data-qd-fence="${o(e.fence)}"`:"";i=`<pre${s("pre")}${l}${c}><code${n}>${o(e.code)}</code></pre>`}else a&&(i=i.replace(/^<(\w+)/,`<$1 data-qd-fence="${o(e.fence)}" data-qd-lang="${o(e.lang)}" data-qd-source="${o(e.code)}"`));else{const t=!r&&e.lang?` class="language-${e.lang}"`:"",n=r?s("code"):t,c=a&&e.lang?` data-qd-lang="${o(e.lang)}"`:"",l=a?` data-qd-fence="${o(e.fence)}"`:"";i=`<pre${s("pre")}${l}${c}><code${n}>${e.code}</code></pre>`}const c=`${_}${t}§`;u=u.replace(c,i)})),h.forEach(((e,t)=>{const n=`${w}${t}§`;u=u.replace(n,`<code${s("code")}${c("`")}>${e}</code>`)})),u.trim()}function x(e,t){return[[/\*\*(.+?)\*\*/g,"strong"],[/__(.+?)__/g,"strong"],[/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,"em"],[/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,"em"],[/~~(.+?)~~/g,"del"],[/`([^`]+)`/g,"code"]].forEach((([n,r])=>{e=e.replace(n,`<${r}${t(r)}>$1</${r}>`)})),e}function E(e,t){if(e.length<2)return null;let n=-1;for(let t=1;t<e.length;t++)if(/^\|?[\s\-:|]+\|?$/.test(e[t])&&e[t].includes("-")){n=t;break}if(-1===n)return null;const r=e.slice(0,n),a=e.slice(n+1),i=e[n].trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map((e=>{const t=e.trim();return t.startsWith(":")&&t.endsWith(":")?"center":t.endsWith(":")?"right":"left"}));let s=`<table${t("table")}>\n`;return s+=`<thead${t("thead")}>\n`,r.forEach((e=>{s+=`<tr${t("tr")}>\n`;e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").forEach(((e,n)=>{const r=i[n]&&"left"!==i[n]?`text-align:${i[n]}`:"",a=x(e.trim(),t);s+=`<th${t("th",r)}>${a}</th>\n`})),s+="</tr>\n"})),s+="</thead>\n",a.length>0&&(s+=`<tbody${t("tbody")}>\n`,a.forEach((e=>{s+=`<tr${t("tr")}>\n`;e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").forEach(((e,n)=>{const r=i[n]&&"left"!==i[n]?`text-align:${i[n]}`:"",a=x(e.trim(),t);s+=`<td${t("td",r)}>${a}</td>\n`})),s+="</tr>\n"})),s+="</tbody>\n"),s+="</table>",s}function O(e,t={}){return S(e,{...t,bidirectional:!0})}S.emitStyles=function(e="quikdown-",t="light"){const n=A,r={"#f4f4f4":"#2a2a2a","#f0f0f0":"#2a2a2a","#f2f2f2":"#2a2a2a","#ddd":"#3a3a3a","#06c":"#6db3f2",_textColor:"#e0e0e0"},a={_textColor:"#333"};let i="";for(const[s,o]of Object.entries(n)){let n=o;if("dark"===t&&r){for(const[e,t]of Object.entries(r))e.startsWith("_")||(n=n.replace(new RegExp(e,"g"),t));["h1","h2","h3","h4","h5","h6","td","li","blockquote"].includes(s)&&(n+=`;color:${r._textColor}`)}else if("light"===t&&a){["h1","h2","h3","h4","h5","h6","td","li","blockquote"].includes(s)&&(n+=`;color:${a._textColor}`)}i+=`.${e}${s} { ${n} }\n`}return i},S.configure=function(e){return function(t){return S(t,e)}},S.version="1.1.1","undefined"!=typeof module&&module.exports&&(module.exports=S),"undefined"!=typeof window&&(window.quikdown=S),Object.keys(S).forEach((e=>{O[e]=S[e]})),O.toMarkdown=function(e,t={}){let n;if("string"==typeof e)n=document.createElement("div"),n.innerHTML=e;else{if(!(e instanceof Element))return"";n=e}function r(e,n={}){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return"";const i=e.tagName.toLowerCase(),s=e.getAttribute("data-qd");let o="";for(let t of e.childNodes)o+=r(t,{parentTag:i,...n});switch(i){case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":const n=parseInt(i[1]);return`${s||"#".repeat(n)} ${o.trim()}\n\n`;case"strong":case"b":if(!o)return"";const r=s||"**";return`${r}${o}${r}`;case"em":case"i":if(!o)return"";const c=s||"*";return`${c}${o}${c}`;case"del":case"s":case"strike":if(!o)return"";const l=s||"~~";return`${l}${o}${l}`;case"code":if(!o)return"";const u=s||"`";return`${u}${o}${u}`;case"pre":const d=e.getAttribute("data-qd-fence")||s||"```",h=e.getAttribute("data-qd-lang")||"";if(t.fence_plugin&&t.fence_plugin.reverse&&h)try{const n=t.fence_plugin.reverse(e);if(n&&n.content){const e=n.fence||d;return`${e}${n.lang||h}\n${n.content}\n${e}\n\n`}}catch(e){console.warn("Fence reverse handler error:",e)}const g=e.getAttribute("data-qd-source");if(g)return`${d}${h}\n${g}\n${d}\n\n`;const p=e.querySelector("code");return`${d}${h}\n${(p?p.textContent:o).trimEnd()}\n${d}\n\n`;case"blockquote":const f=s||">";return o.trim().split("\n").map((e=>`${f} ${e}`)).join("\n")+"\n\n";case"hr":return`${s||"---"}\n\n`;case"br":return`${s||" "}\n`;case"a":const m=e.getAttribute("data-qd-text")||o.trim(),y=e.getAttribute("href")||"";return m!==y||s?`[${m}](${y})`:`<${y}>`;case"img":return`${s||"!"}[${e.getAttribute("data-qd-alt")||e.getAttribute("alt")||""}](${e.getAttribute("data-qd-src")||e.getAttribute("src")||""})`;case"ul":case"ol":return a(e,"ol"===i)+"\n";case"li":case"span":default:return o;case"table":return function(e){let t="";const n=e.getAttribute("data-qd-align"),r=n?n.split(","):[],a=e.querySelector("thead");if(a){const e=a.querySelector("tr");if(e){const n=[];for(let t of e.querySelectorAll("th"))n.push(t.textContent.trim());t+="| "+n.join(" | ")+" |\n";t+="| "+n.map(((e,t)=>{const n=r[t]||"left";return"center"===n?":---:":"right"===n?"---:":"---"})).join(" | ")+" |\n"}}const i=e.querySelector("tbody");if(i)for(let e of i.querySelectorAll("tr")){const n=[];for(let t of e.querySelectorAll("td"))n.push(t.textContent.trim());n.length>0&&(t+="| "+n.join(" | ")+" |\n")}return t.trim()}(e)+"\n\n";case"p":if(o.trim()){const e=o.split("\n");let t=o.trim();if(e.length>1){let n=0;for(let t=e.length-1;t>=0&&""===e[t].trim();t--)n++;if(n>0)return t+="\n ",t+"\n"}return t+"\n\n"}return"";case"div":const v=e.getAttribute("data-qd-lang"),b=e.getAttribute("data-qd-fence");if(v&&t.fence_plugin&&t.fence_plugin.reverse)try{const n=t.fence_plugin.reverse(e);if(n&&n.content){const e=n.fence||b||"```";return`${e}${n.lang||v}\n${n.content}\n${e}\n\n`}}catch(e){console.warn("Fence reverse handler error:",e)}const k=e.getAttribute("data-qd-source");if(k&&b)return`${b}${v||""}\n${k}\n${b}\n\n`;if(e.classList&&e.classList.contains("mermaid-container")){const t=e.getAttribute("data-qd-fence")||"```",n=e.getAttribute("data-qd-lang")||"mermaid",r=e.getAttribute("data-qd-source");if(r){const e=document.createElement("textarea");e.innerHTML=r;return`${t}${n}\n${e.value}\n${t}\n\n`}const a=e.querySelector("pre.mermaid");if(a){const e=a.getAttribute("data-qd-source");if(e){const r=document.createElement("textarea");r.innerHTML=e;return`${t}${n}\n${r.value}\n${t}\n\n`}}const i=e.querySelector(".mermaid-source");if(i){const e=document.createElement("div");e.innerHTML=i.innerHTML;return`${t}${n}\n${e.textContent}\n${t}\n\n`}const s=e.querySelector(".mermaid");if(s&&s.textContent.includes("graph"))return`${t}${n}\n${s.textContent.trim()}\n${t}\n\n`}if(e.classList&&e.classList.contains("mermaid")){const t=e.getAttribute("data-qd-fence")||"```";return`${t}${e.getAttribute("data-qd-lang")||"mermaid"}\n${e.textContent.trim()}\n${t}\n\n`}return o}}function a(e,t,n=0){let i="",s=1;const o=" ".repeat(n);for(let c of e.children){if("LI"!==c.tagName)continue;let e=c.getAttribute("data-qd")||(t?`${s}.`:"-");const l=c.querySelector('input[type="checkbox"]');if(l){const t=l.checked?"x":" ";e="-";let n="";for(let e of c.childNodes)e.nodeType===Node.TEXT_NODE?n+=e.textContent:e.tagName&&"INPUT"!==e.tagName&&(n+=r(e));i+=`${o}${e} [${t}] ${n.trim()}\n`}else{let t="";for(let e of c.childNodes)"UL"===e.tagName||"OL"===e.tagName?t+=a(e,"OL"===e.tagName,n+1):t+=r(e);i+=`${o}${e} ${t.trim()}\n`}s++}return i}let i=r(n);return i=i.replace(/\n{3,}/g,"\n\n"),i=i.trim(),i},O.configure=function(e){return function(t){return O(t,e)}},"undefined"!=typeof module&&module.exports&&(module.exports=O),"undefined"!=typeof window&&(window.quikdown_bd=O);var j={hljs:"https://unpkg.com/@highlightjs/cdn-assets/highlight.min.js",hljsCSS:"https://unpkg.com/@highlightjs/cdn-assets/styles/github.min.css",mathjax:"https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-svg.js",mermaid:"https://unpkg.com/mermaid/dist/mermaid.min.js",leaflet:"https://unpkg.com/leaflet@1.9.4/dist/leaflet.js",leafletCSS:"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",dompurify:"https://unpkg.com/dompurify/dist/purify.min.js"},T={};function L(e){return T[e]||(T[e]=new Promise((function(t,n){var r=document.createElement("script");r.src=e,r.onload=function(){return t(!0)},r.onerror=function(){T[e]=null,n(new Error("Failed to load: "+e))},document.head.appendChild(r)}))),T[e]}function C(e){return T[e]||(T[e]=new Promise((function(t){var n=document.createElement("link");n.rel="stylesheet",n.href=e,n.onload=function(){return t(!0)},document.head.appendChild(n),setTimeout(t,1e3)}))),T[e]}function M(e){return N.apply(this,arguments)}function N(){var e;return e=g().m((function e(t){var n,r,a,i,o,c,l,u,d,h,p,f,m,v,b,k,$,_,w,q,A,S,x,E,O,T,M,N,P,D,H,B,W;return g().w((function(e){for(;;)switch(e.p=e.n){case 0:if(t){e.n=1;break}return e.a(2);case 1:if(!((n=t.querySelectorAll('pre.quikdown-pre code[class*="language-"]')).length>0)){e.n=6;break}if(r=new Set,n.forEach((function(e){var t=e.className.match(/language-(\S+)/);t&&r.add(t[1])})),a=new Set(["svg","html","math","tex","latex","katex","mermaid","geojson","csv","tsv","psv","json","json5","stl"]),!y(r).some((function(e){return!a.has(e)}))||window.hljs){e.n=5;break}return e.p=2,e.n=3,Promise.all([L(j.hljs),C(j.hljsCSS)]);case 3:e.n=5;break;case 4:e.p=4,e.v;case 5:window.hljs&&n.forEach((function(e){var t=e.className.match(/language-(\S+)/);!t||a.has(t[1])||e.classList.contains("hljs")||window.hljs.highlightElement(e)}));case 6:t.querySelectorAll('pre.quikdown-pre[data-qd-lang="svg"], pre.quikdown-pre code.language-svg').forEach((function(e){var t=e.closest("pre")||e,n=(t.querySelector("code")||t).textContent;try{var r=(new DOMParser).parseFromString(n,"image/svg+xml");if(!r.querySelector("parsererror")){var a=r.documentElement;a.querySelectorAll("script").forEach((function(e){return e.remove()}));for(var i=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT),s=i.nextNode();s;){for(var o=s.attributes.length-1;o>=0;o--){var c=s.attributes[o];(c.name.startsWith("on")||c.value.includes("javascript:"))&&s.removeAttribute(c.name)}s=i.nextNode()}var l=document.createElement("div");l.className="qde-svg-container",l.innerHTML=(new XMLSerializer).serializeToString(a),t.replaceWith(l)}}catch(e){}})),i=t.querySelectorAll("pre.quikdown-pre code.language-html"),o=s(i),e.p=7,o.s();case 8:if((c=o.n()).done){e.n=16;break}if(l=c.value,u=l.closest("pre")){e.n=9;break}return e.a(3,15);case 9:if(!(d=l.textContent).match(/<(!DOCTYPE|html|head|body)/i)){e.n=10;break}return e.a(3,15);case 10:if(window.DOMPurify){e.n=14;break}return e.p=11,e.n=12,L(j.dompurify);case 12:e.n=14;break;case 13:return e.p=13,e.v,e.a(3,15);case 14:window.DOMPurify&&((h=document.createElement("div")).className="qde-html-container",h.innerHTML=window.DOMPurify.sanitize(d),u.replaceWith(h));case 15:e.n=8;break;case 16:e.n=18;break;case 17:e.p=17,H=e.v,o.e(H);case 18:return e.p=18,o.f(),e.f(18);case 19:if(p=t.querySelectorAll("pre.quikdown-pre code.language-math, pre.quikdown-pre code.language-tex, pre.quikdown-pre code.language-latex, pre.quikdown-pre code.language-katex"),f=t.innerHTML.match(/\$\$[\s\S]+?\$\$|\$[^$\n]+?\$/),!(p.length>0||f)){e.n=28;break}if(window.MathJax&&window.MathJax.typesetPromise){e.n=24;break}if(window.mathJaxLoading){e.n=24;break}return window.mathJaxLoading=!0,window.MathJax={loader:{load:["input/tex","output/svg"]},tex:{inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],processEscapes:!0,processEnvironments:!0},options:{renderActions:{addMenu:[]}},svg:{fontCache:"none"},startup:{typeset:!1}},e.p=20,e.n=21,L(j.mathjax);case 21:e.n=23;break;case 22:e.p=22,e.v;case 23:window.mathJaxLoading=!1;case 24:if(p.forEach((function(e){var t=e.closest("pre");if(t){var n=document.createElement("div");n.className="math-display",n.textContent="$$"+e.textContent+"$$",t.replaceWith(n)}})),!window.MathJax||!window.MathJax.typesetPromise){e.n=28;break}return e.p=25,e.n=26,window.MathJax.typesetPromise([t]);case 26:e.n=28;break;case 27:e.p=27,e.v;case 28:if(!((m=t.querySelectorAll("pre.quikdown-pre code.language-mermaid")).length>0)){e.n=43;break}if(window.mermaid){e.n=32;break}return e.p=29,e.n=30,L(j.mermaid);case 30:window.mermaid&&window.mermaid.initialize({startOnLoad:!1,theme:"default"}),e.n=32;break;case 31:e.p=31,e.v;case 32:if(!window.mermaid){e.n=43;break}v=s(m),e.p=33,v.s();case 34:if((b=v.n()).done){e.n=40;break}if(k=b.value,$=k.closest("pre")){e.n=35;break}return e.a(3,39);case 35:return(_=document.createElement("div")).className="qde-mermaid-container",w="mermaid-"+Math.random().toString(36).substring(2,9),e.p=36,e.n=37,window.mermaid.render(w,k.textContent);case 37:q=e.v,A=q.svg,_.innerHTML=A,$.replaceWith(_),e.n=39;break;case 38:e.p=38,e.v;case 39:e.n=34;break;case 40:e.n=42;break;case 41:e.p=41,B=e.v,v.e(B);case 42:return e.p=42,v.f(),e.f(42);case 43:if(!((S=t.querySelectorAll("pre.quikdown-pre code.language-geojson")).length>0)){e.n=55;break}if(window.L){e.n=47;break}return e.p=44,e.n=45,Promise.all([L(j.leaflet),C(j.leafletCSS)]);case 45:e.n=47;break;case 46:e.p=46,e.v;case 47:if(!window.L){e.n=55;break}x=s(S),e.p=48,x.s();case 49:if((E=x.n()).done){e.n=52;break}if(O=E.value,T=O.closest("pre")){e.n=50;break}return e.a(3,51);case 50:try{M=JSON.parse(O.textContent),(N=document.createElement("div")).className="qde-geojson-container",N.style.cssText="height: 300px; width: 100%; border-radius: 4px;",T.replaceWith(N),P=window.L.map(N),window.L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:"© OpenStreetMap"}).addTo(P),D=window.L.geoJSON(M).addTo(P),P.fitBounds(D.getBounds())}catch(e){}case 51:e.n=49;break;case 52:e.n=54;break;case 53:e.p=53,W=e.v,x.e(W);case 54:return e.p=54,x.f(),e.f(54);case 55:t.querySelectorAll("pre.quikdown-pre code.language-csv, pre.quikdown-pre code.language-tsv, pre.quikdown-pre code.language-psv").forEach((function(e){var t=e.closest("pre");if(t){var n=e.className.match(/language-(csv|tsv|psv)/);if(n){var r={csv:",",tsv:"\t",psv:"|"}[n[1]],a=e.textContent.trim().split("\n");if(!(a.length<2))try{var i=document.createElement("table");i.className="quikdown-table",a.forEach((function(e,t){var n=document.createElement("tr");e.split(r).map((function(e){return e.trim()})).forEach((function(e){var r=document.createElement(0===t?"th":"td");r.className=0===t?"quikdown-th":"quikdown-td",r.textContent=e,n.appendChild(r)})),i.appendChild(n)})),t.replaceWith(i)}catch(e){}}}})),t.querySelectorAll("pre.quikdown-pre code.language-json, pre.quikdown-pre code.language-json5").forEach((function(e){try{var t=JSON.parse(e.textContent);e.textContent=JSON.stringify(t,null,2),window.hljs&&window.hljs.getLanguage("json")&&window.hljs.highlightElement(e)}catch(e){}}));case 56:return e.a(2)}}),e,null,[[48,53,54,55],[44,46],[36,38],[33,41,42,43],[29,31],[25,27],[20,22],[11,13],[7,17,18,19],[2,4]])})),N=function(){var n=this,r=arguments;return new Promise((function(a,i){var s=e.apply(n,r);function o(e){t(s,a,i,o,c,"next",e)}function c(e){t(s,a,i,o,c,"throw",e)}o(void 0)}))},N.apply(this,arguments)}var P=function(e){function t(e,a){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r(this,t),i.messageFormatter||(i.messageFormatter=function(e){return O(e)}),n(this,t,[e,a,i])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(t,e),i(t,[{key:"messageAddNew",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"user",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"right",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"user",i=m(t,"messageAddNew",this,3)([e,n,r,a]),s=this.messageGetDOMObject(i);return s&&M(s.querySelector(".quikchat-message-content")),i}},{key:"messageAddFull",value:function(e){var n=m(t,"messageAddFull",this,3)([e]),r=this.messageGetDOMObject(n);return r&&M(r.querySelector(".quikchat-message-content")),n}},{key:"messageAppendContent",value:function(e,n){var r=m(t,"messageAppendContent",this,3)([e,n]);if(r){var a=this.messageGetDOMObject(e);a&&M(a.querySelector(".quikchat-message-content"))}return r}},{key:"messageReplaceContent",value:function(e,n){var r=m(t,"messageReplaceContent",this,3)([e,n]);if(r){var a=this.messageGetDOMObject(e);a&&M(a.querySelector(".quikchat-message-content"))}return r}},{key:"destroy",value:function(){}}])}(k);return P.quikdown=O,P.postProcessMessage=M,P}));
|
|
9
|
+
*/function $(e){if(e.length<3)return!1;for(let t=0;t<e.length;t++){const n=e[t];if("-"!==n){if(" "===n||"\t"===n){for(let n=t+1;n<e.length;n++)if(" "!==e[n]&&"\t"!==e[n])return!1;return t>=3}return!1}}return!0}const _="quikdown-",w="§CB",q="§IC",A={"&":"&","<":"<",">":">",'"':""","'":"'"},S={h1:"font-size:2em;font-weight:600;margin:.67em 0;text-align:left",h2:"font-size:1.5em;font-weight:600;margin:.83em 0",h3:"font-size:1.25em;font-weight:600;margin:1em 0",h4:"font-size:1em;font-weight:600;margin:1.33em 0",h5:"font-size:.875em;font-weight:600;margin:1.67em 0",h6:"font-size:.85em;font-weight:600;margin:2em 0",pre:"background:#f4f4f4;padding:10px;border-radius:4px;overflow-x:auto;margin:1em 0",code:"background:#f0f0f0;padding:2px 4px;border-radius:3px;font-family:monospace",blockquote:"border-left:4px solid #ddd;margin-left:0;padding-left:1em",table:"border-collapse:collapse;width:100%;margin:1em 0",th:"border:1px solid #ddd;padding:8px;background-color:#f2f2f2;font-weight:bold;text-align:left",td:"border:1px solid #ddd;padding:8px;text-align:left",hr:"border:none;border-top:1px solid #ddd;margin:1em 0",img:"max-width:100%;height:auto",a:"color:#06c;text-decoration:underline",strong:"font-weight:bold",em:"font-style:italic",del:"text-decoration:line-through",ul:"margin:.5em 0;padding-left:2em",ol:"margin:.5em 0;padding-left:2em",li:"margin:.25em 0","task-item":"list-style:none","task-checkbox":"margin-right:.5em"};function x(e,t={}){if(!e||"string"!=typeof e)return"";const{fence_plugin:n,inline_styles:r=!1,bidirectional:a=!1,lazy_linefeeds:i=!1,allow_unsafe_html:s=!1}=t,o=function(e,t){return function(n,r=""){if(e){let e=t[n];return e||r?(r&&r.includes("text-align")&&e&&e.includes("text-align")&&(e=e.replace(/text-align:[^;]+;?/,"").trim(),e&&!e.endsWith(";")&&(e+=";")),` style="${r?e?`${e}${r}`:r:e}"`):""}{const e=` class="${_}${n}"`;return r?`${e} style="${r}"`:e}}}(r,S);function c(e){return e.replace(/[&<>"']/g,(e=>A[e]))}const l=a?e=>` data-qd="${c(e)}"`:()=>"";function u(e,t=!1){if(!e)return"";if(t)return e;const n=e.trim(),r=n.toLowerCase(),a=["javascript:","vbscript:","data:"];for(const e of a)if(r.startsWith(e))return"data:"===e&&r.startsWith("data:image/")?n:"#";return n}let d=e;const h=[],g=[];d=d.replace(/^(```|~~~)([^\n]*)\n([\s\S]*?)^\1$/gm,((e,t,r,a)=>{const i=`${w}${h.length}§`,s=r?r.trim():"";return n&&n.render&&"function"==typeof n.render?h.push({lang:s,code:a.trimEnd(),custom:!0,fence:t,hasReverse:!!n.reverse}):h.push({lang:s,code:c(a.trimEnd()),custom:!1,fence:t}),i})),d=d.replace(/`([^`]+)`/g,((e,t)=>{const n=`${q}${g.length}§`;return g.push(c(t)),n})),s||(d=c(d)),d=function(e,t){const n=e.split("\n"),r=[];let a=!1,i=[];for(let e=0;e<n.length;e++){const s=n[e].trim();if(s.includes("|")&&(s.startsWith("|")||/[^\\|]/.test(s)))a||(a=!0,i=[]),i.push(s);else{if(a){const e=O(i,t);e?r.push(e):r.push(...i),a=!1,i=[]}r.push(n[e])}}if(a&&i.length>0){const e=O(i,t);e?r.push(e):r.push(...i)}return r.join("\n")}(d,o),d=function(e,t,n){const r=e.split("\n"),a=[];let i=0;for(;i<r.length;){const e=r[i];let s=0;for(;s<e.length&&s<7&&"#"===e[s];)s++;if(s>=1&&s<=6&&" "===e[s]){const r=e.slice(s+1).replace(/\s*#+\s*$/,""),o="h"+s;a.push(`<${o}${t(o)}${n("#".repeat(s))}>${r}</${o}>`),i++}else $(e)?(a.push(`<hr${t("hr")}>`),i++):/^>\s+/.test(e)?(a.push(`<blockquote${t("blockquote")}>${e.replace(/^>\s+/,"")}</blockquote>`),i++):(a.push(e),i++)}let s=a.join("\n");return s=s.replace(/<\/blockquote>\n<blockquote>/g,"\n"),s}(d,o,l),d=function(e,t,n,r){const a=e.split("\n"),i=[],s=[],o=e=>e.replace(/[&<>"']/g,(e=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[e]))),c=r?e=>` data-qd="${o(e)}"`:()=>"";for(let e=0;e<a.length;e++){const r=a[e],o=r.match(/^(\s*)([*\-+]|\d+\.)\s+(.+)$/);if(o){const[,e,r,a]=o,l=Math.floor(e.length/2),u=/^\d+\./.test(r),d=u?"ol":"ul";let h=a,g="";const p=a.match(/^\[([x ])\]\s+(.*)$/i);if(p&&!u){const[,e,t]=p,r="x"===e.toLowerCase();h=`<input type="checkbox"${n?' style="margin-right:.5em"':` class="${_}task-checkbox"`}${r?" checked":""} disabled> ${t}`,g=n?' style="list-style:none"':` class="${_}task-item"`}for(;s.length>l+1;){const e=s.pop();i.push(`</${e.type}>`)}if(s.length===l)s.push({type:d,level:l}),i.push(`<${d}${t(d)}>`);else if(s.length===l+1){const e=s[s.length-1];e.type!==d&&(i.push(`</${e.type}>`),s.pop(),s.push({type:d,level:l}),i.push(`<${d}${t(d)}>`))}const f=g||t("li");i.push(`<li${f}${c(r)}>${h}</li>`)}else{for(;s.length>0;){const e=s.pop();i.push(`</${e.type}>`)}i.push(r)}}for(;s.length>0;){const e=s.pop();i.push(`</${e.type}>`)}return i.join("\n")}(d,o,r,a),d=d.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,((e,n,r)=>{const i=u(r,t.allow_unsafe_urls),s=a&&n?` data-qd-alt="${c(n)}"`:"",d=a?` data-qd-src="${c(r)}"`:"";return`<img${o("img")} src="${i}" alt="${n}"${s}${d}${l("!")}>`})),d=d.replace(/\[([^\]]+)\]\(([^)]+)\)/g,((e,n,r)=>{const i=u(r,t.allow_unsafe_urls),s=/^https?:\/\//i.test(i)?' rel="noopener noreferrer"':"",d=a?` data-qd-text="${c(n)}"`:"";return`<a${o("a")} href="${i}"${s}${d}${l("[")}>${n}</a>`})),d=d.replace(/(^|\s)(https?:\/\/[^\s<]+)/g,((e,n,r)=>{const a=u(r,t.allow_unsafe_urls);return`${n}<a${o("a")} href="${a}" rel="noopener noreferrer">${r}</a>`}));const p=[];d=d.replace(/<[^>]+>/g,(e=>(p.push(e),`%%T${p.length-1}%%`)));if([[/\*\*(.+?)\*\*/g,"strong","**"],[/__(.+?)__/g,"strong","__"],[/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,"em","*"],[/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,"em","_"],[/~~(.+?)~~/g,"del","~~"]].forEach((([e,t,n])=>{d=d.replace(e,`<${t}${o(t)}${l(n)}>$1</${t}>`)})),d=d.replace(/%%T(\d+)%%/g,((e,t)=>p[t])),i){const e=[];let t=0;d=d.replace(/<(table|[uo]l)[^>]*>[\s\S]*?<\/\1>/g,(n=>(e[t]=n,`§B${t++}§`))),d=d.replace(/\n\n+/g,"§P§").replace(/(<\/(?:h[1-6]|blockquote|pre)>)\n/g,"$1§N§").replace(/(<(?:h[1-6]|blockquote|pre|hr)[^>]*>)\n/g,"$1§N§").replace(/\n(<(?:h[1-6]|blockquote|pre|hr)[^>]*>)/g,"§N§$1").replace(/\n(§B\d+§)/g,"§N§$1").replace(/(§B\d+§)\n/g,"$1§N§").replace(/\n/g,`<br${o("br")}>`).replace(/§N§/g,"\n").replace(/§P§/g,"</p><p>"),e.forEach(((e,t)=>d=d.replace(`§B${t}§`,e))),d="<p>"+d+"</p>"}else d=d.replace(/ {2}$/gm,`<br${o("br")}>`),d=d.replace(/\n\n+/g,((e,t)=>d.substring(0,t).match(/<\/(h[1-6]|blockquote|ul|ol|table|pre|hr)>$/)?"<p>":"</p><p>")),d="<p>"+d+"</p>";return[[/<p><\/p>/g,""],[/<p>(<h[1-6][^>]*>)/g,"$1"],[/(<\/h[1-6]>)<\/p>/g,"$1"],[/<p>(<blockquote[^>]*>)/g,"$1"],[/(<\/blockquote>)<\/p>/g,"$1"],[/<p>(<ul[^>]*>|<ol[^>]*>)/g,"$1"],[/(<\/ul>|<\/ol>)<\/p>/g,"$1"],[/<p>(<hr[^>]*>)<\/p>/g,"$1"],[/<p>(<table[^>]*>)/g,"$1"],[/(<\/table>)<\/p>/g,"$1"],[/<p>(<pre[^>]*>)/g,"$1"],[/(<\/pre>)<\/p>/g,"$1"],[new RegExp(`<p>(${w}\\d+§)</p>`,"g"),"$1"]].forEach((([e,t])=>{d=d.replace(e,t)})),d=d.replace(/(<\/(?:h[1-6]|blockquote|ul|ol|table|pre|hr)>)\n([^<])/g,"$1\n<p>$2"),h.forEach(((e,t)=>{let i;if(e.custom&&n&&n.render)if(i=n.render(e.code,e.lang),void 0===i){const t=!r&&e.lang?` class="language-${e.lang}"`:"",n=r?o("code"):t,s=a&&e.lang?` data-qd-lang="${c(e.lang)}"`:"",l=a?` data-qd-fence="${c(e.fence)}"`:"";i=`<pre${o("pre")}${l}${s}><code${n}>${c(e.code)}</code></pre>`}else a&&(i=i.replace(/^<(\w+)/,`<$1 data-qd-fence="${c(e.fence)}" data-qd-lang="${c(e.lang)}" data-qd-source="${c(e.code)}"`));else{const t=!r&&e.lang?` class="language-${e.lang}"`:"",n=r?o("code"):t,s=a&&e.lang?` data-qd-lang="${c(e.lang)}"`:"",l=a?` data-qd-fence="${c(e.fence)}"`:"";i=`<pre${o("pre")}${l}${s}><code${n}>${e.code}</code></pre>`}const s=`${w}${t}§`;d=d.replace(s,i)})),g.forEach(((e,t)=>{const n=`${q}${t}§`;d=d.replace(n,`<code${o("code")}${l("`")}>${e}</code>`)})),d.trim()}function E(e,t){return[[/\*\*(.+?)\*\*/g,"strong"],[/__(.+?)__/g,"strong"],[/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,"em"],[/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,"em"],[/~~(.+?)~~/g,"del"],[/`([^`]+)`/g,"code"]].forEach((([n,r])=>{e=e.replace(n,`<${r}${t(r)}>$1</${r}>`)})),e}function O(e,t){if(e.length<2)return null;let n=-1;for(let t=1;t<e.length;t++)if(/^\|?[\s\-:|]+\|?$/.test(e[t])&&e[t].includes("-")){n=t;break}if(-1===n)return null;const r=e.slice(0,n),a=e.slice(n+1),i=e[n].trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map((e=>{const t=e.trim();return t.startsWith(":")&&t.endsWith(":")?"center":t.endsWith(":")?"right":"left"}));let s=`<table${t("table")}>\n`;return s+=`<thead${t("thead")}>\n`,r.forEach((e=>{s+=`<tr${t("tr")}>\n`;e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").forEach(((e,n)=>{const r=i[n]&&"left"!==i[n]?`text-align:${i[n]}`:"",a=E(e.trim(),t);s+=`<th${t("th",r)}>${a}</th>\n`})),s+="</tr>\n"})),s+="</thead>\n",a.length>0&&(s+=`<tbody${t("tbody")}>\n`,a.forEach((e=>{s+=`<tr${t("tr")}>\n`;e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").forEach(((e,n)=>{const r=i[n]&&"left"!==i[n]?`text-align:${i[n]}`:"",a=E(e.trim(),t);s+=`<td${t("td",r)}>${a}</td>\n`})),s+="</tr>\n"})),s+="</tbody>\n"),s+="</table>",s}function j(e,t={}){return x(e,{...t,bidirectional:!0})}x.emitStyles=function(e="quikdown-",t="light"){const n=S,r={"#f4f4f4":"#2a2a2a","#f0f0f0":"#2a2a2a","#f2f2f2":"#2a2a2a","#ddd":"#3a3a3a","#06c":"#6db3f2",_textColor:"#e0e0e0"},a={_textColor:"#333"};let i="";for(const[s,o]of Object.entries(n)){let n=o;if("dark"===t&&r){for(const[e,t]of Object.entries(r))e.startsWith("_")||(n=n.replaceAll(e,t));["h1","h2","h3","h4","h5","h6","td","li","blockquote"].includes(s)&&(n+=`;color:${r._textColor}`)}else if("light"===t&&a){["h1","h2","h3","h4","h5","h6","td","li","blockquote"].includes(s)&&(n+=`;color:${a._textColor}`)}i+=`.${e}${s} { ${n} }\n`}return i},x.configure=function(e){return function(t){return x(t,e)}},x.version="1.2.10","undefined"!=typeof module&&module.exports&&(module.exports=x),"undefined"!=typeof window&&(window.quikdown=x),Object.keys(x).forEach((e=>{"configure"!==e&&(j[e]=x[e])})),j.toMarkdown=function(e,t={}){let n;if("string"==typeof e)n=document.createElement("div"),n.innerHTML=e;else{if(!(e instanceof Element))return"";n=e}function r(e,n={}){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return"";const i=e.tagName.toLowerCase(),s=e.getAttribute("data-qd");let o="";for(const t of e.childNodes)o+=r(t,{parentTag:i,...n});switch(i){case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":const n=parseInt(i[1]);return`${s||"#".repeat(n)} ${o.trim()}\n\n`;case"strong":case"b":if(!o)return"";const r=s||"**";return`${r}${o}${r}`;case"em":case"i":if(!o)return"";const c=s||"*";return`${c}${o}${c}`;case"del":case"s":case"strike":if(!o)return"";const l=s||"~~";return`${l}${o}${l}`;case"code":if(!o)return"";const u=s||"`";return`${u}${o}${u}`;case"pre":const d=e.getAttribute("data-qd-fence")||s||"```",h=e.getAttribute("data-qd-lang")||"";if(t.fence_plugin&&t.fence_plugin.reverse&&h)try{const n=t.fence_plugin.reverse(e);if(n&&n.content){const e=n.fence||d;return`${e}${n.lang||h}\n${n.content}\n${e}\n\n`}}catch(e){console.warn("Fence reverse handler error:",e)}const g=e.getAttribute("data-qd-source");if(g)return`${d}${h}\n${g}\n${d}\n\n`;const p=e.querySelector("code");return`${d}${h}\n${(p?p.textContent:o).trimEnd()}\n${d}\n\n`;case"blockquote":const f=s||">";return o.trim().split("\n").map((e=>`${f} ${e}`)).join("\n")+"\n\n";case"hr":return`${s||"---"}\n\n`;case"br":return`${s||" "}\n`;case"a":const m=e.getAttribute("data-qd-text")||o.trim(),y=e.getAttribute("href")||"";return m!==y||s?`[${m}](${y})`:`<${y}>`;case"img":return`${s||"!"}[${e.getAttribute("data-qd-alt")||e.getAttribute("alt")||""}](${e.getAttribute("data-qd-src")||e.getAttribute("src")||""})`;case"ul":case"ol":return a(e,"ol"===i)+"\n";case"li":case"span":default:return o;case"table":return function(e){let t="";const n=e.getAttribute("data-qd-align"),r=n?n.split(","):[],a=e.querySelector("thead");if(a){const e=a.querySelector("tr");if(e){const n=[];for(const t of e.querySelectorAll("th"))n.push(t.textContent.trim());t+="| "+n.join(" | ")+" |\n";t+="| "+n.map(((e,t)=>{const n=r[t]||"left";return"center"===n?":---:":"right"===n?"---:":"---"})).join(" | ")+" |\n"}}const i=e.querySelector("tbody");if(i)for(const e of i.querySelectorAll("tr")){const n=[];for(const t of e.querySelectorAll("td"))n.push(t.textContent.trim());n.length>0&&(t+="| "+n.join(" | ")+" |\n")}return t.trim()}(e)+"\n\n";case"p":if(o.trim()){const e=o.split("\n");let t=o.trim();if(e.length>1){let n=0;for(let t=e.length-1;t>=0&&""===e[t].trim();t--)n++;if(n>0)return t+="\n ",t+"\n"}return t+"\n\n"}return"";case"div":const v=e.getAttribute("data-qd-lang"),b=e.getAttribute("data-qd-fence");if(v&&t.fence_plugin&&t.fence_plugin.reverse)try{const n=t.fence_plugin.reverse(e);if(n&&n.content){const e=n.fence||b||"```";return`${e}${n.lang||v}\n${n.content}\n${e}\n\n`}}catch(e){console.warn("Fence reverse handler error:",e)}const k=e.getAttribute("data-qd-source");if(k&&b)return`${b}${v||""}\n${k}\n${b}\n\n`;if(e.classList&&e.classList.contains("mermaid-container")){const t=e.getAttribute("data-qd-fence")||"```",n=e.getAttribute("data-qd-lang")||"mermaid",r=e.getAttribute("data-qd-source");if(r){const e=document.createElement("textarea");e.innerHTML=r;return`${t}${n}\n${e.value}\n${t}\n\n`}const a=e.querySelector("pre.mermaid");if(a){const e=a.getAttribute("data-qd-source");if(e){const r=document.createElement("textarea");r.innerHTML=e;return`${t}${n}\n${r.value}\n${t}\n\n`}}const i=e.querySelector(".mermaid-source");if(i){const e=document.createElement("div");e.innerHTML=i.innerHTML;return`${t}${n}\n${e.textContent}\n${t}\n\n`}const s=e.querySelector(".mermaid");if(s&&s.textContent.includes("graph"))return`${t}${n}\n${s.textContent.trim()}\n${t}\n\n`}if(e.classList&&e.classList.contains("mermaid")){const t=e.getAttribute("data-qd-fence")||"```";return`${t}${e.getAttribute("data-qd-lang")||"mermaid"}\n${e.textContent.trim()}\n${t}\n\n`}return o}}function a(e,t,n=0){let i="",s=1;const o=" ".repeat(n);for(const c of e.children){if("LI"!==c.tagName)continue;let e=c.getAttribute("data-qd")||(t?`${s}.`:"-");const l=c.querySelector('input[type="checkbox"]');if(l){const t=l.checked?"x":" ";e="-";let n="";for(const e of c.childNodes)e.nodeType===Node.TEXT_NODE?n+=e.textContent:e.tagName&&"INPUT"!==e.tagName&&(n+=r(e));i+=`${o}${e} [${t}] ${n.trim()}\n`}else{let t="";for(const e of c.childNodes)"UL"===e.tagName||"OL"===e.tagName?t+=a(e,"OL"===e.tagName,n+1):t+=r(e);i+=`${o}${e} ${t.trim()}\n`}s++}return i}let i=r(n);return i=i.replace(/\n{3,}/g,"\n\n"),i=i.trim(),i},j.configure=function(e){const t=x.configure({...e,bidirectional:!0});return function(e){return t(e)}},"undefined"!=typeof module&&module.exports&&(module.exports=j),"undefined"!=typeof window&&(window.quikdown_bd=j);var T={hljs:"https://unpkg.com/@highlightjs/cdn-assets/highlight.min.js",hljsCSS:"https://unpkg.com/@highlightjs/cdn-assets/styles/github.min.css",mathjax:"https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-svg.js",mermaid:"https://unpkg.com/mermaid/dist/mermaid.min.js",leaflet:"https://unpkg.com/leaflet@1.9.4/dist/leaflet.js",leafletCSS:"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",dompurify:"https://unpkg.com/dompurify/dist/purify.min.js"},L={};function C(e){return L[e]||(L[e]=new Promise((function(t,n){var r=document.createElement("script");r.src=e,r.onload=function(){return t(!0)},r.onerror=function(){L[e]=null,n(new Error("Failed to load: "+e))},document.head.appendChild(r)}))),L[e]}function M(e){return L[e]||(L[e]=new Promise((function(t){var n=document.createElement("link");n.rel="stylesheet",n.href=e,n.onload=function(){return t(!0)},document.head.appendChild(n),setTimeout(t,1e3)}))),L[e]}function N(e){return P.apply(this,arguments)}function P(){var e;return e=g().m((function e(t){var n,r,a,i,o,c,l,u,d,h,p,f,m,v,b,k,$,_,w,q,A,S,x,E,O,j,L,N,P,D,H,B,W;return g().w((function(e){for(;;)switch(e.p=e.n){case 0:if(t){e.n=1;break}return e.a(2);case 1:if(!((n=t.querySelectorAll('pre.quikdown-pre code[class*="language-"]')).length>0)){e.n=6;break}if(r=new Set,n.forEach((function(e){var t=e.className.match(/language-(\S+)/);t&&r.add(t[1])})),a=new Set(["svg","html","math","tex","latex","katex","mermaid","geojson","csv","tsv","psv","json","json5","stl"]),!y(r).some((function(e){return!a.has(e)}))||window.hljs){e.n=5;break}return e.p=2,e.n=3,Promise.all([C(T.hljs),M(T.hljsCSS)]);case 3:e.n=5;break;case 4:e.p=4,e.v;case 5:window.hljs&&n.forEach((function(e){var t=e.className.match(/language-(\S+)/);!t||a.has(t[1])||e.classList.contains("hljs")||window.hljs.highlightElement(e)}));case 6:t.querySelectorAll('pre.quikdown-pre[data-qd-lang="svg"], pre.quikdown-pre code.language-svg').forEach((function(e){var t=e.closest("pre")||e,n=(t.querySelector("code")||t).textContent;try{var r=(new DOMParser).parseFromString(n,"image/svg+xml");if(!r.querySelector("parsererror")){var a=r.documentElement;a.querySelectorAll("script").forEach((function(e){return e.remove()}));for(var i=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT),s=i.nextNode();s;){for(var o=s.attributes.length-1;o>=0;o--){var c=s.attributes[o];(c.name.startsWith("on")||c.value.includes("javascript:"))&&s.removeAttribute(c.name)}s=i.nextNode()}var l=document.createElement("div");l.className="qde-svg-container",l.innerHTML=(new XMLSerializer).serializeToString(a),t.replaceWith(l)}}catch(e){}})),i=t.querySelectorAll("pre.quikdown-pre code.language-html"),o=s(i),e.p=7,o.s();case 8:if((c=o.n()).done){e.n=16;break}if(l=c.value,u=l.closest("pre")){e.n=9;break}return e.a(3,15);case 9:if(!(d=l.textContent).match(/<(!DOCTYPE|html|head|body)/i)){e.n=10;break}return e.a(3,15);case 10:if(window.DOMPurify){e.n=14;break}return e.p=11,e.n=12,C(T.dompurify);case 12:e.n=14;break;case 13:return e.p=13,e.v,e.a(3,15);case 14:window.DOMPurify&&((h=document.createElement("div")).className="qde-html-container",h.innerHTML=window.DOMPurify.sanitize(d),u.replaceWith(h));case 15:e.n=8;break;case 16:e.n=18;break;case 17:e.p=17,H=e.v,o.e(H);case 18:return e.p=18,o.f(),e.f(18);case 19:if(p=t.querySelectorAll("pre.quikdown-pre code.language-math, pre.quikdown-pre code.language-tex, pre.quikdown-pre code.language-latex, pre.quikdown-pre code.language-katex"),f=t.innerHTML.match(/\$\$[\s\S]+?\$\$|\$[^$\n]+?\$/),!(p.length>0||f)){e.n=28;break}if(window.MathJax&&window.MathJax.typesetPromise){e.n=24;break}if(window.mathJaxLoading){e.n=24;break}return window.mathJaxLoading=!0,window.MathJax={loader:{load:["input/tex","output/svg"]},tex:{inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],processEscapes:!0,processEnvironments:!0},options:{renderActions:{addMenu:[]}},svg:{fontCache:"none"},startup:{typeset:!1}},e.p=20,e.n=21,C(T.mathjax);case 21:e.n=23;break;case 22:e.p=22,e.v;case 23:window.mathJaxLoading=!1;case 24:if(p.forEach((function(e){var t=e.closest("pre");if(t){var n=document.createElement("div");n.className="math-display",n.textContent="$$"+e.textContent+"$$",t.replaceWith(n)}})),!window.MathJax||!window.MathJax.typesetPromise){e.n=28;break}return e.p=25,e.n=26,window.MathJax.typesetPromise([t]);case 26:e.n=28;break;case 27:e.p=27,e.v;case 28:if(!((m=t.querySelectorAll("pre.quikdown-pre code.language-mermaid")).length>0)){e.n=43;break}if(window.mermaid){e.n=32;break}return e.p=29,e.n=30,C(T.mermaid);case 30:window.mermaid&&window.mermaid.initialize({startOnLoad:!1,theme:"default"}),e.n=32;break;case 31:e.p=31,e.v;case 32:if(!window.mermaid){e.n=43;break}v=s(m),e.p=33,v.s();case 34:if((b=v.n()).done){e.n=40;break}if(k=b.value,$=k.closest("pre")){e.n=35;break}return e.a(3,39);case 35:return(_=document.createElement("div")).className="qde-mermaid-container",w="mermaid-"+Math.random().toString(36).substring(2,9),e.p=36,e.n=37,window.mermaid.render(w,k.textContent);case 37:q=e.v,A=q.svg,_.innerHTML=A,$.replaceWith(_),e.n=39;break;case 38:e.p=38,e.v;case 39:e.n=34;break;case 40:e.n=42;break;case 41:e.p=41,B=e.v,v.e(B);case 42:return e.p=42,v.f(),e.f(42);case 43:if(!((S=t.querySelectorAll("pre.quikdown-pre code.language-geojson")).length>0)){e.n=55;break}if(window.L){e.n=47;break}return e.p=44,e.n=45,Promise.all([C(T.leaflet),M(T.leafletCSS)]);case 45:e.n=47;break;case 46:e.p=46,e.v;case 47:if(!window.L){e.n=55;break}x=s(S),e.p=48,x.s();case 49:if((E=x.n()).done){e.n=52;break}if(O=E.value,j=O.closest("pre")){e.n=50;break}return e.a(3,51);case 50:try{L=JSON.parse(O.textContent),(N=document.createElement("div")).className="qde-geojson-container",N.style.cssText="height: 300px; width: 100%; border-radius: 4px;",j.replaceWith(N),P=window.L.map(N),window.L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:"© OpenStreetMap"}).addTo(P),D=window.L.geoJSON(L).addTo(P),P.fitBounds(D.getBounds())}catch(e){}case 51:e.n=49;break;case 52:e.n=54;break;case 53:e.p=53,W=e.v,x.e(W);case 54:return e.p=54,x.f(),e.f(54);case 55:t.querySelectorAll("pre.quikdown-pre code.language-csv, pre.quikdown-pre code.language-tsv, pre.quikdown-pre code.language-psv").forEach((function(e){var t=e.closest("pre");if(t){var n=e.className.match(/language-(csv|tsv|psv)/);if(n){var r={csv:",",tsv:"\t",psv:"|"}[n[1]],a=e.textContent.trim().split("\n");if(!(a.length<2))try{var i=document.createElement("table");i.className="quikdown-table",a.forEach((function(e,t){var n=document.createElement("tr");e.split(r).map((function(e){return e.trim()})).forEach((function(e){var r=document.createElement(0===t?"th":"td");r.className=0===t?"quikdown-th":"quikdown-td",r.textContent=e,n.appendChild(r)})),i.appendChild(n)})),t.replaceWith(i)}catch(e){}}}})),t.querySelectorAll("pre.quikdown-pre code.language-json, pre.quikdown-pre code.language-json5").forEach((function(e){try{var t=JSON.parse(e.textContent);e.textContent=JSON.stringify(t,null,2),window.hljs&&window.hljs.getLanguage("json")&&window.hljs.highlightElement(e)}catch(e){}}));case 56:return e.a(2)}}),e,null,[[48,53,54,55],[44,46],[36,38],[33,41,42,43],[29,31],[25,27],[20,22],[11,13],[7,17,18,19],[2,4]])})),P=function(){var n=this,r=arguments;return new Promise((function(a,i){var s=e.apply(n,r);function o(e){t(s,a,i,o,c,"next",e)}function c(e){t(s,a,i,o,c,"throw",e)}o(void 0)}))},P.apply(this,arguments)}var D=function(e){function t(e,a){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r(this,t),i.messageFormatter||(i.messageFormatter=function(e){return j(e)}),n(this,t,[e,a,i])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(t,e),i(t,[{key:"messageAddNew",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"user",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"right",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"user",i=m(t,"messageAddNew",this,3)([e,n,r,a]),s=this.messageGetDOMObject(i);return s&&N(s.querySelector(".quikchat-message-content")),i}},{key:"messageAddFull",value:function(e){var n=m(t,"messageAddFull",this,3)([e]),r=this.messageGetDOMObject(n);return r&&N(r.querySelector(".quikchat-message-content")),n}},{key:"messageAppendContent",value:function(e,n){var r=m(t,"messageAppendContent",this,3)([e,n]);if(r){var a=this.messageGetDOMObject(e);a&&N(a.querySelector(".quikchat-message-content"))}return r}},{key:"messageReplaceContent",value:function(e,n){var r=m(t,"messageReplaceContent",this,3)([e,n]);if(r){var a=this.messageGetDOMObject(e);a&&N(a.querySelector(".quikchat-message-content"))}return r}},{key:"destroy",value:function(){}}])}(k);return D.quikdown=j,D.postProcessMessage=N,D}));
|
|
10
10
|
//# sourceMappingURL=quikchat-md-full.umd.min.js.map
|