vue-editify 0.1.19 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/README.md +3 -3
  2. package/examples/App.vue +102 -62
  3. package/examples/main.ts +4 -4
  4. package/lib/components/button/button.vue.d.ts +11 -11
  5. package/lib/components/checkbox/checkbox.vue.d.ts +8 -8
  6. package/lib/components/colors/colors.vue.d.ts +4 -4
  7. package/lib/components/icon/icon.vue.d.ts +1 -1
  8. package/lib/components/insertImage/insertImage.vue.d.ts +9 -9
  9. package/lib/components/insertLink/insertLink.vue.d.ts +2 -2
  10. package/lib/components/insertTable/insertTable.vue.d.ts +2 -2
  11. package/lib/components/insertVideo/insertVideo.vue.d.ts +9 -9
  12. package/lib/components/layer/layer.vue.d.ts +9 -9
  13. package/lib/components/menu/menu.vue.d.ts +4 -4
  14. package/lib/components/toolbar/toolbar.vue.d.ts +9 -9
  15. package/lib/components/tooltip/tooltip.vue.d.ts +1 -1
  16. package/lib/components/triangle/triangle.vue.d.ts +4 -4
  17. package/lib/core/tool.d.ts +35 -35
  18. package/lib/editify/editify.vue.d.ts +68 -68
  19. package/lib/editify.es.js +57 -46
  20. package/lib/editify.umd.js +1 -1
  21. package/lib/index.d.ts +1 -1
  22. package/lib/style.css +1 -1
  23. package/package.json +45 -45
  24. package/src/components/button/button.less +145 -145
  25. package/src/components/button/button.vue +197 -197
  26. package/src/components/button/props.ts +95 -95
  27. package/src/components/checkbox/checkbox.less +84 -84
  28. package/src/components/checkbox/checkbox.vue +68 -68
  29. package/src/components/checkbox/props.ts +49 -49
  30. package/src/components/colors/colors.less +75 -75
  31. package/src/components/colors/colors.vue +36 -36
  32. package/src/components/colors/props.ts +29 -29
  33. package/src/components/icon/icon.less +14 -14
  34. package/src/components/icon/icon.vue +12 -12
  35. package/src/components/icon/props.ts +11 -11
  36. package/src/components/insertImage/insertImage.less +135 -135
  37. package/src/components/insertImage/insertImage.vue +146 -146
  38. package/src/components/insertImage/props.ts +43 -43
  39. package/src/components/insertLink/insertLink.less +64 -64
  40. package/src/components/insertLink/insertLink.vue +58 -58
  41. package/src/components/insertLink/props.ts +16 -16
  42. package/src/components/insertTable/insertTable.less +54 -54
  43. package/src/components/insertTable/insertTable.vue +85 -85
  44. package/src/components/insertTable/props.ts +27 -27
  45. package/src/components/insertVideo/insertVideo.less +135 -135
  46. package/src/components/insertVideo/insertVideo.vue +146 -146
  47. package/src/components/insertVideo/props.ts +43 -43
  48. package/src/components/layer/layer.less +49 -49
  49. package/src/components/layer/layer.vue +598 -598
  50. package/src/components/layer/props.ts +71 -71
  51. package/src/components/menu/menu.less +63 -63
  52. package/src/components/menu/menu.vue +1569 -1569
  53. package/src/components/menu/props.ts +17 -17
  54. package/src/components/toolbar/props.ts +35 -35
  55. package/src/components/toolbar/toolbar.less +89 -89
  56. package/src/components/toolbar/toolbar.vue +1101 -1101
  57. package/src/components/tooltip/props.ts +21 -21
  58. package/src/components/tooltip/tooltip.less +23 -23
  59. package/src/components/tooltip/tooltip.vue +37 -37
  60. package/src/components/triangle/props.ts +26 -26
  61. package/src/components/triangle/triangle.less +79 -79
  62. package/src/components/triangle/triangle.vue +65 -65
  63. package/src/core/function.ts +1150 -1144
  64. package/src/core/rule.ts +259 -259
  65. package/src/core/tool.ts +1137 -1137
  66. package/src/css/base.less +30 -30
  67. package/src/css/hljs.less +54 -54
  68. package/src/editify/editify.less +405 -404
  69. package/src/editify/editify.vue +810 -803
  70. package/src/editify/props.ts +156 -156
  71. package/src/hljs/index.ts +197 -197
  72. package/src/icon/iconfont.css +219 -219
  73. package/src/index.ts +32 -32
  74. package/src/locale/en_US.ts +88 -88
  75. package/src/locale/index.ts +12 -12
  76. package/src/locale/zh_CN.ts +88 -88
  77. package/tsconfig.json +27 -27
  78. package/tsconfig.node.json +11 -11
  79. package/vite-env.d.ts +1 -1
  80. package/vite.config.ts +42 -42
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).editify={},e.Vue)}(this,(function(e,t){"use strict";var n=Object.defineProperty,a=(e,t,a)=>(((e,t,a)=>{t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a})(e,"symbol"!=typeof t?t+"":t,a),a);const o={formatNumber(e){return this.isNumber(e)?e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,"):e},isNumber:e=>"number"==typeof e&&!isNaN(e),add:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o+t*o)/o})),subtract:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o-t*o)/o})),mutiply:(...e)=>e.reduce(((e,t)=>{let n=0,a=e.toString(),o=t.toString();try{n+=a.split(".")[1].length}catch(r){}try{n+=o.split(".")[1].length}catch(r){}return Number(a.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,n)})),divide:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=e.toString(),r=t.toString();try{n=o.split(".")[1].length}catch(l){}try{a=r.split(".")[1].length}catch(l){}return Number(o.replace(".",""))/Number(r.replace(".",""))*Math.pow(10,a-n)}))},r={insert(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if("string"!=typeof t)throw new TypeError("The second argument must be a string");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,n)+t+e.substring(n,e.length)},delete(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!o.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,t)+e.substring(t+n,e.length)},replace(e,t,n,a){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!o.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");if("string"!=typeof a)throw new TypeError("The fourth argument must be a string");return e.substring(0,t)+a+e.substring(n,e.length)},trim(e,t){if("string"!=typeof e)throw new TypeError("The first argument must be a string");let n=e.replace(/(^\s+)|(\s+$)/g,"");return t&&(n=n.replace(/\s/g,"")),n}},l={isWindow:e=>e&&e instanceof Window,getElementPoint(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(this.isElement(t)||(t=document.body),!this.isContains(t,e))throw new Error("The second argument and the first argument have no hierarchical relationship");let n=e,a=0,o=0;for(;this.isElement(e)&&this.isContains(t,e)&&t!==e;)a+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent;return{top:a,left:o,right:t.offsetWidth-o-n.offsetWidth,bottom:t.offsetHeight-a-n.offsetHeight}},isContains(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e===t||(e.contains?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t)))},isParentNode(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e!==t&&t.parentNode===e},children(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");return[...e.querySelectorAll(t||"*")].filter((t=>t.parentNode===e))},siblings(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!e.parentNode)return[];return[...e.parentNode.querySelectorAll(t||"*")].filter((t=>t.parentNode===e.parentNode&&t!=e))},rem2px(e){if(!o.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return o.mutiply(e,parseFloat(t))},px2rem(e){if(!o.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return o.divide(e,parseFloat(t))},width(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientWidth,n=parseFloat(this.getCssStyle(e,"padding-left")),a=parseFloat(this.getCssStyle(e,"padding-right"));return o.subtract(t,n,a)},height(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientHeight,n=parseFloat(this.getCssStyle(e,"padding-top")),a=parseFloat(this.getCssStyle(e,"padding-bottom"));return o.subtract(t,n,a)},removeClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;r.trim(t).split(/\s+/).forEach((e=>{n.remove(e)}))},addClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;r.trim(t).split(/\s+/).forEach((e=>{n.add(e)}))},hasClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;return r.trim(t).split(/\s+/).every((e=>n.contains(e)))},scrollTopBottomTrigger(e,t){"string"==typeof e&&e&&(e=document.body.querySelector(e));let n=window;this.isElement(e)&&e!=document.body&&e!=document.documentElement&&(n=e),"function"==typeof e&&(t=e);let a=!0;n.addEventListener("scroll",(()=>{if(this.getScrollTop(n)<=0){if(!a)return;"function"==typeof t&&(a=!1,t({state:"top",target:n}))}else{let e={state:"bottom",target:n},r=0;if(r=n==window?window.innerHeight:n.clientHeight,o.add(this.getScrollTop(n),r)+1>=this.getScrollHeight(n)&&r!=this.getScrollHeight(n)){if(!a)return;"function"==typeof t&&(a=!1,t(e))}else a=!0}}))},getScrollWidth(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollWidth:0==document.documentElement.scrollWidth||0==document.body.scrollWidth?document.documentElement.scrollWidth||document.body.scrollWidth:document.documentElement.scrollWidth>document.body.scrollWidth?document.documentElement.scrollWidth:document.body.scrollWidth,t},getScrollHeight(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollHeight:0==document.documentElement.scrollHeight||0==document.body.scrollHeight?document.documentElement.scrollHeight||document.body.scrollHeight:document.documentElement.scrollHeight>document.body.scrollHeight?document.documentElement.scrollHeight:document.body.scrollHeight,t},setScrollTop(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,r=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(r<=0)t?document.documentElement.scrollTop=document.body.scrollTop=a:n.scrollTop=a,e();else{let l=10,i=o.divide(r,l),s=this.getScrollTop(n),c=o.divide(o.subtract(a,s),i),d=setInterval((()=>{i>0?(i--,t?document.documentElement.scrollTop=document.body.scrollTop=s=o.add(s,c):n.scrollTop=s=o.add(s,c)):(clearInterval(d),e())}),l)}}))},getScrollTop(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollTop:0==document.documentElement.scrollTop||0==document.body.scrollTop?document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,t},getScrollLeft(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollLeft:0==document.documentElement.scrollLeft||0==document.body.scrollLeft?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft>document.body.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,t},setScrollLeft(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,r=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(r<=0)t?document.documentElement.scrollLeft=document.body.scrollLeft=a:n.scrollLeft=a,e();else{let l=10,i=o.divide(r,l),s=this.getScrollLeft(n),c=o.divide(o.subtract(a,s),i),d=setInterval((()=>{i>0?(i--,t?document.documentElement.scrollLeft=document.body.scrollLeft=s=o.add(s,c):n.scrollLeft=s=o.add(s,c)):(clearInterval(d),e())}),l)}}))},getCssStyle(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n="";return n=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(e)[t]:e.currentStyle[t],n},getCssSelector(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a selector string");if(/^#{1}/.test(e))return{type:"id",value:e.substr(1)};if(/^\./.test(e))return{type:"class",value:e.substr(1)};if(/^\[(.+)\]$/.test(e)){let t="attribute",n="",a=r.trim(e,!0).substring(1,r.trim(e,!0).length-1).split("=");return 1==a.length&&(n=a[0]),2==a.length&&(n={attributeName:a[0],attributeValue:a[1].replace(/\'/g,"").replace(/\"/g,"")}),{type:t,value:n}}return{type:"tag",value:e}},getElementBounding(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.getBoundingClientRect();return{top:t.top,bottom:o.subtract(document.documentElement.clientHeight||window.innerHeight,t.bottom),left:t.left,right:o.subtract(document.documentElement.clientWidth||window.innerWidth,t.right)}},isElement:e=>e&&e instanceof Node&&1===e.nodeType,string2dom(e,t){if(!e||"string"!=typeof e)throw new TypeError("The argument must be an HTML string");let n=document.createElement(t||"div");return n.innerHTML=e,1==n.children.length?n.children[0]:Array.from(n.children)}},i="_dap-datas",s={remove(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[i]||{};null==t||""===t?e[i]={}:(delete n[t],e[i]=n)},has(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");return(e[i]||{}).hasOwnProperty(t)},get(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[i]||{};return null==t||""===t?n:n[t]},set(e,t,n){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");let a=e[i]||{};a[t]=n,e[i]=a}},c={matchingText(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=null;if("Chinese"==t&&(n=/^[\u4e00-\u9fa5]+$/),"chinese"==t&&(n=/[\u4e00-\u9fa5]/),"email"==t&&(n=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/),"username"==t&&(n=/^[a-zA-Z0-9_]{4,16}$/),"int+"==t&&(n=/^\d+$/),"int-"==t&&(n=/^-\d+$/),"int"==t&&(n=/^-?\d+$/),"pos"==t&&(n=/^\d*\.?\d+$/),"neg"==t&&(n=/^-\d*\.?\d+$/),"number"==t&&(n=/^-?\d*\.?\d+$/),"phone"==t&&(n=/^1[0-9]\d{9}$/),"idCard"==t&&(n=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/),"url"==t&&(n=/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#-]+\.?)+(\/[^\s]*)?$/),"IPv4"==t&&(n=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/),"hex"==t&&(n=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/),"rgb"==t&&(n=/^rgb\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\)$/),"rgba"==t&&(n=/^rgba\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(0?\.\d|1(\.0)?|0)\)$/),"QQ"==t&&(n=/^[1-9][0-9]{4,10}$/),"weixin"==t&&(n=/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/),"plate"==t&&(n=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/),!n)throw new Error("The second parameter is out of scope");return n.test(e)},getUrlParams(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1);if(!n){let e=window.location.hash.split("?");2==e.length&&(n=e[1])}let a=n.match(t);return a?decodeURIComponent(a[2]):null},isEmptyObject(e){return!!this.isObject(e)&&0==Object.keys(e).length},equal(e,t){if(typeof e!=typeof t)return!1;if(this.isObject(e)&&this.isObject(t)){let n=Object.getOwnPropertyNames(e),a=Object.getOwnPropertyNames(t);if(n.length!=a.length)return!1;let o=n.length,r=!0;for(let l=0;l<o;l++){let a=n[l],o=e[a],i=t[a];if(!this.equal(o,i)){r=!1;break}}return r}return e===t},isObject:e=>!("object"!=typeof e||!e),copyText(e){if(!e||"string"!=typeof e)throw new TypeError("No text to copy is defined");if(!navigator.clipboard)throw new Error("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the method won't work");return navigator.clipboard.writeText(e)},clone(e){if(this.isObject(e)){if(Array.isArray(e))return e.map((e=>this.clone(e)));let t={};for(let n in e)t[n]=this.clone(e[n]);return t}return e}},d=e=>{let t=e.split(/[\s]+/g),n=[];return t.forEach((e=>{let t=e.split("."),a={eventName:t[0]};t.length>1&&(a.guid=t[1]),n.push(a)})),n},u=(e,t,n)=>{let a=s.get(e,"dap-defined-events")||{},o=Object.keys(a),r=o.length;for(let l=0;l<r;l++){let r=o[l];a[r].type==t&&(n?r==t+"."+n&&(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0):(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0))}a=(e=>{let t={};return Object.keys(e).forEach((n=>{e[n]&&(t[n]=e[n])})),t})(a),s.set(e,"dap-defined-events",a)},h={on(e,t,n,a){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!n||"function"!=typeof n)throw new TypeError("The third argument must be a function");c.isObject(a)||(a={});d(t).forEach((t=>{((e,t,n,a,o)=>{let r=s.get(e,"dap-defined-events")||{};n||(n=s.get(e,"dap-event-guid")||0,s.set(e,"dap-event-guid",n+1)),r[n=t+"."+n]&&r[n].type==t&&e.removeEventListener(t,r[n].fn,r[n].options),e.addEventListener(t,a,o),r[n]={type:t,fn:a,options:o},s.set(e,"dap-defined-events",r)})(e,t.eventName,t.guid,n.bind(e),a)}))},off(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=s.get(e,"dap-defined-events");if(!n)return;if(!t){let t=Object.keys(n),a=t.length;for(let o=0;o<a;o++){let a=t[o];e.removeEventListener(n[a].type,n[a].fn,n[a].options)}return s.remove(e,"dap-defined-events"),void s.remove(e,"dap-event-guid")}d(t).forEach((t=>{u(e,t.eventName,t.guid)}))},get(e){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let t=s.get(e,"dap-defined-events");if(t)return t}},m={getImageUrl(e){if(!(e&&e instanceof File))throw new TypeError("The argument must be a File object");return window.URL.createObjectURL(e)},dataFileToBase64:e=>new Promise(((t,n)=>{e&&e instanceof File||n(new TypeError("The argument must be a File object"));let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>{let e=a.result;t(e)}})),dataBase64toFile(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.split(","),a=n[0].match(/:(.*?);/)[1],o=atob(n[1]),r=o.length,l=new Uint8Array(r);for(;r--;)l[r]=o.charCodeAt(r);return new File([l],t,{type:a})},compressImage(e,t){const n={width:void 0,quality:.8,mimeType:"jpeg",maxSize:0,minSize:0};c.isObject(t)&&(o.isNumber(t.width)&&(n.width=t.width),o.isNumber(t.quality)&&t.quality>=0&&t.quality<=1&&(n.quality=t.quality),"jpeg"!=t.mimeType&&"webp"!=t.mimeType||(n.mimeType=t.mimeType),o.isNumber(t.maxSize)&&(n.maxSize=t.maxSize),o.isNumber(t.minSize)&&(n.minSize=t.minSize));const a=(e,t,o)=>{let r=e.toDataURL("image/"+n.mimeType,o),l=this.dataBase64toFile(r,t);if(n.maxSize>0&&l.size>1024*n.maxSize){o=o<=0?0:Number((o-.01).toFixed(2));const n=a(e,t,o);r=n.url,l=n.file,o=n.quality}return{file:l,url:r,quality:o}};return new Promise(((t,o)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>{let l=r.result,i=new Image;i.src=l,i.onload=()=>{if(n.minSize>0&&e.size<=1024*n.minSize)return void t({file:e,url:l,quality:1,width:i.width,height:i.height});let o=document.createElement("canvas"),r=o.getContext("2d");o.width=n.width||i.width,o.height=n.width?n.width/(i.width/i.height):i.height,r.drawImage(i,0,0,o.width,o.height);let s=e.name.lastIndexOf(".");const c=e.name.substring(0,s)+"."+n.mimeType;let d=a(o,c,n.quality);t({...d,width:o.width,height:o.height})},i.onerror=()=>{o(new Error("Failed to load image file"))}},r.onerror=()=>{o(new Error("Failed to load image file"))}}))}},f={language:()=>window.navigator.browserLanguage||window.navigator.language,device(){const e=window.navigator.userAgent;return{PC:!e.match(/AppleWebKit.*Mobile.*/),Mobile:!!e.match(/AppleWebKit.*Mobile.*/),iPhone:e.includes("iPhone"),Phone:e.includes("Android")&&/(?:Mobile)/.test(e)||e.includes("iPhone")||/(?:Windows Phone)/.test(e),iPad:e.includes("iPad"),Tablet:e.includes("iPad")||e.includes("Android")&&!/(?:Mobile)/.test(e)||e.includes("Firefox")&&/(?:Tablet)/.test(e),WindowsPhone:/(?:Windows Phone)/.test(e)}},browser(){const e=window.navigator.userAgent;return{Edge:!!e.match(/Edg\/([\d.]+)/),weixin:e.includes("MicroMessenger"),QQ:e.includes("QQ"),QQBrowser:e.includes("MQQBrowser"),UC:e.includes("UCBrowser"),Chrome:e.includes("Chrome"),Firefox:e.includes("Firefox"),sougou:e.toLocaleLowerCase().includes("se 2.x")||e.toLocaleLowerCase().includes("metasr")||e.toLocaleLowerCase().includes("sogou"),Safari:e.includes("Safari")&&!e.includes("Chrome")}},browserKernel(){const e=window.navigator.userAgent;return e.includes("Presto")?"opera":e.includes("AppleWebKit")?"webkit":e.includes("Gecko")&&!e.includes("KHTML")?"gecko":""},os(){const e=window.navigator.userAgent;return{Windows:e.includes("Windows"),Windows_CPU:e.toLocaleLowerCase().includes("win64")||e.toLocaleLowerCase().includes("wow64")?"x64":e.toLocaleLowerCase().includes("win32")||e.toLocaleLowerCase().includes("wow32")?"x32":"",Windows_Version:e.includes("Windows NT 6.1")||e.includes("Windows 7")?"Win7":e.includes("Windows NT 6.3")||e.includes("Windows NT 6.2")||e.includes("Windows NT 8")?"Win8":e.includes("Windows NT 10")||e.includes("Windows NT 6.4")?"Win10":"",Mac:e.includes("Macintosh"),Mac_Version:function(){if(e.includes("Macintosh")){const t=e.match(/Mac OS X ([^\s]+)\)/);if(t&&t[1])return t[1].split(/_|\./).join(".")}return""}(),ios:!!e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),ios_Version:function(){if(e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)){const t=e.match(/CPU.+OS ([^\s]+) like Mac OS X/);if(t&&t[1])return t[1].split(/_|\./).join(".")}return""}(),Android:e.includes("Android"),Android_Version:function(){const t=e.match(/Android ([^\s]+);/);return t&&t[1]?t[1].split(/_|\./).join("."):""}(),Linux:e.includes("Linux"),HarmonyOS:e.includes("HarmonyOS"),Ubuntu:e.includes("Ubuntu")}}},g=function(e){return/^[\uFEFF]+$/g.test(e)},p=function(e){return c.isObject(e)||Array.isArray(e)?JSON.parse(JSON.stringify(e)):e},b=function(e,t){return 3==t.nodeType?l.isContains(e,t.parentNode):l.isContains(e,t)},v=class e{constructor(e,t,n,o,r){a(this,"key",function(){let e=s.get(window,"data-alex-editor-key")||0;return e++,s.set(window,"data-alex-editor-key",e),e}()),a(this,"type"),a(this,"parsedom"),a(this,"marks"),a(this,"styles"),a(this,"textContent"),a(this,"children",null),a(this,"parent",null),a(this,"behavior","default"),a(this,"elm",null),this.type=e,this.parsedom=t,this.marks=n,this.styles=o,this.textContent=r}isBlock(){return"block"==this.type}isInblock(){return"inblock"==this.type}isInline(){return"inline"==this.type}isClosed(){return"closed"==this.type}isText(){return"text"==this.type}isBreak(){return this.isClosed()&&"br"==this.parsedom}isEmpty(){if(this.isText())return!this.textContent;if(this.isBlock()||this.isInblock()||this.isInline()){if(!this.hasChildren())return!0;return this.children.every((e=>e.isEmpty()))}return!1}isSpaceText(){return this.isText()&&!this.isEmpty()&&g(this.textContent)}getUneditableElement(){return this.hasMarks()&&"false"==this.marks.contenteditable?this:this.isBlock()?null:this.parent.getUneditableElement()}isEqual(t){return!!e.isElement(t)&&this.key==t.key}isContains(e){return!!this.isEqual(e)||!e.isBlock()&&this.isContains(e.parent)}isOnlyHasBreak(){if(this.hasChildren()){const e=this.children.some((e=>e.isBreak())),t=this.children.every((e=>e.isBreak()||e.isEmpty()));return e&&t}return!1}isPreStyle(){const e=this.getBlock(),t=this.getInblock();return t?"pre"==t.parsedom||(!(!t.hasStyles()||"pre"!=t.styles["white-space"]&&"pre-wrap"!=t.styles["white-space"])||t.parent.isPreStyle()):"pre"==e.parsedom||!(!e.hasStyles()||"pre"!=e.styles["white-space"]&&"pre-wrap"!=e.styles["white-space"])}hasMarks(){return!!this.marks&&(!!c.isObject(this.marks)&&!c.isEmptyObject(this.marks))}hasStyles(){return!!this.styles&&(!!c.isObject(this.styles)&&!c.isEmptyObject(this.styles))}hasChildren(){return!this.isClosed()&&!this.isText()&&(!!Array.isArray(this.children)&&!!this.children.length)}hasContains(e){return this.isContains(e)||e.isContains(this)}clone(t=!0){if("boolean"!=typeof t)throw new Error("The parameter must be a Boolean");let n=new e(this.type,this.parsedom,p(this.marks),p(this.styles),this.textContent);return n.behavior=this.behavior,t&&this.hasChildren()&&this.children.forEach((e=>{let a=e.clone(t);n.hasChildren()?n.children.push(a):n.children=[a],a.parent=n})),n}convertToBlock(){if(this.isBlock())return;let t=this.clone();this.type="block",this.parsedom=e.BLOCK_NODE,this.marks=null,this.styles=null,this.textContent=null,this.children=[t],t.parent=this}toEmpty(){if(!this.isEmpty())return this.isText()?(this.marks=null,this.styles=null,this.textContent=null,void(this.elm=null)):this.isClosed()?(this.type="text",this.parsedom=null,this.marks=null,this.styles=null,this.textContent=null,void(this.elm=null)):void(this.hasChildren()&&this.children.forEach((e=>{e.toEmpty()})))}getBlock(){return this.isBlock()?this:this.parent.getBlock()}getInblock(){return this.isInblock()?this:this.isBlock()?null:this.parent.getInblock()}getInline(){return this.isInline()?this:this.isBlock()?null:this.parent.getInline()}isEqualStyles(e){return!this.hasStyles()&&!e.hasStyles()||!!(this.hasStyles()&&e.hasStyles()&&c.equal(this.styles,e.styles))}isEqualMarks(e){return!this.hasMarks()&&!e.hasMarks()||!!(this.hasMarks()&&e.hasMarks()&&c.equal(this.marks,e.marks))}isFirst(t){if(!this.isText()&&!this.isClosed())return!1;if(t.isEqual(this))return!1;if(t.isContains(this)){const n=e.flatElements(t.children).filter((e=>e.isText()||e.isClosed()));return this.isEqual(n[0])}return!1}isLast(t){if(!this.isText()&&!this.isClosed())return!1;if(t.isEqual(this))return!1;if(t.isContains(this)){const n=e.flatElements(t.children).filter((e=>e.isText()||e.isClosed())),a=n.length;return this.isEqual(n[a-1])}return!1}__render(){let t=null;if(this.isText()){t=document.createElement(e.TEXT_NODE);const n=document.createTextNode(this.textContent);t.appendChild(n)}else t=document.createElement(this.parsedom),this.hasChildren()&&this.children.forEach((e=>{e.__render(),t.appendChild(e.elm)}));this.hasMarks()&&Object.keys(this.marks).forEach((e=>{/(^on)|(^style$)|(^face$)/g.test(e)||t.setAttribute(e,this.marks[e])})),this.hasStyles()&&Object.keys(this.styles).forEach((e=>{t.style.setProperty(e,this.styles[e])})),s.set(t,"data-alex-editor-key",this.key),this.elm=t}__fullClone(){let t=new e(this.type,this.parsedom,p(this.marks),p(this.styles),this.textContent);return t.behavior=this.behavior,t.key=this.key,t.elm=this.elm,this.hasChildren()&&this.children.forEach((e=>{let n=e.__fullClone();t.hasChildren()?t.children.push(n):t.children=[n],n.parent=t})),t}static isElement(t){return t instanceof e}static flatElements(e){const t=e=>{let n=[];const a=e.length;for(let o=0;o<a;o++)if(e[o]&&(n.push(e[o]),e[o].hasChildren())){const a=t(e[o].children);n.push(...a)}return n};return t(e)}static getSpaceElement(){return new e("text",null,null,null,"\ufeff")}};a(v,"BLOCK_NODE","p"),a(v,"TEXT_NODE","span"),a(v,"VOID_NODES",["colgroup","col"]);let y=v;class E{constructor(e,t){a(this,"anchor"),a(this,"focus"),this.anchor=e,this.focus=t}}class w{constructor(e,t){if(a(this,"element"),a(this,"offset"),this.element=e,this.offset=t,this.element.isText()||this.element.isClosed()){if(y.VOID_NODES.includes(this.element.parsedom))throw new Error("Invisible element cannot be set as focal point")}else 0==this.offset?this.moveToStart(this.element):this.moveToEnd(this.element)}static isPoint(e){return e instanceof w}isEqual(e){return!!w.isPoint(e)&&(this.element.isEqual(e.element)&&this.offset==e.offset)}moveToEnd(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isEmpty())throw new Error("The argument cannot be an empty element");if(e.isText())this.element=e,this.offset=e.textContent.length;else if(e.isClosed()){if(y.VOID_NODES.includes(e.parsedom))throw new Error("Invisible element cannot be set as focal point");this.element=e,this.offset=1}else if(e.hasChildren()){const t=y.flatElements(e.children).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))),n=t.length;if(0==n)throw new Error("There is no element to set the focus");this.moveToEnd(t[n-1])}}moveToStart(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isEmpty())throw new Error("The argument cannot be an empty element");if(e.isText())this.element=e,this.offset=0;else if(e.isClosed()){if(y.VOID_NODES.includes(e.parsedom))throw new Error("Invisible element cannot be set as focal point");this.element=e,this.offset=0}else if(e.hasChildren()){const t=y.flatElements(e.children).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)));if(0==t.length)throw new Error("There is no element to set the focus");this.moveToStart(t[0])}}}class k{constructor(){a(this,"records",[]),a(this,"current",-1)}push(e,t){this.current<this.records.length-1&&(this.records.length=this.current+1);const n=e.map((e=>e.__fullClone())),a=this.__cloneRange(n,t);this.records.push({stack:n,range:a}),this.current+=1}get(e){let t=this.current;if(-1==e){if(t<=0)return null;t-=1}else if(1==e){if(t>=this.records.length-1)return null;t+=1}const{stack:n,range:a}=this.records[t],o=n.map((e=>e.__fullClone()));return{current:t,stack:o,range:this.__cloneRange(o,a)}}updateCurrentRange(e){const t=this.records[this.current],n=this.__cloneRange(t.stack,e);this.records[this.current].range=n}__cloneRange(e,t){if(t){const n=y.flatElements(e).find((e=>e.key==t.anchor.element.key)),a=y.flatElements(e).find((e=>e.key==t.focus.element.key));if(n&&a){const e=new w(n,t.anchor.offset),o=new w(a,t.focus.offset);return new E(e,o)}}return null}}const _=[{parsedom:"p"},{parsedom:"div"},{parsedom:"table"},{parsedom:"ul"},{parsedom:"ol"},{parsedom:"h1"},{parsedom:"h2"},{parsedom:"h3"},{parsedom:"h4"},{parsedom:"h5"},{parsedom:"h6"},{parsedom:"blockquote"},{parsedom:"pre"},{parsedom:"address",parse:!0},{parsedom:"article",parse:!0},{parsedom:"aside",parse:!0},{parsedom:"nav",parse:!0},{parsedom:"section",parse:!0}],x=[{parsedom:"br"},{parsedom:"col"},{parsedom:"img"},{parsedom:"hr"},{parsedom:"video"},{parsedom:"audio"},{parsedom:"svg"},{parsedom:"canvas"}],C=[{parsedom:"li",block:!0},{parsedom:"tfoot"},{parsedom:"tbody"},{parsedom:"thead"},{parsedom:"tr"},{parsedom:"th"},{parsedom:"td"},{parsedom:"colgroup"}],B=[{parsedom:"span"},{parsedom:"a"},{parsedom:"label"},{parsedom:"code"},{parsedom:"b",parse:{"font-weight":"bold"}},{parsedom:"strong",parse:{"font-weight":"bold"}},{parsedom:"sup",parse:{"vertical-align":"super"}},{parsedom:"sub",parse:{"vertical-align":"sub"}},{parsedom:"i",parse:{"font-style":"italic"}},{parsedom:"u",parse:{"text-decoration-line":"underline"}},{parsedom:"del",parse:{"text-decoration-line":"line-through"}},{parsedom:"abbr",parse:!0},{parsedom:"acronym",parse:!0},{parsedom:"bdo",parse:!0},{parsedom:"font",parse:{"font-family":e=>e.getAttribute("face")||""}}],T=function(e){if(e.hasChildren()){e.children.filter((e=>!e.isEmpty()&&e.isBlock())).forEach((t=>{t.type="inline"==e.type?"inline":"inblock","inblock"==t.type&&(t.behavior="block")}))}},S=function(e){if(e.hasChildren()){const t=e.children.filter((e=>!e.isEmpty())),n=t.filter((e=>e.isInblock()));n.length&&n.length!=t.length&&n.forEach((e=>{e.type="inline"}))}},N=function(e){if(e.isInline()&&e.hasChildren()){e.children.filter((e=>!e.isEmpty()&&e.isInblock())).forEach((e=>{e.type="inline"}))}},O=function(e){if(e.hasChildren()){const t=e.children.filter((e=>!e.isEmpty())),n=t.filter((e=>e.isBreak()));n.length&&n.length==t.length?(this.range&&e.isContains(this.range.anchor.element)&&this.range.anchor.moveToStart(n[0]),this.range&&e.isContains(this.range.focus.element)&&this.range.focus.moveToStart(n[0]),e.children=[n[0]]):n.length&&n.forEach((e=>{e.toEmpty()}))}},A=function(e){const t=(e,t)=>{t.isText()?(e.type="text",e.parsedom=null,t.hasMarks()&&(e.hasMarks()?Object.assign(e.marks,p(t.marks)):e.marks=p(t.marks)),t.hasStyles()&&(e.hasStyles()?Object.assign(e.styles,p(t.styles)):e.styles=p(t.styles)),e.textContent=t.textContent,e.children=null,this.range&&t.isContains(this.range.anchor.element)&&(this.range.anchor.element=e),this.range&&t.isContains(this.range.focus.element)&&(this.range.focus.element=e)):(t.hasMarks()&&(e.hasMarks()?Object.assign(e.marks,p(t.marks)):e.marks=p(t.marks)),t.hasStyles()&&(e.hasStyles()?Object.assign(e.styles,p(t.styles)):e.styles=p(t.styles)),t.hasChildren()&&(e.children=[...t.children],e.children.forEach((t=>{t.parent=e}))),n(e))},n=e=>{var n,a;e.hasChildren()&&1==e.children.length&&e.children[0]&&(n=e,(a=e.children[0]).isText()&&n.isInline()?n.parsedom==y.TEXT_NODE:(n.isInline()&&a.isInline()||n.isInblock()&&a.isInblock())&&n.parsedom==a.parsedom)&&t(e,e.children[0])};n(e)},R=function(e){const t=(e,t)=>{if(e.isEmpty()||t.isEmpty()){if(t.isEmpty()){this.range&&t.isContains(this.range.anchor.element)&&(e.isEmpty()?(this.range.anchor.element=e,this.range.anchor.offset=0):this.range.anchor.moveToEnd(e)),this.range&&t.isContains(this.range.focus.element)&&(e.isEmpty()?(this.range.focus.element=e,this.range.focus.offset=0):this.range.focus.moveToEnd(e));const n=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(n,1)}else if(e.isEmpty()){this.range&&e.isContains(this.range.anchor.element)&&(t.isEmpty()?(this.range.anchor.element=t,this.range.anchor.offset=0):this.range.anchor.moveToStart(t)),this.range&&e.isContains(this.range.focus.element)&&(t.isEmpty()?(this.range.focus.element=t,this.range.focus.offset=0):this.range.focus.moveToStart(t));const n=e.parent.children.findIndex((t=>e.isEqual(t)));e.parent.children.splice(n,1)}}else if(e.isText()){this.range&&t.isEqual(this.range.anchor.element)&&(this.range.anchor.element=e,this.range.anchor.offset=e.textContent.length+this.range.anchor.offset),this.range&&t.isEqual(this.range.focus.element)&&(this.range.focus.element=e,this.range.focus.offset=e.textContent.length+this.range.focus.offset),e.textContent+=t.textContent;const n=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(n,1)}else if(e.isInline()){e.children.push(...t.children),e.children.forEach((t=>{t.parent=e})),n(e);const a=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(a,1)}},n=e=>{if(e.hasChildren()&&e.children.length>1){let o=0;for(;o<=e.children.length-2;)n=e.children[o],a=e.children[o+1],n.isEmpty()||a.isEmpty()||(n.isText()&&a.isText()?n.isEqualStyles(a)&&n.isEqualMarks(a):n.isInline()&&a.isInline()&&n.parsedom==a.parsedom&&n.isEqualMarks(a)&&n.isEqualStyles(a))?t(e.children[o],e.children[o+1]):o++}var n,a};n(e)},{Mac:M}=f.os(),I=function(){if(0==y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))).length){const e=new y("block",y.BLOCK_NODE,null,null,null),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.stack=[e]}},L=function(e){const t=this.getPreviousElementOfPoint(e),n=this.getNextElementOfPoint(e),a=e.element.getBlock(),o=e.element.getInblock();t&&!y.VOID_NODES.includes(t.parsedom)&&o&&o.isContains(t)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&o&&o.isContains(n)?e.moveToStart(n):t&&!y.VOID_NODES.includes(t.parsedom)&&a.isContains(t)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&a.isContains(n)?e.moveToStart(n):t&&!y.VOID_NODES.includes(t.parsedom)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&e.moveToStart(n)},D=function(e){e.isInblock()&&"default"==e.behavior&&e.hasChildren()&&e.children.forEach((e=>{if(e.isInblock())D.apply(this,[e]);else if(e.toEmpty(),e.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.parent)}}))},$=function(){const e=async e=>{const t=l.getScrollHeight(e),n=l.getScrollWidth(e);if(e.clientHeight<t||e.clientWidth<n){const a=window.getSelection();if(0==a.rangeCount)return;const o=a.getRangeAt(0),r=o.getClientRects();let i=o;0==r.length&&(i=this.range.focus.element.elm);const s=i.getBoundingClientRect(),c=e.getBoundingClientRect();if(e.clientHeight<t)if(s.top<c.top){await l.setScrollTop({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollTop({el:e,number:t.top-n.top})}else if(s.bottom>c.bottom){await l.setScrollTop({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollTop({el:e,number:t.bottom-n.bottom})}if(e.clientWidth<n)if(s.left<c.left){await l.setScrollLeft({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollLeft({el:e,number:t.left-n.left+20})}else if(s.right>c.right){await l.setScrollLeft({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollLeft({el:e,number:t.right-n.right+20})}}};if(this.range&&this.range.focus.element.elm){let t=this.range.focus.element.elm;for(;l.isElement(t)&&t!=document.documentElement;)e(t),t=t.parentNode}},F=function(){if(0==y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))).length){const e=new y("block",y.BLOCK_NODE,null,null,null),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.stack=[e],this.range&&(this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t))}},z=function(){if(this.__isInputChinese)return;if(this.__innerSelectionChange)return;const e=window.getSelection();if(e&&e.rangeCount){const t=e.getRangeAt(0);if(b(this.$el,t.startContainer)&&b(this.$el,t.endContainer)){let e=null,n=null,a=null,o=null;if(3==t.startContainer.nodeType)e=t.startContainer.parentNode,a=t.startOffset;else if(1==t.startContainer.nodeType){const n=Array.from(t.startContainer.childNodes);n.length?(e=n[t.startOffset]?n[t.startOffset]:n[t.startOffset-1],a=n[t.startOffset]?0:1,3==e.nodeType&&(a=0==a?0:e.textContent.length,e=e.parentNode)):(e=t.startContainer,a=0)}if(3==t.endContainer.nodeType)n=t.endContainer.parentNode,o=t.endOffset;else if(1==t.endContainer.nodeType){const e=Array.from(t.endContainer.childNodes);e.length?(n=e[t.endOffset]?e[t.endOffset]:e[t.endOffset-1],o=e[t.endOffset]?0:1,3==n.nodeType&&(o=0==o?0:n.textContent.length,n=n.parentNode)):(n=t.endContainer,o=1)}const r=s.get(e,"data-alex-editor-key"),l=s.get(n,"data-alex-editor-key"),i=this.getElementByKey(r),c=this.getElementByKey(l),d=new w(i,a),u=new w(c,o);this.range?(this.range.anchor=d,this.range.focus=u):this.range=new E(d,u),this.history.updateCurrentRange(this.range),this.emit("rangeUpdate",this.range)}}},P=function(e){this.disabled||"deleteByCut"!=e.inputType&&"insertFromPaste"!=e.inputType&&"deleteByDrag"!=e.inputType&&"insertFromDrop"!=e.inputType&&(e.preventDefault(),"insertText"==e.inputType&&e.data?(this.insertText(e.data),this.formatElementStack(),this.domRender(),this.rangeRender()):"insertParagraph"==e.inputType||"insertLineBreak"==e.inputType?(this.insertParagraph(),this.formatElementStack(),this.domRender(),this.rangeRender()):"deleteContentBackward"==e.inputType&&(this.delete(),this.formatElementStack(),this.domRender(),this.rangeRender()))},H=function(e){this.disabled||(e.preventDefault(),"compositionstart"==e.type?(this.__chineseInputTimer&&(clearTimeout(this.__chineseInputTimer),this.__chineseInputTimer=null),this.__isInputChinese=!0):"compositionend"==e.type&&(e.data&&(this.insertText(e.data),this.formatElementStack(),this.domRender(),this.rangeRender()),this.__chineseInputTimer=setTimeout((()=>{this.__isInputChinese=!1}),0)))},V=function(e){if(!this.disabled&&!this.__isInputChinese)if(function(e){return M?"z"==e.key&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey:"z"==e.key&&e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}(e)){e.preventDefault();const t=this.history.get(-1);t&&(this.history.current=t.current,this.stack=t.stack,this.range=t.range,this.formatElementStack(),this.domRender(!0),this.rangeRender())}else if(function(e){return M?"z"==e.key&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey:"z"==e.key&&e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}(e)){e.preventDefault();const t=this.history.get(1);t&&(this.history.current=t.current,this.stack=t.stack,this.range=t.range,this.formatElementStack(),this.domRender(!0),this.rangeRender())}},j=async function(e){e.preventDefault(),await this.copy()},W=async function(e){e.preventDefault();await this.cut()&&!this.disabled&&(this.formatElementStack(),this.domRender(),this.rangeRender())},U=async function(e,t,n){if(e)if(this.allowPasteHtml){const t=this.parseHtml(e).filter((e=>!e.isEmpty()));if("function"==typeof this.customHtmlPaste)await this.customHtmlPaste.apply(this,[t,e]);else{for(let e=0;e<t.length;e++)this.insertElement(t[e],!1);this.emit("pasteHtml",t,e)}}else t&&("function"==typeof this.customTextPaste?await this.customTextPaste.apply(this,[t]):(this.insertText(t),this.emit("pasteText",t)));else if(t)"function"==typeof this.customTextPaste?await this.customTextPaste.apply(this,[t]):(this.insertText(t),this.emit("pasteText",t));else{let e=n.length;for(let t=0;t<e;t++)if(n[t].type.startsWith("image/"))if("function"==typeof this.customImagePaste)await this.customImagePaste.apply(this,[n[t]]);else{const e=await m.dataFileToBase64(n[t]),a=new y("closed","img",{src:e},null,null);this.insertElement(a),this.emit("pasteImage",e)}else if(n[t].type.startsWith("video/"))if("function"==typeof this.customVideoPaste)await this.customVideoPaste.apply(this,[n[t]]);else{const e=await m.dataFileToBase64(n[t]),a=new y("closed","video",{src:e},null,null);this.insertElement(a),this.emit("pasteVideo",e)}else"function"==typeof this.customFilePaste&&await this.customFilePaste.apply(this,[n[t]])}},q=async function(e){if(e.preventDefault(),this.disabled)return;if(!this.range)return;if(!this.allowPaste)return;const t=e;if(t.clipboardData){const e=t.clipboardData.getData("text/html"),n=t.clipboardData.getData("text/plain"),a=t.clipboardData.files;await U.apply(this,[e,n,a]),this.formatElementStack(),this.domRender(),this.rangeRender()}},K=async function(e){if(e.preventDefault(),"drop"==e.type){if(this.disabled)return;if(!this.range)return;if(!this.allowPaste)return;const t=e;if(t.dataTransfer){const e=t.dataTransfer.getData("text/html"),n=t.dataTransfer.getData("text/plain"),a=t.dataTransfer.files;await U.apply(this,[e,n,a]),this.formatElementStack(),this.domRender(),this.rangeRender()}}},Z=function(){this.disabled||this.emit("focus",this.value)},G=function(){this.disabled||this.emit("blur",this.value)};class X{constructor(e,t){a(this,"$el"),a(this,"disabled"),a(this,"value"),a(this,"renderRules"),a(this,"allowCopy"),a(this,"allowPaste"),a(this,"allowCut"),a(this,"allowPasteHtml"),a(this,"customTextPaste"),a(this,"customHtmlPaste"),a(this,"customImagePaste"),a(this,"customVideoPaste"),a(this,"customFilePaste"),a(this,"customMerge"),a(this,"customParseNode"),a(this,"useClipboard",window.ClipboardItem?!!navigator.clipboard||(console.warn("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the editor's copy, paste, and cut functions cannot be used"),!1):(console.warn("window.ClipboardItem must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the editor's copy, paste, and cut functions cannot be used"),!1)),a(this,"history",new k),a(this,"stack"),a(this,"range",null),a(this,"__guid",function(){let e=s.get(window,"data-alex-editor-guid")||0;return e++,s.set(window,"data-alex-editor-guid",e),e}()),a(this,"__events",{}),a(this,"__firstRender",!0),a(this,"__isInputChinese",!1),a(this,"__innerSelectionChange",!1),a(this,"__chineseInputTimer",null),this.$el=function(e){if("string"==typeof e&&e&&(e=document.body.querySelector(e)),!l.isElement(e))throw new Error("You must specify a dom container to initialize the editor");if(s.get(e,"data-alex-editor-init"))throw new Error("The element node has been initialized to the editor");return s.set(e,"data-alex-editor-init",!0),e}(e);const n=function(e){let t={disabled:!1,renderRules:[],value:"",allowCopy:!0,allowPaste:!0,allowCut:!0,allowPasteHtml:!1,customTextPaste:null,customHtmlPaste:null,customImagePaste:null,customVideoPaste:null,customFilePaste:null,customMerge:null,customParseNode:null};return c.isObject(e)&&("boolean"==typeof e.disabled&&(t.disabled=e.disabled),Array.isArray(e.renderRules)&&(t.renderRules=e.renderRules),"string"==typeof e.value&&e.value&&(t.value=e.value),"boolean"==typeof e.allowCopy&&(t.allowCopy=e.allowCopy),"boolean"==typeof e.allowPaste&&(t.allowPaste=e.allowPaste),"boolean"==typeof e.allowCut&&(t.allowCut=e.allowCut),"boolean"==typeof e.allowPasteHtml&&(t.allowPasteHtml=e.allowPasteHtml),"function"==typeof e.customTextPaste&&(t.customTextPaste=e.customTextPaste),"function"==typeof e.customHtmlPaste&&(t.customHtmlPaste=e.customHtmlPaste),"function"==typeof e.customImagePaste&&(t.customImagePaste=e.customImagePaste),"function"==typeof e.customVideoPaste&&(t.customVideoPaste=e.customVideoPaste),"function"==typeof e.customFilePaste&&(t.customFilePaste=e.customFilePaste),"function"==typeof e.customMerge&&(t.customMerge=e.customMerge),"function"==typeof e.customParseNode&&(t.customParseNode=e.customParseNode)),t}(t);this.disabled=n.disabled,this.value=n.value,this.renderRules=n.renderRules,this.allowCopy=n.allowCopy,this.allowPaste=n.allowPaste,this.allowCut=n.allowCut,this.allowPasteHtml=n.allowPasteHtml,this.customTextPaste=n.customTextPaste,this.customHtmlPaste=n.customHtmlPaste,this.customImagePaste=n.customImagePaste,this.customVideoPaste=n.customVideoPaste,this.customFilePaste=n.customFilePaste,this.customMerge=n.customMerge,this.customParseNode=n.customParseNode,this.stack=this.parseHtml(this.value),I.apply(this),this.disabled?this.setDisabled():this.setEnabled(),h.on(document,`selectionchange.alex_editor_${this.__guid}`,z.bind(this)),h.on(this.$el,"beforeinput.alex_editor",P.bind(this)),h.on(this.$el,"compositionstart.alex_editor compositionupdate.alex_editor compositionend.alex_editor",H.bind(this)),h.on(this.$el,"keydown.alex_editor",V.bind(this)),h.on(this.$el,"cut.alex_editor",W.bind(this)),h.on(this.$el,"paste.alex_editor",q.bind(this)),h.on(this.$el,"copy.alex_editor",j.bind(this)),h.on(this.$el,"dragstart.alex_editor drop.alex_editor",K.bind(this)),h.on(this.$el,"focus.alex_editor",Z.bind(this)),h.on(this.$el,"blur.alex_editor",G.bind(this))}initRange(){const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)))[0],t=new w(e,0),n=new w(e,0);this.range=new E(t,n)}async copy(e=!1){if(!this.useClipboard)return;if(!this.range)return;if(!this.allowCopy)return;let t=this.getElementsByRange().list;if(0==t.length)return;let n="",a="";t.forEach((e=>{const t=e.element.clone();e.offset&&(t.textContent=t.textContent.substring(e.offset[0],e.offset[1])),t.__render(),n+=t.elm.outerHTML,a+=t.elm.innerText}));const o=new window.ClipboardItem({"text/html":new Blob([n],{type:"text/html"}),"text/plain":new Blob([a],{type:"text/plain"})});return await navigator.clipboard.write([o]),e||this.emit("copy",a,n),{text:a,html:n}}async cut(){if(!this.useClipboard)return;if(!this.range)return;if(!this.allowCut)return;const e=await this.copy(!0);return e&&(this.disabled||this.delete(),this.emit("cut",e.text,e.html)),e}delete(){if(!this.disabled&&this.range){if(this.range.anchor.isEqual(this.range.focus)){const e=this.getPreviousElementOfPoint(this.range.anchor),t=this.range.anchor.element.getBlock(),n=this.range.anchor.element.getInblock();if(n)if(0==this.range.anchor.offset)if(e){if(n.isContains(e))return this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),void this.delete();if("block"==n.behavior){const t=e.getBlock(),a=e.getInblock();a?"block"==a.behavior&&this.merge(n,a):this.merge(n,t)}}else this.emit("deleteInStart",n);else if(this.range.anchor.element.isSpaceText()){if(this.range.anchor.element.toEmpty(),!n.isEmpty())return this.range.anchor.offset=0,this.range.focus.offset=0,void this.delete();{const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(this.range.anchor.element.isText()){const e=this.range.anchor.element.textContent;this.range.anchor.offset-=1;const t=g(e[this.range.anchor.offset]);if(this.range.anchor.element.textContent=e.substring(0,this.range.anchor.offset)+e.substring(this.range.focus.offset),this.range.focus.offset=this.range.anchor.offset,t)return void this.delete();if(n.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const t=this.range.anchor.element.isBreak();if(this.range.anchor.element.toEmpty(),n.isEmpty())if(t&&"default"!=n.behavior){if(!e){const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(0==this.range.anchor.offset)if(e){if(t.isContains(e))return this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),void this.delete();{const n=e.getInblock(),a=e.getBlock();n?"block"==n.behavior&&this.merge(t,n):this.merge(t,a)}}else this.emit("deleteInStart",t);else if(this.range.anchor.element.isSpaceText()){if(this.range.anchor.element.toEmpty(),!t.isEmpty())return this.range.anchor.offset=0,this.range.focus.offset=0,void this.delete();{const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(this.range.anchor.element.isText()){const e=this.range.anchor.element.textContent;this.range.anchor.offset-=1;const n=g(e[this.range.anchor.offset]);if(this.range.anchor.element.textContent=e.substring(0,this.range.anchor.offset)+e.substring(this.range.focus.offset),this.range.focus.offset=this.range.anchor.offset,n)return void this.delete();if(t.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const n=this.range.anchor.element.isBreak();if(this.range.anchor.element.toEmpty(),t.isEmpty()&&(!n||!e)){const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}}else{const e=this.getElementsByRange().list.filter((e=>!y.VOID_NODES.includes(e.element.parsedom))),t=this.range.anchor.element.getInblock(),n=this.range.focus.element.getInblock(),a=this.range.anchor.element.getBlock(),o=this.range.focus.element.getBlock();t&&n&&t.isEqual(n)?e.forEach((e=>{if(e.offset?e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]):e.element.toEmpty(),t.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,t)}})):t&&n?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==t.behavior&&"block"==n.behavior&&this.merge(n,t)):t?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==t.behavior&&this.merge(o,t)):n?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==n.behavior&&this.merge(n,a)):a.isEqual(o)?e.forEach((e=>{if(e.offset?e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]):e.element.toEmpty(),a.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,a)}})):(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),this.merge(o,a))}this.range.anchor.element.isEmpty()&&L.apply(this,[this.range.anchor]),this.range.focus.element=this.range.anchor.element,this.range.focus.offset=this.range.anchor.offset,F.apply(this),this.emit("deleteComplete")}}insertText(e){if(!this.disabled&&this.range){if(!e||"string"!=typeof e)throw new Error("The argument must be a string");if(this.range.anchor.isEqual(this.range.focus))if(this.range.anchor.element.isPreStyle()||(e=e.replace(/\s/g,(()=>{const e=document.createElement("span");return e.innerHTML="&nbsp;",e.innerText}))),this.range.anchor.element.isText()){let t=this.range.anchor.element.textContent;this.range.anchor.element.textContent=t.substring(0,this.range.anchor.offset)+e+t.substring(this.range.anchor.offset),this.range.anchor.offset=this.range.anchor.offset+e.length,this.range.focus.offset=this.range.anchor.offset}else{const t=new y("text",null,null,null,e);0==this.range.anchor.offset?this.addElementBefore(t,this.range.anchor.element):this.addElementAfter(t,this.range.anchor.element),this.range.anchor.moveToEnd(t),this.range.focus.moveToEnd(t)}else this.delete(),this.insertText(e)}}insertParagraph(){if(!this.disabled&&this.range)if(this.range.anchor.isEqual(this.range.focus)){const e=this.getPreviousElementOfPoint(this.range.anchor),t=this.getNextElementOfPoint(this.range.anchor),n=this.range.anchor.element.getBlock(),a=this.range.anchor.element.getInblock(),o=this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1;if(a){if(this.range.anchor.element.isPreStyle()){this.insertText("\n");const e=y.getSpaceElement();this.insertElement(e),this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),this.emit("insertParagraph",null,a)}else if("block"==a.behavior)if(0!=this.range.anchor.offset||e&&a.isContains(e))if(this.range.anchor.offset!=o||t&&a.isContains(t)){const e=a.clone();this.addElementAfter(e,a);const t=y.flatElements(a.children).findIndex((e=>this.range.anchor.element.isEqual(e)));this.range.focus.moveToEnd(a),this.delete();const n=y.flatElements(e.children);this.range.focus.element=n[t],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(e),this.delete(),this.emit("insertParagraph",e,a)}else{const e=a.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementAfter(e,a),this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t),this.emit("insertParagraph",e,a)}else{const e=a.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementBefore(e,a),this.emit("insertParagraph",a,e)}}else if(this.range.anchor.element.isPreStyle()){this.insertText("\n");const e=y.getSpaceElement();this.insertElement(e),this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),this.emit("insertParagraph",null,n)}else if(0!=this.range.anchor.offset||e&&n.isContains(e))if(this.range.anchor.offset!=o||t&&n.isContains(t)){const e=n.clone();this.addElementAfter(e,n);const t=y.flatElements(n.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=this.range.anchor.offset;this.range.focus.moveToEnd(n),this.delete();const o=y.flatElements(e.children);this.range.focus.element=o[t],this.range.focus.offset=a,this.range.anchor.moveToStart(e),this.delete(),this.emit("insertParagraph",e,n)}else{const e=n.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementAfter(e,n),this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t),this.emit("insertParagraph",e,n)}else{const e=n.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementBefore(e,n),this.emit("insertParagraph",n,e)}}else this.delete(),this.insertParagraph()}insertElement(e,t=!0){if(!this.disabled&&this.range){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(!e.isEmpty())if(this.range.anchor.isEqual(this.range.focus)){const n=this.getPreviousElementOfPoint(this.range.anchor),a=this.getNextElementOfPoint(this.range.anchor),o=this.range.anchor.element.getBlock(),r=this.range.anchor.element.getInblock(),l=this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1;if(e.isInblock()&&"block"==e.behavior&&r&&"block"==r.behavior)if(r.isOnlyHasBreak()&&t)this.addElementBefore(e,r),r.toEmpty();else if(0!=this.range.anchor.offset||n&&r.isContains(n))if(this.range.anchor.offset!=l||a&&r.isContains(a)){const t=r.clone();this.addElementAfter(t,r),this.range.focus.moveToEnd(r),this.delete();const n=y.flatElements(r.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementBefore(e,t)}else this.addElementAfter(e,r);else this.addElementBefore(e,r);else if(e.isInblock()&&r)if(r.isOnlyHasBreak())this.addElementTo(e,r,0);else if(0!=this.range.anchor.offset||n&&r.isContains(n))if(this.range.anchor.offset!=l||a&&r.isContains(a)){const t=r.clone();this.addElementAfter(t,r),this.range.focus.moveToEnd(r),this.delete();const n=y.flatElements(r.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementTo(e,t),this.merge(t,r)}else this.addElementTo(e,r,r.children.length);else this.addElementTo(e,r,0);else if(e.isInblock())if(o.isOnlyHasBreak())this.addElementTo(e,o,0);else if(0!=this.range.anchor.offset||n&&o.isContains(n))if(this.range.anchor.offset!=l||a&&o.isContains(a)){const t=o.clone();this.addElementAfter(t,o),this.range.focus.moveToEnd(o),this.delete();const n=y.flatElements(o.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementTo(e,t),this.merge(t,o)}else this.addElementTo(e,o,o.children.length);else this.addElementTo(e,o,0);else if(e.isBlock())if(o.isOnlyHasBreak()&&t)this.addElementBefore(e,o),o.toEmpty();else if(0!=this.range.anchor.offset||n&&o.isContains(n))if(this.range.anchor.offset!=l||a&&o.isContains(a)){const t=o.clone();this.addElementAfter(t,o),this.range.focus.moveToEnd(o),this.delete();const n=y.flatElements(o.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementBefore(e,t)}else this.addElementAfter(e,o);else this.addElementBefore(e,o);else if(this.range.anchor.element.isText()){let t=this.range.anchor.element.textContent,n=this.range.anchor.element.clone();this.range.anchor.element.textContent=t.substring(0,this.range.anchor.offset),n.textContent=t.substring(this.range.anchor.offset),this.addElementAfter(n,this.range.anchor.element),this.addElementBefore(e,n)}else 0==this.range.anchor.offset?this.addElementBefore(e,this.range.anchor.element):this.addElementAfter(e,this.range.anchor.element);this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e)}else this.delete(),this.insertElement(e,t)}}formatElementStack(){const e=(t,n,a)=>{"boolean"!=typeof a&&(a=!1);let o=0;for(;o<t.length;)t[o]?t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):(n.apply(this,[t[o]]),t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):(!t[o].isBlock()&&a&&t[o].convertToBlock(),t[o].hasChildren()&&e(t[o].children,n),t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):o++)):t.splice(o,1)};let t=this.renderRules.filter((e=>"function"==typeof e));[T,S,N,O,A,R,A,...t].forEach((t=>{e(this.stack,t,!0)})),F.apply(this)}domRender(e=!1){this.emit("beforeRender");const t=document.createDocumentFragment();this.stack.forEach((e=>{e.__render(),t.appendChild(e.elm)})),this.$el.innerHTML="",this.$el.appendChild(t);const n=this.value;this.value=this.$el.innerHTML,(this.__firstRender||n!=this.value)&&(this.__firstRender||this.emit("change",this.value,n),e||this.history.push(this.stack,this.range)),this.__firstRender&&(this.__firstRender=!1),this.emit("afterRender")}rangeRender(){if(!this.disabled){if(this.range){const e=e=>{let t=null,n=null;if(e.element.isText())t=e.element.elm.childNodes[0],n=e.offset;else{t=e.element.parent.elm;const a=e.element.parent.children.findIndex((t=>e.element.isEqual(t)));n=e.offset+a}return{node:t,offset:n}};this.__innerSelectionChange=!0;const t=e(this.range.anchor),n=e(this.range.focus),a=window.getSelection();if(a){a.removeAllRanges();const e=document.createRange();e.setStart(t.node,t.offset),e.setEnd(n.node,n.offset),a.addRange(e)}}else{const e=window.getSelection();e&&e.removeAllRanges()}setTimeout((()=>{$.apply(this),this.__innerSelectionChange=!1,this.history.updateCurrentRange(this.range),this.emit("rangeUpdate",this.range)}),0)}}parseHtml(e){if(!e)throw new Error("You need to give an html content to convert");const t=document.createElement("div");t.innerHTML=e;let n=[];return Array.from(t.childNodes).forEach((e=>{if(1==e.nodeType||3==e.nodeType){const t=this.parseNode(e);n.push(t)}})),n}parseNode(e){if(!(e instanceof Node))throw new Error("The argument must be an node");if(1!=e.nodeType&&3!=e.nodeType)throw new Error("The argument must be an element node or text node");if(3==e.nodeType)return new y("text",null,null,null,e.textContent);const t=function(e){let t={};const n=e.attributes.length;for(let a=0;a<n;a++){const n=e.attributes[a];/(^on)|(^style$)|(^face$)/g.test(n.nodeName)||(t[n.nodeName]=n.nodeValue)}return t}(e),n=function(e){let t={};const n=e.getAttribute("style");if(n){let e=0,a=0,o=[];for(;e<n.length;)";"==n[e]&&"base64,"!=n.substring(e+1,e+8)&&(o.push(n.substring(a,e)),a=e+1),e==n.length-1&&a<e&&o.push(n.substring(a,e)),e++;o.forEach((e=>{const n=e.indexOf(":"),a=e.substring(0,n).trim(),o=e.substring(n+1).trim();t[a]=o}))}return t}(e),a=e.nodeName.toLocaleLowerCase();if("style"==a||"meta"==a||"script"==a||"link"==a)return new y("text",null,null,null,null);const o=_.find((e=>e.parsedom==a)),r=C.find((e=>e.parsedom==a)),l=B.find((e=>e.parsedom==a)),i=x.find((e=>e.parsedom==a));let s=null,d={type:"inblock",parsedom:a,marks:t,styles:n,behavior:"default"};if(o)d.type="block",o.parse&&(d.parsedom=y.BLOCK_NODE);else if(r)d.type="inblock",r.block&&(d.behavior="block");else if(l){if(d.type="inline",l.parse&&(d.parsedom=y.TEXT_NODE,c.isObject(l.parse)))for(let c in l.parse)"function"==typeof l.parse[c]?d.styles[c]=l.parse[c].apply(this,[e]):d.styles[c]=l.parse[c]}else i?d.type="closed":(d.type="inline",d.parsedom="span");return s=new y(d.type,d.parsedom,d.marks,d.styles,null),s.behavior=d.behavior,i||Array.from(e.childNodes).forEach((e=>{if(1==e.nodeType||3==e.nodeType){const t=this.parseNode(e);t.parent=s,s.hasChildren()?s.children.push(t):s.children=[t]}})),"function"==typeof this.customParseNode&&(s=this.customParseNode.apply(this,[s])),s}merge(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(!e.isBlock()&&!e.isInblock()||!t.isBlock()&&!t.isInblock())throw new Error('Elements that are not "block" or "inblock" cannot be merged');"function"==typeof this.customMerge?this.customMerge.apply(this,[e,t]):(t.children.push(...e.children),t.children.forEach((e=>{e.parent=t})),e.children=null)}getElementByKey(e){if(!e)throw new Error("You need to specify a key to do the query");const t=n=>{let a=null;const o=n.length;for(let r=0;r<o;r++){const o=n[r];if(o&&o.key===e){a=o;break}if(o&&o.hasChildren()){const e=t(o.children);if(e){a=e;break}}}return a};return t(this.stack)}getPreviousElement(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isBlock()){const t=this.stack.findIndex((t=>e.isEqual(t)));return t<=0?null:this.stack[t-1].isEmpty()?this.getPreviousElement(this.stack[t-1]):this.stack[t-1]}{const t=e.parent.children.findIndex((t=>e.isEqual(t)));return t<=0?null:e.parent.children[t-1].isEmpty()?this.getPreviousElement(e.parent.children[t-1]):e.parent.children[t-1]}}getNextElement(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isBlock()){const t=this.stack.findIndex((t=>e.isEqual(t)));return t>=this.stack.length-1?null:this.stack[t+1].isEmpty()?this.getNextElement(this.stack[t+1]):this.stack[t+1]}{const t=e.parent.children.findIndex((t=>e.isEqual(t)));return t>=e.parent.children.length-1?null:e.parent.children[t+1].isEmpty()?this.getNextElement(e.parent.children[t+1]):e.parent.children[t+1]}}getPreviousElementOfPoint(e){if(!w.isPoint(e))throw new Error("The argument must be an AlexPoint instance");const t=e=>{let n=null;for(let a=e.length-1;a>=0;a--){const o=e[a];if(!o.isEmpty()){if(o.isText()||o.isClosed()){n=o;break}if(n=t(o.children),n)break}}return n},n=e=>{const a=this.getPreviousElement(e);return a?a.isEmpty()?n(a):a.isText()||a.isClosed()?a:t(a.children):e.parent?n(e.parent):null};return n(e.element)}getNextElementOfPoint(e){if(!w.isPoint(e))throw new Error("The argument must be an AlexPoint instance");const t=e=>{let n=null;const a=e.length;for(let o=0;o<a;o++){const a=e[o];if(!a.isEmpty()){if(a.isText()||a.isClosed()){n=a;break}if(n=t(a.children),n)break}}return n},n=e=>{const a=this.getNextElement(e);return a?a.isEmpty()?n(a):a.isText()||a.isClosed()?a:t(a.children):e.parent?n(e.parent):null};return n(e.element)}getElementsByRange(){if(!this.range)return{list:[],flatList:[]};if(this.range.anchor.isEqual(this.range.focus))return{list:[],flatList:[]};if(this.range.anchor.element.isEqual(this.range.focus.element)){const e=0==this.range.anchor.offset&&this.range.focus.offset==(this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1);return{list:[{element:this.range.anchor.element,offset:!e&&[this.range.anchor.offset,this.range.focus.offset]}],flatList:[{element:this.range.anchor.element,offset:!e&&[this.range.anchor.offset,this.range.focus.offset]}]}}const e=(()=>{let e=[];const t=0==this.range.anchor.offset,n=this.range.focus.offset==(this.range.focus.element.isText()?this.range.focus.element.textContent.length:1),a=this.range.anchor.element.getBlock(),o=this.range.focus.element.getBlock(),r=this.stack.findIndex((e=>a.isEqual(e))),l=this.stack.findIndex((e=>o.isEqual(e)));let i=y.flatElements(this.stack.slice(r,l+1));const s=function(e){let t=e.element;for(;t.parent&&e.element.isFirst(t.parent);)t=t.parent;return t}(this.range.anchor),c=i.findIndex((e=>e.isEqual(s||this.range.anchor.element))),d=i.findIndex((e=>e.isEqual(this.range.focus.element)));(c>0||d<i.length-1)&&(i=i.slice(c,d+1));const u=i.length;for(let h=0;h<u;h++)if(this.range.anchor.element.isEqual(i[h]))t?e.push({element:this.range.anchor.element,offset:!1}):this.range.anchor.element.isText()&&this.range.anchor.offset<this.range.anchor.element.textContent.length&&e.push({element:this.range.anchor.element,offset:[this.range.anchor.offset,this.range.anchor.element.textContent.length]});else if(i[h].isContains(this.range.anchor.element)){const a=this.range.anchor.element.isFirst(i[h]),o=i[h].isContains(this.range.focus.element),r=this.range.focus.element.isLast(i[h]);(t&&a&&o&&r&&n||t&&a&&!o)&&e.push({element:i[h],offset:!1})}else if(this.range.focus.element.isEqual(i[h]))n?e.push({element:this.range.focus.element,offset:!1}):this.range.focus.offset>0&&e.push({element:this.range.focus.element,offset:[0,this.range.focus.offset]});else if(i[h].isContains(this.range.focus.element)){this.range.focus.element.isLast(i[h])&&n&&e.push({element:i[h],offset:!1})}else e.push({element:i[h],offset:!1});return e})();return{list:(e=>{let t=[],n=[],a=[];const o=e.length;for(let r=0;r<o;r++)if(e[r].element.isBlock())t.push(e[r]),n.push(e[r].element);else{const o=e[r].element.getBlock();let l=!1;for(let e=n.length-1;e>=0;e--)if(n[e].isEqual(o)){l=!0;break}if(!l){a.some((t=>t.isContains(e[r].element)))||(t.push(e[r]),(e[r].element.isInblock()||e[r].element.isInline())&&a.push(e[r].element))}}return t})(e),flatList:e}}addElementTo(e,t,n=0){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if("number"!=typeof n||isNaN(n)||n<0)throw new Error("The third argument must be an integer not less than 0");t.hasChildren()?n>=t.children.length?t.children.push(e):t.children.splice(n,0,e):t.children=[e],e.parent=t}addElementBefore(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(t.isBlock()){const n=this.stack.findIndex((e=>t.isEqual(e)));this.stack.splice(n,0,e),e.parent=null}else{const n=t.parent.children.findIndex((e=>t.isEqual(e)));this.addElementTo(e,t.parent,n)}}addElementAfter(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(t.isBlock()){const n=this.stack.findIndex((e=>t.isEqual(e)));n>=this.stack.length-1?this.stack.push(e):this.stack.splice(n+1,0,e),e.parent=null}else{const n=t.parent.children.findIndex((e=>t.isEqual(e)));this.addElementTo(e,t.parent,n+1)}}collapseToStart(e){if(this.disabled)return;let t=!1;if(this.range||(this.initRange(),t=!0),y.isElement(e))this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e);else{const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)));if(0==e.length)throw new Error("There is no element to set the focus");this.range.anchor.moveToStart(e[0]),this.range.focus.moveToStart(e[0])}t&&this.history.updateCurrentRange(this.range)}collapseToEnd(e){if(this.disabled)return;let t=!1;if(this.range||(this.initRange(),t=!0),y.isElement(e))this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e);else{const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))),t=e.length;if(0==t)throw new Error("There is no element to set the focus");this.range.anchor.moveToEnd(e[t-1]),this.range.focus.moveToEnd(e[t-1])}t&&this.history.updateCurrentRange(this.range)}setDisabled(){this.disabled=!0,this.$el.removeAttribute("contenteditable")}setEnabled(){this.disabled=!1,this.$el.setAttribute("contenteditable","true")}emit(e,...t){return!!Array.isArray(this.__events[e])&&(this.__events[e].forEach((e=>{e.apply(this,[...t])})),!0)}on(e,t){this.__events[e]||(this.__events[e]=[]),this.__events[e].push(t)}destroy(){this.setDisabled(),h.off(document,`selectionchange.alex_editor_${this.__guid}`),h.off(this.$el,"beforeinput.alex_editor compositionstart.alex_editor compositionupdate.alex_editor compositionend.alex_editor keydown.alex_editor cut.alex_editor paste.alex_editor copy.alex_editor dragstart.alex_editor drop.alex_editor focus.alex_editor blur.alex_editor")}}const Q={formatNumber(e){return this.isNumber(e)?e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,"):e},isNumber:e=>"number"==typeof e&&!isNaN(e),add:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o+t*o)/o})),subtract:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o-t*o)/o})),mutiply:(...e)=>e.reduce(((e,t)=>{let n=0,a=e.toString(),o=t.toString();try{n+=a.split(".")[1].length}catch(r){}try{n+=o.split(".")[1].length}catch(r){}return Number(a.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,n)})),divide:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=e.toString(),r=t.toString();try{n=o.split(".")[1].length}catch(l){}try{a=r.split(".")[1].length}catch(l){}return Number(o.replace(".",""))/Number(r.replace(".",""))*Math.pow(10,a-n)}))},J={insert(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if("string"!=typeof t)throw new TypeError("The second argument must be a string");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,n)+t+e.substring(n,e.length)},delete(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!Q.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,t)+e.substring(t+n,e.length)},replace(e,t,n,a){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!Q.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");if("string"!=typeof a)throw new TypeError("The fourth argument must be a string");return e.substring(0,t)+a+e.substring(n,e.length)},trim(e,t){if("string"!=typeof e)throw new TypeError("The first argument must be a string");let n=e.replace(/(^\s+)|(\s+$)/g,"");return t&&(n=n.replace(/\s/g,"")),n}},Y={isWindow:e=>e&&e instanceof Window,getElementPoint(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(this.isElement(t)||(t=document.body),!this.isContains(t,e))throw new Error("The second argument and the first argument have no hierarchical relationship");let n=e,a=0,o=0;for(;this.isElement(e)&&this.isContains(t,e)&&t!==e;)a+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent;return{top:a,left:o,right:t.offsetWidth-o-n.offsetWidth,bottom:t.offsetHeight-a-n.offsetHeight}},isContains(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e===t||(e.contains?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t)))},isParentNode(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e!==t&&t.parentNode===e},children(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");return[...e.querySelectorAll(t||"*")].filter((t=>t.parentNode===e))},siblings(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!e.parentNode)return[];return[...e.parentNode.querySelectorAll(t||"*")].filter((t=>t.parentNode===e.parentNode&&t!=e))},rem2px(e){if(!Q.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return Q.mutiply(e,parseFloat(t))},px2rem(e){if(!Q.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return Q.divide(e,parseFloat(t))},width(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientWidth,n=parseFloat(this.getCssStyle(e,"padding-left")),a=parseFloat(this.getCssStyle(e,"padding-right"));return Q.subtract(t,n,a)},height(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientHeight,n=parseFloat(this.getCssStyle(e,"padding-top")),a=parseFloat(this.getCssStyle(e,"padding-bottom"));return Q.subtract(t,n,a)},removeClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;J.trim(t).split(/\s+/).forEach((e=>{n.remove(e)}))},addClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;J.trim(t).split(/\s+/).forEach((e=>{n.add(e)}))},hasClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;return J.trim(t).split(/\s+/).every((e=>n.contains(e)))},scrollTopBottomTrigger(e,t){"string"==typeof e&&e&&(e=document.body.querySelector(e));let n=window;this.isElement(e)&&e!=document.body&&e!=document.documentElement&&(n=e),"function"==typeof e&&(t=e);let a=!0;n.addEventListener("scroll",(()=>{if(this.getScrollTop(n)<=0){if(!a)return;"function"==typeof t&&(a=!1,t({state:"top",target:n}))}else{let e={state:"bottom",target:n},o=0;if(o=n==window?window.innerHeight:n.clientHeight,Q.add(this.getScrollTop(n),o)+1>=this.getScrollHeight(n)&&o!=this.getScrollHeight(n)){if(!a)return;"function"==typeof t&&(a=!1,t(e))}else a=!0}}))},getScrollWidth(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollWidth:0==document.documentElement.scrollWidth||0==document.body.scrollWidth?document.documentElement.scrollWidth||document.body.scrollWidth:document.documentElement.scrollWidth>document.body.scrollWidth?document.documentElement.scrollWidth:document.body.scrollWidth,t},getScrollHeight(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollHeight:0==document.documentElement.scrollHeight||0==document.body.scrollHeight?document.documentElement.scrollHeight||document.body.scrollHeight:document.documentElement.scrollHeight>document.body.scrollHeight?document.documentElement.scrollHeight:document.body.scrollHeight,t},setScrollTop(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,o=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(o<=0)t?document.documentElement.scrollTop=document.body.scrollTop=a:n.scrollTop=a,e();else{let r=10,l=Q.divide(o,r),i=this.getScrollTop(n),s=Q.divide(Q.subtract(a,i),l),c=setInterval((()=>{l>0?(l--,t?document.documentElement.scrollTop=document.body.scrollTop=i=Q.add(i,s):n.scrollTop=i=Q.add(i,s)):(clearInterval(c),e())}),r)}}))},getScrollTop(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollTop:0==document.documentElement.scrollTop||0==document.body.scrollTop?document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,t},getScrollLeft(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollLeft:0==document.documentElement.scrollLeft||0==document.body.scrollLeft?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft>document.body.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,t},setScrollLeft(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,o=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(o<=0)t?document.documentElement.scrollLeft=document.body.scrollLeft=a:n.scrollLeft=a,e();else{let r=10,l=Q.divide(o,r),i=this.getScrollLeft(n),s=Q.divide(Q.subtract(a,i),l),c=setInterval((()=>{l>0?(l--,t?document.documentElement.scrollLeft=document.body.scrollLeft=i=Q.add(i,s):n.scrollLeft=i=Q.add(i,s)):(clearInterval(c),e())}),r)}}))},getCssStyle(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n="";return n=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(e)[t]:e.currentStyle[t],n},getCssSelector(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a selector string");if(/^#{1}/.test(e))return{type:"id",value:e.substr(1)};if(/^\./.test(e))return{type:"class",value:e.substr(1)};if(/^\[(.+)\]$/.test(e)){let t="attribute",n="",a=J.trim(e,!0).substring(1,J.trim(e,!0).length-1).split("=");return 1==a.length&&(n=a[0]),2==a.length&&(n={attributeName:a[0],attributeValue:a[1].replace(/\'/g,"").replace(/\"/g,"")}),{type:t,value:n}}return{type:"tag",value:e}},getElementBounding(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.getBoundingClientRect();return{top:t.top,bottom:Q.subtract(document.documentElement.clientHeight||window.innerHeight,t.bottom),left:t.left,right:Q.subtract(document.documentElement.clientWidth||window.innerWidth,t.right)}},isElement:e=>e&&e instanceof Node&&1===e.nodeType,string2dom(e,t){if(!e||"string"!=typeof e)throw new TypeError("The argument must be an HTML string");let n=document.createElement(t||"div");return n.innerHTML=e,1==n.children.length?n.children[0]:Array.from(n.children)}},ee="_dap-datas",te={remove(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[ee]||{};null==t||""===t?e[ee]={}:(delete n[t],e[ee]=n)},has(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");return(e[ee]||{}).hasOwnProperty(t)},get(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[ee]||{};return null==t||""===t?n:n[t]},set(e,t,n){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");let a=e[ee]||{};a[t]=n,e[ee]=a}},ne={matchingText(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=null;if("Chinese"==t&&(n=/^[\u4e00-\u9fa5]+$/),"chinese"==t&&(n=/[\u4e00-\u9fa5]/),"email"==t&&(n=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/),"username"==t&&(n=/^[a-zA-Z0-9_]{4,16}$/),"int+"==t&&(n=/^\d+$/),"int-"==t&&(n=/^-\d+$/),"int"==t&&(n=/^-?\d+$/),"pos"==t&&(n=/^\d*\.?\d+$/),"neg"==t&&(n=/^-\d*\.?\d+$/),"number"==t&&(n=/^-?\d*\.?\d+$/),"phone"==t&&(n=/^1[0-9]\d{9}$/),"idCard"==t&&(n=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/),"url"==t&&(n=/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#-]+\.?)+(\/[^\s]*)?$/),"IPv4"==t&&(n=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/),"hex"==t&&(n=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/),"rgb"==t&&(n=/^rgb\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\)$/),"rgba"==t&&(n=/^rgba\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(0?\.\d|1(\.0)?|0)\)$/),"QQ"==t&&(n=/^[1-9][0-9]{4,10}$/),"weixin"==t&&(n=/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/),"plate"==t&&(n=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/),!n)throw new Error("The second parameter is out of scope");return n.test(e)},getUrlParams(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1);if(!n){let e=window.location.hash.split("?");2==e.length&&(n=e[1])}let a=n.match(t);return a?decodeURIComponent(a[2]):null},isEmptyObject(e){return!!this.isObject(e)&&0==Object.keys(e).length},equal(e,t){if(typeof e!=typeof t)return!1;if(this.isObject(e)&&this.isObject(t)){let n=Object.getOwnPropertyNames(e),a=Object.getOwnPropertyNames(t);if(n.length!=a.length)return!1;let o=n.length,r=!0;for(let l=0;l<o;l++){let a=n[l],o=e[a],i=t[a];if(!this.equal(o,i)){r=!1;break}}return r}return e===t},isObject:e=>!("object"!=typeof e||!e),copyText(e){if(!e||"string"!=typeof e)throw new TypeError("No text to copy is defined");if(!navigator.clipboard)throw new Error("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the method won't work");return navigator.clipboard.writeText(e)},clone(e){if(this.isObject(e)){if(Array.isArray(e))return e.map((e=>this.clone(e)));let t={};for(let n in e)t[n]=this.clone(e[n]);return t}return e}},ae=e=>{let t=e.split(/[\s]+/g),n=[];return t.forEach((e=>{let t=e.split("."),a={eventName:t[0]};t.length>1&&(a.guid=t[1]),n.push(a)})),n},oe=(e,t,n)=>{let a=te.get(e,"dap-defined-events")||{},o=Object.keys(a),r=o.length;for(let l=0;l<r;l++){let r=o[l];a[r].type==t&&(n?r==t+"."+n&&(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0):(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0))}a=(e=>{let t={};return Object.keys(e).forEach((n=>{e[n]&&(t[n]=e[n])})),t})(a),te.set(e,"dap-defined-events",a)},re={on(e,t,n,a){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!n||"function"!=typeof n)throw new TypeError("The third argument must be a function");ne.isObject(a)||(a={});ae(t).forEach((t=>{((e,t,n,a,o)=>{let r=te.get(e,"dap-defined-events")||{};n||(n=te.get(e,"dap-event-guid")||0,te.set(e,"dap-event-guid",n+1)),r[n=t+"."+n]&&r[n].type==t&&e.removeEventListener(t,r[n].fn,r[n].options),e.addEventListener(t,a,o),r[n]={type:t,fn:a,options:o},te.set(e,"dap-defined-events",r)})(e,t.eventName,t.guid,n.bind(e),a)}))},off(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=te.get(e,"dap-defined-events");if(!n)return;if(!t){let t=Object.keys(n),a=t.length;for(let o=0;o<a;o++){let a=t[o];e.removeEventListener(n[a].type,n[a].fn,n[a].options)}return te.remove(e,"dap-defined-events"),void te.remove(e,"dap-event-guid")}ae(t).forEach((t=>{oe(e,t.eventName,t.guid)}))},get(e){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let t=te.get(e,"dap-defined-events");if(t)return t}},le={rgb2hsv(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");let t=0,n=0,a=0,o=e[0]>=255?255:e[0],r=e[1]>=255?255:e[1],l=e[2]>=255?255:e[2];o=o<=0?0:o,r=r<=0?0:r,l=l<=0?0:l;let i=Math.max(o,r,l),s=Math.min(o,r,l);return a=i/255,n=0===i?0:1-s/i,i===s?t=0:i===o&&r>=l?t=(r-l)/(i-s)*60+0:i===o&&r<l?t=(r-l)/(i-s)*60+360:i===r?t=(l-o)/(i-s)*60+120:i===l&&(t=(o-r)/(i-s)*60+240),[t,100*n,100*a]},hsv2rgb(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");let t=e[0]>=360||e[0]<=0?0:e[0],n=e[1]>=100?100:e[1];n=n<=0?0:n;let a=e[2]>=100?100:e[2];a=a<=0?0:a,n/=100,a/=100;let o=0,r=0,l=0,i=parseInt(t/60%6+""),s=t/60-i,c=a*(1-n),d=a*(1-s*n),u=a*(1-(1-s)*n);switch(i){case 0:o=a,r=u,l=c;break;case 1:o=d,r=a,l=c;break;case 2:o=c,r=a,l=u;break;case 3:o=c,r=d,l=a;break;case 4:o=u,r=c,l=a;break;case 5:o=a,r=c,l=d}return o=parseInt(255*o+""),r=parseInt(255*r+""),l=parseInt(255*l+""),[o,r,l]},rgb2hex(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");return"#"+((1<<24)+(e[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1)},hex2rgb(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=e.toLowerCase();if(!ne.matchingText(t,"hex"))throw new TypeError("The argument must be a hexadecimal color value");if(4===t.length){let e="#";for(let n=1;n<4;n+=1)e+=t.slice(n,n+1).concat(t.slice(n,n+1));t=e}let n=[];for(let a=1;a<7;a+=2)n.push(parseInt("0x"+t.slice(a,a+2)));return n}},ie={getImageUrl(e){if(!(e&&e instanceof File))throw new TypeError("The argument must be a File object");return window.URL.createObjectURL(e)},dataFileToBase64:e=>new Promise(((t,n)=>{e&&e instanceof File||n(new TypeError("The argument must be a File object"));let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>{let e=a.result;t(e)}})),dataBase64toFile(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.split(","),a=n[0].match(/:(.*?);/)[1],o=atob(n[1]),r=o.length,l=new Uint8Array(r);for(;r--;)l[r]=o.charCodeAt(r);return new File([l],t,{type:a})},compressImage(e,t){const n={width:void 0,quality:.8,mimeType:"jpeg",maxSize:0,minSize:0};ne.isObject(t)&&(Q.isNumber(t.width)&&(n.width=t.width),Q.isNumber(t.quality)&&t.quality>=0&&t.quality<=1&&(n.quality=t.quality),"jpeg"!=t.mimeType&&"webp"!=t.mimeType||(n.mimeType=t.mimeType),Q.isNumber(t.maxSize)&&(n.maxSize=t.maxSize),Q.isNumber(t.minSize)&&(n.minSize=t.minSize));const a=(e,t,o)=>{let r=e.toDataURL("image/"+n.mimeType,o),l=this.dataBase64toFile(r,t);if(n.maxSize>0&&l.size>1024*n.maxSize){o=o<=0?0:Number((o-.01).toFixed(2));const n=a(e,t,o);r=n.url,l=n.file,o=n.quality}return{file:l,url:r,quality:o}};return new Promise(((t,o)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>{let l=r.result,i=new Image;i.src=l,i.onload=()=>{if(n.minSize>0&&e.size<=1024*n.minSize)return void t({file:e,url:l,quality:1,width:i.width,height:i.height});let o=document.createElement("canvas"),r=o.getContext("2d");o.width=n.width||i.width,o.height=n.width?n.width/(i.width/i.height):i.height,r.drawImage(i,0,0,o.width,o.height);let s=e.name.lastIndexOf(".");const c=e.name.substring(0,s)+"."+n.mimeType;let d=a(o,c,n.quality);t({...d,width:o.width,height:o.height})},i.onerror=()=>{o(new Error("Failed to load image file"))}},r.onerror=()=>{o(new Error("Failed to load image file"))}}))}};function se(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ce(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{const n=e[t],a=typeof n;"object"!==a&&"function"!==a||Object.isFrozen(n)||ce(n)})),e}class de{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function ue(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function he(e,...t){const n=Object.create(null);for(const a in e)n[a]=e[a];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const me=e=>!!e.scope;class fe{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=ue(e)}openNode(e){if(!me(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){me(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const ge=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class pe{constructor(){this.rootNode=ge(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=ge({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{pe._collapse(e)})))}}class be extends pe{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new fe(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ve(e){return e?"string"==typeof e?e:e.source:null}function ye(e){return ke("(?=",e,")")}function Ee(e){return ke("(?:",e,")*")}function we(e){return ke("(?:",e,")?")}function ke(...e){return e.map((e=>ve(e))).join("")}function _e(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>ve(e))).join("|")+")"}function xe(e){return new RegExp(e.toString()+"|").exec("").length-1}const Ce=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Be(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n;let a=ve(e),o="";for(;a.length>0;){const e=Ce.exec(a);if(!e){o+=a;break}o+=a.substring(0,e.index),a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?o+="\\"+String(Number(e[1])+t):(o+=e[0],"("===e[0]&&n++)}return o})).map((e=>`(${e})`)).join(t)}const Te="[a-zA-Z]\\w*",Se="[a-zA-Z_]\\w*",Ne="\\b\\d+(\\.\\d+)?",Oe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",Re={begin:"\\\\[\\s\\S]",relevance:0},Me={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Re]},Ie={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Re]},Le=function(e,t,n={}){const a=he({scope:"comment",begin:e,end:t,contains:[]},n);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const o=_e("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:ke(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},De=Le("//","$"),$e=Le("/\\*","\\*/"),Fe=Le("#","$"),ze={scope:"number",begin:Ne,relevance:0},Pe={scope:"number",begin:Oe,relevance:0},He={scope:"number",begin:Ae,relevance:0},Ve={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Re,{begin:/\[/,end:/\]/,relevance:0,contains:[Re]}]},je={scope:"title",begin:Te,relevance:0},We={scope:"title",begin:Se,relevance:0},Ue={begin:"\\.\\s*"+Se,relevance:0};var qe=Object.freeze({__proto__:null,APOS_STRING_MODE:Me,BACKSLASH_ESCAPE:Re,BINARY_NUMBER_MODE:He,BINARY_NUMBER_RE:Ae,COMMENT:Le,C_BLOCK_COMMENT_MODE:$e,C_LINE_COMMENT_MODE:De,C_NUMBER_MODE:Pe,C_NUMBER_RE:Oe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:Fe,IDENT_RE:Te,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:Ue,NUMBER_MODE:ze,NUMBER_RE:Ne,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:Ie,REGEXP_MODE:Ve,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=ke(t,/.*\b/,e.binary,/\b.*/)),he({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:je,UNDERSCORE_IDENT_RE:Se,UNDERSCORE_TITLE_MODE:We});function Ke(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function Ze(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function Ge(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Ke,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Xe(e,t){Array.isArray(e.illegal)&&(e.illegal=_e(...e.illegal))}function Qe(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Je(e,t){void 0===e.relevance&&(e.relevance=1)}const Ye=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]})),e.keywords=n.keywords,e.begin=ke(n.beforeMatch,ye(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},et=["of","and","for","in","not","or","if","then","parent","list","value"],tt="keyword";function nt(e,t,n=tt){const a=Object.create(null);return"string"==typeof e?o(n,e.split(" ")):Array.isArray(e)?o(n,e):Object.keys(e).forEach((function(n){Object.assign(a,nt(e[n],t,n))})),a;function o(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");a[n[0]]=[e,at(n[0],n[1])]}))}}function at(e,t){return t?Number(t):function(e){return et.includes(e.toLowerCase())}(e)?0:1}const ot={},rt=e=>{console.error(e)},lt=(e,...t)=>{console.log(`WARN: ${e}`,...t)},it=(e,t)=>{ot[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ot[`${e}/${t}`]=!0)},st=new Error;function ct(e,t,{key:n}){let a=0;const o=e[n],r={},l={};for(let i=1;i<=t.length;i++)l[i+a]=o[i],r[i+a]=!0,a+=xe(t[i-1]);e[n]=l,e[n]._emit=r,e[n]._multi=!0}function dt(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw rt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),st;if("object"!=typeof e.beginScope||null===e.beginScope)throw rt("beginScope must be object"),st;ct(e,e.begin,{key:"beginScope"}),e.begin=Be(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw rt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),st;if("object"!=typeof e.endScope||null===e.endScope)throw rt("endScope must be object"),st;ct(e,e.end,{key:"endScope"}),e.end=Be(e.end,{joinWith:""})}}(e)}function ut(e){function t(t,n){return new RegExp(ve(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=xe(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=t(Be(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),a=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,a)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=he(e.classNameAliases||{}),function n(o,r){const l=o;if(o.isCompiled)return l;[Ze,Qe,dt,Ye].forEach((e=>e(o,r))),e.compilerExtensions.forEach((e=>e(o,r))),o.__beforeBegin=null,[Ge,Xe,Je].forEach((e=>e(o,r))),o.isCompiled=!0;let i=null;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),i=o.keywords.$pattern,delete o.keywords.$pattern),i=i||/\w+/,o.keywords&&(o.keywords=nt(o.keywords,e.case_insensitive)),l.keywordPatternRe=t(i,!0),r&&(o.begin||(o.begin=/\B|\b/),l.beginRe=t(l.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),o.end&&(l.endRe=t(l.end)),l.terminatorEnd=ve(l.end)||"",o.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),o.illegal&&(l.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return he(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(ht(e))return he(e,{starts:e.starts?he(e.starts):null});if(Object.isFrozen(e))return he(e);return e}("self"===e?o:e)}))),o.contains.forEach((function(e){n(e,l)})),o.starts&&n(o.starts,r),l.matcher=function(e){const t=new a;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(l),l}(e)}function ht(e){return!!e&&(e.endsWithParent||ht(e.starts))}class mt extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const ft=ue,gt=he,pt=Symbol("nomatch"),bt=function(e){const t=Object.create(null),n=Object.create(null),a=[];let o=!0;const r="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]};let i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:be};function s(e){return i.noHighlightRe.test(e)}function c(e,t,n){let a="",o="";"object"==typeof t?(a=e,n=t.ignoreIllegals,o=t.language):(it("10.7.0","highlight(lang, code, ...args) has been deprecated."),it("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,a=t),void 0===n&&(n=!0);const r={code:a,language:o};v("before:highlight",r);const l=r.result?r.result:d(r.language,r.code,n);return l.code=r.code,v("after:highlight",l),l}function d(e,n,a,l){const s=Object.create(null);function c(){if(!C.keywords)return void T.addText(S);let e=0;C.keywordPatternRe.lastIndex=0;let t=C.keywordPatternRe.exec(S),n="";for(;t;){n+=S.substring(e,t.index);const o=k.case_insensitive?t[0].toLowerCase():t[0],r=(a=o,C.keywords[a]);if(r){const[e,a]=r;if(T.addText(n),n="",s[o]=(s[o]||0)+1,s[o]<=7&&(N+=a),e.startsWith("_"))n+=t[0];else{const n=k.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=C.keywordPatternRe.lastIndex,t=C.keywordPatternRe.exec(S)}var a;n+=S.substring(e),T.addText(n)}function h(){null!=C.subLanguage?function(){if(""===S)return;let e=null;if("string"==typeof C.subLanguage){if(!t[C.subLanguage])return void T.addText(S);e=d(C.subLanguage,S,!0,B[C.subLanguage]),B[C.subLanguage]=e._top}else e=u(S,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(N+=e.relevance),T.__addSublanguage(e._emitter,e.language)}():c(),S=""}function m(e,t){""!==e&&(T.startScope(t),T.addText(e),T.endScope())}function f(e,t){let n=1;const a=t.length-1;for(;n<=a;){if(!e._emit[n]){n++;continue}const a=k.classNameAliases[e[n]]||e[n],o=t[n];a?m(o,a):(S=o,c(),S=""),n++}}function p(e,t){return e.scope&&"string"==typeof e.scope&&T.openNode(k.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(S,k.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),S=""):e.beginScope._multi&&(f(e.beginScope,t),S="")),C=Object.create(e,{parent:{value:C}}),C}function b(e,t,n){let a=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(a){if(e["on:end"]){const n=new de(e);e["on:end"](t,n),n.isMatchIgnored&&(a=!1)}if(a){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return b(e.parent,t,n)}function v(e){return 0===C.matcher.regexIndex?(S+=e[0],1):(R=!0,0)}function y(e){const t=e[0],a=n.substring(e.index),o=b(C,e,a);if(!o)return pt;const r=C;C.endScope&&C.endScope._wrap?(h(),m(t,C.endScope._wrap)):C.endScope&&C.endScope._multi?(h(),f(C.endScope,e)):r.skip?S+=t:(r.returnEnd||r.excludeEnd||(S+=t),h(),r.excludeEnd&&(S=t));do{C.scope&&T.closeNode(),C.skip||C.subLanguage||(N+=C.relevance),C=C.parent}while(C!==o.parent);return o.starts&&p(o.starts,e),r.returnEnd?0:t.length}let E={};function w(t,r){const l=r&&r[0];if(S+=t,null==l)return h(),0;if("begin"===E.type&&"end"===r.type&&E.index===r.index&&""===l){if(S+=n.slice(r.index,r.index+1),!o){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=E.rule,t}return 1}if(E=r,"begin"===r.type)return function(e){const t=e[0],n=e.rule,a=new de(n),o=[n.__beforeBegin,n["on:begin"]];for(const r of o)if(r&&(r(e,a),a.isMatchIgnored))return v(t);return n.skip?S+=t:(n.excludeBegin&&(S+=t),h(),n.returnBegin||n.excludeBegin||(S=t)),p(n,e),n.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=new Error('Illegal lexeme "'+l+'" for mode "'+(C.scope||"<unnamed>")+'"');throw e.mode=C,e}if("end"===r.type){const e=y(r);if(e!==pt)return e}if("illegal"===r.type&&""===l)return 1;if(A>1e5&&A>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return S+=l,l.length}const k=g(e);if(!k)throw rt(r.replace("{}",e)),new Error('Unknown language: "'+e+'"');const _=ut(k);let x="",C=l||_;const B={},T=new i.__emitter(i);!function(){const e=[];for(let t=C;t!==k;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach((e=>T.openNode(e)))}();let S="",N=0,O=0,A=0,R=!1;try{if(k.__emitTokens)k.__emitTokens(n,T);else{for(C.matcher.considerAll();;){A++,R?R=!1:C.matcher.considerAll(),C.matcher.lastIndex=O;const e=C.matcher.exec(n);if(!e)break;const t=w(n.substring(O,e.index),e);O=e.index+t}w(n.substring(O))}return T.finalize(),x=T.toHTML(),{language:e,value:x,relevance:N,illegal:!1,_emitter:T,_top:C}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:e,value:ft(n),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:O,context:n.slice(O-100,O+100),mode:M.mode,resultSoFar:x},_emitter:T};if(o)return{language:e,value:ft(n),illegal:!1,relevance:0,errorRaised:M,_emitter:T,_top:C};throw M}}function u(e,n){n=n||i.languages||Object.keys(t);const a=function(e){const t={value:ft(e),illegal:!1,relevance:0,_top:l,_emitter:new i.__emitter(i)};return t._emitter.addText(e),t}(e),o=n.filter(g).filter(b).map((t=>d(t,e,!1)));o.unshift(a);const r=o.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(g(e.language).supersetOf===t.language)return 1;if(g(t.language).supersetOf===e.language)return-1}return 0})),[s,c]=r,u=s;return u.secondBest=c,u}function h(e){let t=null;const a=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=i.languageDetectRe.exec(t);if(n){const t=g(n[1]);return t||(lt(r.replace("{}",n[1])),lt("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>s(e)||g(e)))}(e);if(s(a))return;if(v("before:highlightElement",{el:e,language:a}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);if(e.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),i.throwUnescapedHTML)){throw new mt("One of your code blocks includes unescaped HTML.",e.innerHTML)}t=e;const o=t.textContent,l=a?c(o,{language:a,ignoreIllegals:!0}):u(o);e.innerHTML=l.value,e.dataset.highlighted="yes",function(e,t,a){const o=t&&n[t]||a;e.classList.add("hljs"),e.classList.add(`language-${o}`)}(e,a,l.language),e.result={language:l.language,re:l.relevance,relevance:l.relevance},l.secondBest&&(e.secondBest={language:l.secondBest.language,relevance:l.secondBest.relevance}),v("after:highlightElement",{el:e,result:l,text:o})}let m=!1;function f(){if("loading"===document.readyState)return void(m=!0);document.querySelectorAll(i.cssSelector).forEach(h)}function g(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function p(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function b(e){const t=g(e);return t&&!t.disableAutodetect}function v(e,t){const n=e;a.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){m&&f()}),!1),Object.assign(e,{highlight:c,highlightAuto:u,highlightAll:f,highlightElement:h,highlightBlock:function(e){return it("10.7.0","highlightBlock will be removed entirely in v12.0"),it("10.7.0","Please use highlightElement now."),h(e)},configure:function(e){i=gt(i,e)},initHighlighting:()=>{f(),it("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){f(),it("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(n,a){let r=null;try{r=a(e)}catch(i){if(rt("Language definition for '{}' could not be registered.".replace("{}",n)),!o)throw i;rt(i),r=l}r.name||(r.name=n),t[n]=r,r.rawDefinition=a.bind(null,e),r.aliases&&p(r.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:g,registerAliases:p,autoDetection:b,inherit:gt,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),a.push(e)},removePlugin:function(e){const t=a.indexOf(e);-1!==t&&a.splice(t,1)}}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString="11.9.0",e.regex={concat:ke,lookahead:ye,either:_e,optional:we,anyNumberOfTimes:Ee};for(const y in qe)"object"==typeof qe[y]&&ce(qe[y]);return Object.assign(e,qe),e},vt=bt({});vt.newInstance=()=>bt({});var yt=vt;vt.HighlightJS=vt,vt.default=vt;const Et=se(yt);const wt="[A-Za-z$_][0-9A-Za-z$_]*",kt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],_t=["true","false","null","undefined","NaN","Infinity"],xt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ct=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Bt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Tt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],St=[].concat(Bt,xt,Ct);var Nt="[0-9](_*[0-9])*",Ot=`\\.(${Nt})`,At="[0-9a-fA-F](_*[0-9a-fA-F])*",Rt={className:"number",variants:[{begin:`(\\b(${Nt})((${Ot})|\\.)?|(${Ot}))[eE][+-]?(${Nt})[fFdD]?\\b`},{begin:`\\b(${Nt})((${Ot})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ot})[fFdD]?\\b`},{begin:`\\b(${Nt})[fFdD]\\b`},{begin:`\\b0[xX]((${At})\\.?|(${At})?\\.(${At}))[pP][+-]?(${Nt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${At})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Mt(e,t,n){return-1===n?"":e.replace(t,(a=>Mt(e,t,n-1)))}const It="[A-Za-z$_][0-9A-Za-z$_]*",Lt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Dt=["true","false","null","undefined","NaN","Infinity"],$t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ft=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Pt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ht=[].concat(zt,$t,Ft);const Vt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],jt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Wt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Ut=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],qt=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const Kt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Zt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Gt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Xt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Qt=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),Jt=Gt.concat(Xt);const Yt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],en=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],tn=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],nn=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],an=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function on(e){return e?"string"==typeof e?e:e.source:null}function rn(e){return ln("(?=",e,")")}function ln(...e){return e.map((e=>on(e))).join("")}function sn(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>on(e))).join("|")+")"}const cn=e=>ln(/\b/,e,/\w$/.test(e)?/\b/:/\B/),dn=["Protocol","Type"].map(cn),un=["init","self"].map(cn),hn=["Any","Self"],mn=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],fn=["false","nil","true"],gn=["assignment","associativity","higherThan","left","lowerThan","none","right"],pn=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],bn=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],vn=sn(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),yn=sn(vn,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),En=ln(vn,yn,"*"),wn=sn(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),kn=sn(wn,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),_n=ln(wn,kn,"*"),xn=ln(/[A-Z]/,kn,"*"),Cn=["attached","autoclosure",ln(/convention\(/,sn("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",ln(/objc\(/,_n,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Bn=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];var Tn="[0-9](_*[0-9])*",Sn=`\\.(${Tn})`,Nn="[0-9a-fA-F](_*[0-9a-fA-F])*",On={className:"number",variants:[{begin:`(\\b(${Tn})((${Sn})|\\.)?|(${Sn}))[eE][+-]?(${Tn})[fFdD]?\\b`},{begin:`\\b(${Tn})((${Sn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Sn})[fFdD]?\\b`},{begin:`\\b(${Tn})[fFdD]\\b`},{begin:`\\b0[xX]((${Nn})\\.?|(${Nn})?\\.(${Nn}))[pP][+-]?(${Tn})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Nn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};Et.registerLanguage("plaintext",(function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),Et.registerLanguage("json",(function(e){const t=["true","false","null"],n={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),Et.registerLanguage("javascript",(function(e){const t=e.regex,n=wt,a="<>",o="</>",r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let o;">"===a&&(((e,{after:t})=>{const n="</"+e[0].slice(1);return-1!==e.input.indexOf(n,t)})(e,{after:n})||t.ignoreMatch());const r=e.input.substring(n);((o=r.match(/^\s*=/))||(o=r.match(/^\s+extends\s+/))&&0===o.index)&&t.ignoreMatch()}},l={$pattern:wt,keyword:kt,literal:_t,built_in:St,"variable.language":Tt},i="[0-9](_?[0-9])*",s=`\\.(${i})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${i})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},m={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},f={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},g={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},p={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,m,f,g,{match:/\$\d+/},d];u.contains=b.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(b)});const v=[].concat(p,u.contains),y=v.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(v)}]),E={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y},w={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...xt,...Ct]}},_={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},x={match:t.concat(/\b/,(C=[...Bt,"super","import"],t.concat("(?!",C.join("|"),")")),n,t.lookahead(/\(/)),className:"title.function",relevance:0};var C;const B={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},T={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},S="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(S)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:y,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,m,f,g,p,{match:/\$\d+/},d,k,{className:"attr",begin:n+t.lookahead(":"),relevance:0},N,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,e.REGEXP_MODE,{className:"function",begin:S,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a,end:o},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},w,T,{match:/\$[(.]/}]}})),Et.registerLanguage("java",(function(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+Mt("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),o={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},r={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,Rt,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},Rt,r]}})),Et.registerLanguage("typescript",(function(e){const t=function(e){const t=e.regex,n=It,a="<>",o="</>",r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let o;">"===a&&(((e,{after:t})=>{const n="</"+e[0].slice(1);return-1!==e.input.indexOf(n,t)})(e,{after:n})||t.ignoreMatch());const r=e.input.substring(n);((o=r.match(/^\s*=/))||(o=r.match(/^\s+extends\s+/))&&0===o.index)&&t.ignoreMatch()}},l={$pattern:It,keyword:Lt,literal:Dt,built_in:Ht,"variable.language":Pt},i="[0-9](_?[0-9])*",s=`\\.(${i})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${i})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},m={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},f={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},g={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},p={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,m,f,g,{match:/\$\d+/},d];u.contains=b.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(b)});const v=[].concat(p,u.contains),y=v.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(v)}]),E={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y},w={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...$t,...Ft]}},_={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},x={match:t.concat(/\b/,(C=[...zt,"super","import"],t.concat("(?!",C.join("|"),")")),n,t.lookahead(/\(/)),className:"title.function",relevance:0};var C;const B={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},T={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},S="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(S)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:y,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,m,f,g,p,{match:/\$\d+/},d,k,{className:"attr",begin:n+t.lookahead(":"),relevance:0},N,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,e.REGEXP_MODE,{className:"function",begin:S,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a,end:o},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},w,T,{match:/\$[(.]/}]}}(e),n=It,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[t.exports.CLASS_REFERENCE]},r={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[t.exports.CLASS_REFERENCE]},l={$pattern:It,keyword:Lt.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:Dt,built_in:Ht.concat(a),"variable.language":Pt},i={className:"meta",begin:"@"+n},s=(e,t,n)=>{const a=e.contains.findIndex((e=>e.label===t));if(-1===a)throw new Error("can not find mode to replace");e.contains.splice(a,1,n)};return Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(i),t.contains=t.contains.concat([i,o,r]),s(t,"shebang",e.SHEBANG()),s(t,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t})),Et.registerLanguage("python",(function(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},r={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},i={begin:/\{\{/,relevance:0},s={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r,i,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,i,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,i,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i,l]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,u=`\\b|${a.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${u})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${u})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${u})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${u})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${u})`},{begin:`\\b(${c})[jJ](?=${u})`}]},m={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",r,h,s,e.HASH_COMMENT_MODE]}]};return l.contains=[s,h,r],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[r,h,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},s,m,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,f,s]}]}})),Et.registerLanguage("php",(function(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),o=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),r={scope:"variable",match:"\\$+"+a},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},i=e.inherit(e.APOS_STRING_MODE,{illegal:null}),s="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),i,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},u=["false","null","true"],h=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],f={keyword:h,literal:(e=>{const t=[];return e.forEach((e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())})),t})(u),built_in:m},g=e=>e.map((e=>e.replace(/\|\d+$/,""))),p={variants:[{match:[/new/,t.concat(s,"+"),t.concat("(?!",g(m).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},b=t.concat(a,"\\b(?!\\()"),v={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),b],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,t.concat(/::/,t.lookahead(/(?!class\b)/)),b],scope:{1:"title.class",3:"variable.constant"}},{match:[o,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},y={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},E={relevance:0,begin:/\(/,end:/\)/,keywords:f,contains:[y,r,v,e.C_BLOCK_COMMENT_MODE,c,d,p]},w={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",g(h).join("\\b|"),"|",g(m).join("\\b|"),"\\b)"),a,t.concat(s,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[E]};E.contains.push(w);const k=[y,v,e.C_BLOCK_COMMENT_MODE,c,d,p];return{case_insensitive:!1,keywords:f,contains:[{begin:t.concat(/#\[\s*/,o),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]},contains:["self",...k]},...k,{scope:"meta",match:o}]},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,v,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},p,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:f,contains:["self",r,v,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]}})),Et.registerLanguage("css",(function(e){const t=e.regex,n=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Wt.join("|")+")"},{begin:":(:)?("+Ut.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+qt.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:jt.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Vt.join("|")+")\\b"}]}})),Et.registerLanguage("less",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=Jt,a="[\\w-]+",o="("+a+"|@\\{"+a+"\\})",r=[],l=[],i=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},s=function(e,t,n){return{className:e,begin:t,relevance:n}},c={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Zt.join(" ")},d={begin:"\\(",end:"\\)",contains:l,keywords:c,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i("'"),i('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,d,s("variable","@@?"+a,10),s("variable","@\\{"+a+"\\}"),s("built_in","~?`[^`]*?`"),{className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const u=l.concat({begin:/\{/,end:/\}/,contains:r}),h={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},m={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qt.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},f={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:l,relevance:0}},g={className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a}],starts:{end:"[;}]",returnEnd:!0,contains:u}},p={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,s("keyword","all\\b"),s("variable","@\\{"+a+"\\}"),{begin:"\\b("+Kt.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,s("selector-tag",o,0),s("selector-id","#"+o),s("selector-class","\\."+o,0),s("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Gt.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Xt.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:u},{begin:"!important"},t.FUNCTION_DISPATCH]},b={begin:a+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[p]};return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f,g,b,m,p,h,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}})),Et.registerLanguage("scss",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=nn,a=tn,o="@[a-z-]+",r={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Yt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+a.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},r,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+an.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,r,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:o,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:en.join(" ")},contains:[{begin:o,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}})),Et.registerLanguage("html",(function(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=e.inherit(o,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),i=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,i,l,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,r,i,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:s}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Et.registerLanguage("markdown",(function(e){const t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[]}),l=e.inherit(o,{contains:[]});a.contains.push(l),o.contains.push(r);let i=[t,n];return[a,o,r,l].forEach((e=>{e.contains=e.contains.concat(i)})),i=i.concat(a,o),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},t,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a,o,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},n,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),Et.registerLanguage("objectivec",(function(e){const t=/[a-zA-Z@][a-zA-Z0-9_]*/,n={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+n.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}})),Et.registerLanguage("swift",(function(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,n],o={match:[/\./,sn(...dn,...un)],className:{2:"keyword"}},r={match:ln(/\./,sn(...mn)),relevance:0},l=mn.filter((e=>"string"==typeof e)).concat(["_|0"]),i={variants:[{className:"keyword",match:sn(...mn.filter((e=>"string"!=typeof e)).concat(hn).map(cn),...un)}]},s={$pattern:sn(/\b\w+/,/#\w+/),keyword:l.concat(pn),literal:fn},c=[o,r,i],d=[{match:ln(/\./,sn(...bn)),relevance:0},{className:"built_in",match:ln(/\b/,sn(...bn),/(?=\()/)}],u={match:/->/,relevance:0},h=[u,{className:"operator",relevance:0,variants:[{match:En},{match:`\\.(\\.|${yn})+`}]}],m="([0-9]_*)+",f="([0-9a-fA-F]_*)+",g={className:"number",relevance:0,variants:[{match:`\\b(${m})(\\.(${m}))?([eE][+-]?(${m}))?\\b`},{match:`\\b0x(${f})(\\.(${f}))?([pP][+-]?(${m}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},p=(e="")=>({className:"subst",variants:[{match:ln(/\\/,e,/[0\\tnr"']/)},{match:ln(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),b=(e="")=>({className:"subst",match:ln(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(e="")=>({className:"subst",label:"interpol",begin:ln(/\\/,e,/\(/),end:/\)/}),y=(e="")=>({begin:ln(e,/"""/),end:ln(/"""/,e),contains:[p(e),b(e),v(e)]}),E=(e="")=>({begin:ln(e,/"/),end:ln(/"/,e),contains:[p(e),v(e)]}),w={className:"string",variants:[y(),y("#"),y("##"),y("###"),E(),E("#"),E("##"),E("###")]},k=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],_={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:k},x=e=>{const t=ln(e,/\//),n=ln(/\//,e);return{begin:t,end:n,contains:[...k,{scope:"comment",begin:`#(?!.*${n})`,end:/$/}]}},C={scope:"regexp",variants:[x("###"),x("##"),x("#"),_]},B={match:ln(/`/,_n,/`/)},T=[B,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${kn}+`}],S=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Bn,contains:[...h,g,w]}]}},{scope:"keyword",match:ln(/@/,sn(...Cn))},{scope:"meta",match:ln(/@/,_n)}],N={match:rn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:ln(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,kn,"+")},{className:"type",match:xn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:ln(/\s+&\s+/,rn(xn)),relevance:0}]},O={begin:/</,end:/>/,keywords:s,contains:[...a,...c,...S,u,N]};N.contains.push(O);const A={begin:/\(/,end:/\)/,relevance:0,keywords:s,contains:["self",{match:ln(_n,/\s*:/),keywords:"_|0",relevance:0},...a,C,...c,...d,...h,g,w,...T,...S,N]},R={begin:/</,end:/>/,keywords:"repeat each",contains:[...a,N]},M={begin:/\(/,end:/\)/,keywords:s,contains:[{begin:sn(rn(ln(_n,/\s*:/)),rn(ln(_n,/\s+/,_n,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:_n}]},...a,...c,...h,g,w,...S,N,A],endsParent:!0,illegal:/["']/},I={match:[/(func|macro)/,/\s+/,sn(B.match,_n,En)],className:{1:"keyword",3:"title.function"},contains:[R,M,t],illegal:[/\[/,/%/]},L={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[R,M,t],illegal:/\[|%/},D={match:[/operator/,/\s+/,En],className:{1:"keyword",3:"title"}},$={begin:[/precedencegroup/,/\s+/,xn],className:{1:"keyword",3:"title"},contains:[N],keywords:[...gn,...fn],end:/}/};for(const F of w.variants){const e=F.contains.find((e=>"interpol"===e.label));e.keywords=s;const t=[...c,...d,...h,g,w,...T];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:s,contains:[...a,I,L,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:s,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c]},D,$,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},C,...c,...d,...h,g,w,...T,...S,N,A]}})),Et.registerLanguage("dart",(function(e){const t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},n={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"},a={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]}]};n.contains=[e.C_NUMBER_MODE,a];const o=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=o.map((e=>`${e}?`));return{name:"Dart",keywords:{keyword:["abstract","as","assert","async","await","base","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","interface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","sealed","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","when","while","with","yield"],built_in:o.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/},contains:[a,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}})),Et.registerLanguage("nginx",(function(e){const t=e.regex,n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},a={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:a.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}\\{]"}})),Et.registerLanguage("go",(function(e){const t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,illegal:/["']/}]}]}})),Et.registerLanguage("http",(function(e){const t="HTTP/([32]|1\\.[01])",n={className:"attribute",begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},a=[n,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+t+" \\d{3})",end:/$/,contains:[{className:"meta",begin:t},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},{begin:"(?=^[A-Z]+ (.*?) "+t+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:t},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},e.inherit(n,{relevance:0})]}})),Et.registerLanguage("ruby",(function(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=t.concat(a,/(::\w+)*/),r={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},l={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},s=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u="[0-9](_?[0-9])*",h={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},m={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:r}]},f=[d,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:r},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[m]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:n}],relevance:0},h,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,s),relevance:0}].concat(i,s);c.contains=f,m.contains=f;const g=[{begin:/^\s*=>/,starts:{end:"$",contains:f}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:r,contains:f}}];return s.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(g).concat(s).concat(f)}})),Et.registerLanguage("c",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",r="("+a+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},u=t.optional(o)+e.IDENT_RE+"\\s*\\(",h={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},m=[c,l,n,e.C_BLOCK_COMMENT_MODE,s,i],f={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:h,contains:m.concat([{begin:/\(/,end:/\)/,keywords:h,contains:m.concat(["self"]),relevance:0}]),relevance:0},g={begin:"("+r+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,i,s,l,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,i,s,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:h,disableAutodetect:!0,illegal:"</",contains:[].concat(f,g,m,[c,{begin:e.IDENT_RE+"::",keywords:h},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:i,keywords:h}}})),Et.registerLanguage("cpp",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},u=t.optional(o)+e.IDENT_RE+"\\s*\\(",h={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},m={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},f=[m,c,l,n,e.C_BLOCK_COMMENT_MODE,s,i],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:h,contains:f.concat([{begin:/\(/,end:/\)/,keywords:h,contains:f.concat(["self"]),relevance:0}]),relevance:0},p={className:"function",begin:"("+r+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[i,s]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,i,s,l,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,i,s,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:h,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(g,p,m,f,[c,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:h,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:h},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),Et.registerLanguage("csharp",(function(e){const t={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},r=e.inherit(o,{illegal:/\n/}),l={className:"subst",begin:/\{/,end:/\}/,keywords:t},i=e.inherit(l,{illegal:/\n/}),s={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,i]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]},d=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},i]});l.contains=[c,s,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],i.contains=[d,s,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const u={variants:[c,s,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},m=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",f={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},u,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+m+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,h],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[u,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},f]}})),Et.registerLanguage("sql",(function(e){const t=e.regex,n=e.COMMENT("--","$"),a=["true","false","unknown"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],l=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],i=r,s=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={begin:t.concat(/\b/,t.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:t,when:n}={}){const a=n;return t=t||[],e.map((e=>e.match(/\|\d+$/)||t.includes(e)?e:a(e)?`${e}|0`:e))}(s,{when:e=>e.length<3}),literal:a,type:o,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:t.either(...l),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:s.concat(l),literal:a,type:o}},{className:"type",begin:t.either("double precision","large object","with timezone","without timezone")},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),Et.registerLanguage("shell",(function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),Et.registerLanguage("r",(function(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),Et.registerLanguage("kotlin",(function(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,a]}]};a.contains.push(r);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},i={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}]},s=On,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},u=d;return u.variants[1].contains=[d],d.variants[1].contains=[u],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,l,i,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,l,i,r,e.C_NUMBER_MODE]},c]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,i]},r,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},s]}})),Et.registerLanguage("rust",(function(e){const t=e.regex,n={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e.IDENT_RE,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{begin:"\\b0x([A-Fa-f0-9_]+)"+a},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+a}],relevance:0},{begin:[/fn/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,e.UNDERSCORE_IDENT_RE,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:o,type:r}},{className:"punctuation",begin:"->"},n]}})),Et.configure({cssSelector:"pre",classPrefix:"editify-hljs-",ignoreUnescapedHTML:!0});const An=[{label:"Plain Text",value:"plaintext"},{label:"JSON",value:"json"},{label:"JavaScript",value:"javascript"},{label:"Java",value:"java"},{label:"TypeScript",value:"typescript"},{label:"Python",value:"python"},{label:"PHP",value:"php"},{label:"CSS",value:"css"},{label:"Less",value:"less"},{label:"Scss",value:"scss"},{label:"HTML",value:"html"},{label:"Markdown",value:"markdown"},{label:"Objective-C",value:"objectivec"},{label:"Swift",value:"swift"},{label:"Dart",value:"dart"},{label:"Nginx",value:"nginx"},{label:"HTTP",value:"http"},{label:"Go",value:"go"},{label:"Ruby",value:"ruby"},{label:"C",value:"c"},{label:"C++",value:"cpp"},{label:"C#",value:"csharp"},{label:"SQL",value:"sql"},{label:"Shell",value:"shell"},{label:"R",value:"r"},{label:"Kotlin",value:"kotlin"},{label:"Rust",value:"rust"}],Rn={"data-editify-list":["div"],"data-editify-value":["div"],"data-editify-code":["span"],"data-editify-task":["div"],contenteditable:"*",src:["img","video"],autoplay:["video"],loop:["video"],muted:["video"],href:["a"],target:["a"],alt:["img"],controls:["video"],name:"*",disabled:"*",colspan:["td"]},Mn={"text-indent":"*","text-align":"*"},In=function(e,t){if(!ne.isObject(e)&&ne.isObject(t))return null;for(let n in t)ne.isObject(t[n])&&!Array.isArray(t[n])&&ne.isObject(e[n])&&!Array.isArray(e[n])?e[n]=In(e[n],t[n]):e[n]=t[n];return e},Ln=function(e,t,n){if(null==n||null==n)return e.hasOwnProperty(t);let a=e[t];if(null==a||null==a)return!1;if("string"==typeof n&&(n=n.toLocaleLowerCase()),"string"==typeof a&&(a=a.toLocaleLowerCase()),"string"==typeof n&&n&&(ne.matchingText(n,"rgb")||ne.matchingText(n,"rgba"))&&(n=J.trim(n,!0)),"string"==typeof a&&a&&(ne.matchingText(a,"rgb")||ne.matchingText(a,"rgba"))&&(a=J.trim(a,!0)),"string"==typeof n&&n&&ne.matchingText(n,"hex")){const e=le.hex2rgb(n);n=`rgb(${e[0]},${e[1]},${e[2]})`}if("string"==typeof a&&a&&ne.matchingText(a,"hex")){const e=le.hex2rgb(a);a=`rgb(${e[0]},${e[1]},${e[2]})`}return a==n},Dn=function(e){return ne.isObject(e)||Array.isArray(e)?JSON.parse(JSON.stringify(e)):e},$n=function(e){return{heading:[{label:e("text"),value:"p"},{label:e("h1"),value:"h1",style:{fontSize:"26px",fontWeight:"bold"}},{label:e("h2"),value:"h2",style:{fontSize:"24px",fontWeight:"bold"}},{label:e("h3"),value:"h3",style:{fontSize:"22px",fontWeight:"bold"}},{label:e("h4"),value:"h4",style:{fontSize:"20px",fontWeight:"bold"}},{label:e("h5"),value:"h5",style:{fontSize:"18px",fontWeight:"bold"}},{label:e("h6"),value:"h6",style:{fontSize:"16px",fontWeight:"bold"}}],indent:[{label:e("indentIncrease"),value:"indent-increase",icon:"indent-increase"},{label:e("indentDecrease"),value:"indent-decrease",icon:"indent-decrease"}],align:[{label:e("alignLeft"),value:"left",icon:"align-left"},{label:e("alignRight"),value:"right",icon:"align-right"},{label:e("alignCenter"),value:"center",icon:"align-center"},{label:e("alignJustify"),value:"justify",icon:"align-justify"}],fontSize:[{label:e("defaultSize"),value:""},{label:"12px",value:"12px"},{label:"14px",value:"14px"},{label:"16px",value:"16px"},{label:"18px",value:"18px"},{label:"20px",value:"20px"},{label:"24px",value:"24px"},{label:"28px",value:"28px"},{label:"32px",value:"32px"},{label:"36px",value:"36px"},{label:"40px",value:"40px"}],fontFamily:[{label:e("defaultFontFamily"),value:""},{label:"黑体",value:"黑体,黑体-简"},{label:"华文仿宋",value:"华文仿宋"},{label:"楷体",value:"楷体,楷体-简"},{label:"华文楷体",value:"华文楷体"},{label:"宋体",value:"宋体,宋体-简"},{label:"Arial",value:"Arial"},{label:"Consolas",value:"Consolas,monospace"}],lineHeight:[{label:e("defaultLineHeight"),value:""},1,1.15,1.5,2,2.5,3],foreColor:["#000000","#505050","#808080","#BBBBBB","#CCCCCC","#EEEEEE","#F7F7F7","#FFFFFF","#EC1A0A","#FF9900","#FFFF00","#07C160","#00FFFF","#0B73DE","#9C00FF","#FF00FF","#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE","#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD","#e45649","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5","#CE0000","#E79439","#EFC631","#50a14f","#4A7B8C","#03A8F3","#634AA5","#A54A7B","#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842","#630000","#7B3900","#986801","#295218","#083139","#003163","#21104A","#4A1031"],backColor:["#000000","#505050","#808080","#BBBBBB","#CCCCCC","#EEEEEE","#F7F7F7","#FFFFFF","#EC1A0A","#FF9900","#FFFF00","#07C160","#00FFFF","#0B73DE","#9C00FF","#FF00FF","#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE","#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD","#e45649","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5","#CE0000","#E79439","#EFC631","#50a14f","#4A7B8C","#03A8F3","#634AA5","#A54A7B","#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842","#630000","#7B3900","#986801","#295218","#083139","#003163","#21104A","#4A1031"]}},Fn=(e,t)=>e.isBlock()?e.parsedom==t?e:null:e.isText()||e.parsedom!=t?Fn(e.parent,t):e,zn=(e,t,n)=>{if(!e.range)return null;if(e.range.anchor.element.isEqual(e.range.focus.element))return Fn(e.range.anchor.element,n);const a=t.list.map((e=>Fn(e.element,n)));if(a.some((e=>null==e)))return null;if(1==a.length)return a[0];let o=!0;for(let r=1;r<a.length;r++)if(!a[r].isEqual(a[0])){o=!1;break}return o?a[0]:null},Pn=(e,t)=>!!Vn(e,t)||!!e.parent&&Pn(e.parent,t),Hn=e=>!!jn(e)||!!e.parent&&Hn(e.parent),Vn=function(e,t=!1){return"div"==e.parsedom&&e.hasMarks()&&e.marks["data-editify-list"]==(t?"ol":"ul")},jn=function(e){return"div"==e.parsedom&&e.hasMarks()&&e.marks.hasOwnProperty("data-editify-task")},Wn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"pre"):t.flatList.some((e=>!!Fn(e.element,"pre")))),Un=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"blockquote"):t.flatList.some((e=>!!Fn(e.element,"blockquote")))),qn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"blockquote"):t.list.every((e=>!!Fn(e.element,"blockquote")))),Kn=(e,t,n=!1)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Pn(e.range.anchor.element,n):t.list.every((e=>Pn(e.element,n)))),Zn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Hn(e.range.anchor.element):t.list.every((e=>Hn(e.element)))),Gn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"a"):t.flatList.some((e=>!!Fn(e.element,"a")))),Xn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"table"):t.flatList.some((e=>!!Fn(e.element,"table")))),Qn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"img"):t.flatList.some((e=>!!Fn(e.element,"img")))),Jn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"video"):t.flatList.some((e=>!!Fn(e.element,"video")))),Yn=(e,t,n,a)=>{if(!e.range)return!1;if(e.range.anchor.isEqual(e.range.focus))return!(!e.range.anchor.element.isText()||!e.range.anchor.element.hasStyles())&&Ln(e.range.anchor.element.styles,n,a);let o=t.flatList.filter((e=>e.element.isText()));return 0!=o.length&&o.every((e=>!!e.element.hasStyles()&&Ln(e.element.styles,n,a)))},ea=(e,t,n,a)=>{if(!e.range)return!1;if(e.range.anchor.isEqual(e.range.focus))return!(!e.range.anchor.element.isText()||!e.range.anchor.element.hasMarks())&&Ln(e.range.anchor.element.marks,n,a);let o=t.flatList.filter((e=>e.element.isText()));return 0!=o.length&&o.every((e=>!!e.element.hasMarks()&&Ln(e.element.marks,n,a)))},ta=e=>{let t="";return e.flatList.forEach((e=>{e.element.isText()&&(e.offset?t+=e.element.textContent.substring(e.offset[0],e.offset[1]):t+=e.element.textContent||"")})),t},na=(e,t)=>{if(!e.range)return[];let n=t.flatList.length,a=[];for(let o=0;o<n;o++){const r=t.flatList[o];if(r.offset){let t=null;if(0==r.offset[0]&&r.offset[1]<r.element.textContent.length){const n=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[1]),n.textContent=n.textContent.substring(r.offset[1]),e.addElementAfter(n,r.element),t=r.element}else if(r.offset[1]==r.element.textContent.length&&r.offset[0]>0){const n=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[0]),n.textContent=n.textContent.substring(r.offset[0]),e.addElementAfter(n,r.element),t=n}else if(r.offset[0]>0&&r.offset[1]<r.element.textContent.length){const n=r.element.clone(),a=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[0]),n.textContent=n.textContent.substring(r.offset[0],r.offset[1]),a.textContent=a.textContent.substring(r.offset[1]),e.addElementAfter(n,r.element),e.addElementAfter(a,n),t=n}t&&(0==o&&e.range.anchor.moveToStart(t),o==n-1&&e.range.focus.moveToEnd(t),a.push(t))}else a.push(r.element)}return a},aa=function(e){e.marks=null,e.styles=null,e.parsedom=y.BLOCK_NODE},oa=function(e,t=!1){Vn(e,t)||(aa(e),e.parsedom="div",e.hasMarks()||(e.marks={}),e.marks["data-editify-list"]=t?"ol":"ul")},ra=function(e){jn(e)||(aa(e),e.parsedom="div",e.hasMarks()||(e.marks={}),e.marks["data-editify-task"]="uncheck")},la=(e,t,n,a)=>{if(!e.range)return;if(!$n(n).heading.map((e=>e.value)).includes(a))throw new Error("The parameter supports only h1-h6 and p");if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),t.parsedom=a}else t.list.forEach((e=>{if(e.element.isBlock())aa(e.element),e.element.parsedom=a;else{const t=e.element.getBlock();aa(t),t.parsedom=a}}))},ia=(e,t)=>{if(!e.range)return;const n=e=>{if(e.hasStyles())if(e.styles.hasOwnProperty("text-indent")){let t=e.styles["text-indent"];t=t.endsWith("em")?parseFloat(t):0,e.styles["text-indent"]=`${t+2}em`}else e.styles["text-indent"]="2em";else e.styles={"text-indent":"2em"}};if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}else t.list.forEach((e=>{const t=e.element.getBlock(),a=e.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}))},sa=(e,t)=>{if(!e.range)return;const n=e=>{if(e.hasStyles()&&e.styles.hasOwnProperty("text-indent")){let t=e.styles["text-indent"];t=t.endsWith("em")?parseFloat(t):0,e.styles["text-indent"]=(t-2>=0?t-2:0)+"em"}};if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}else t.list.forEach((e=>{const t=e.element.getBlock(),a=e.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}))},ca=(e,t)=>{if(!e.range)return;const n=qn(e,t);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),n||(t.parsedom="blockquote")}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{aa(e),n||(e.parsedom="blockquote")}))}},da=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a?a.hasStyles()?a.styles["text-align"]=n:a.styles={"text-align":n}:t.hasStyles()?t.styles["text-align"]=n:t.styles={"text-align":n}}else t.list.forEach((e=>{if(e.element.isBlock()||e.element.isInblock())e.element.hasStyles()?e.element.styles["text-align"]=n:e.element.styles={"text-align":n};else{const t=e.element.getBlock(),a=e.element.getInblock();a?a.hasStyles()?a.styles["text-align"]=n:a.styles={"text-align":n}:t.hasStyles()?t.styles["text-align"]=n:t.styles={"text-align":n}}}))},ua=(e,t,n)=>{if(!e.range)return;const a=Kn(e,t,n);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();a?aa(t):oa(t,n)}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{a?aa(e):oa(e,n)}))}},ha=(e,t)=>{if(!e.range)return;const n=Zn(e,t);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();n?aa(t):ra(t)}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{n?aa(e):ra(e)}))}},ma=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus))if(e.range.anchor.element.isSpaceText())e.range.anchor.element.hasStyles()?Object.assign(e.range.anchor.element.styles,Dn(n)):e.range.anchor.element.styles=Dn(n);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),t.hasStyles()?Object.assign(t.styles,Dn(n)):t.styles=Dn(n),e.insertElement(t)}else{const t=y.getSpaceElement();t.styles=Dn(n),e.insertElement(t)}else{na(e,t).forEach((e=>{e.isText()&&(e.hasStyles()?Object.assign(e.styles,Dn(n)):e.styles=Dn(n))}))}},fa=(e,t,n)=>{if(e.range){if(!ne.isObject(n))throw new Error("The argument must be an object");if(e.range.anchor.isEqual(e.range.focus))if(e.range.anchor.element.isSpaceText())e.range.anchor.element.hasMarks()?Object.assign(e.range.anchor.element.marks,Dn(n)):e.range.anchor.element.marks=Dn(n);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),t.hasMarks()?Object.assign(t.marks,Dn(n)):t.marks=Dn(n),e.insertElement(t)}else{const t=y.getSpaceElement();t.marks=Dn(n),e.insertElement(t)}else{na(e,t).forEach((e=>{e.isText()&&(e.hasMarks()?Object.assign(e.marks,Dn(n)):e.marks=Dn(n))}))}}},ga=(e,t,n)=>{if(!e.range)return;const a=e=>{if(Array.isArray(n)){if(e.hasStyles()){let t={};Object.keys(e.styles).forEach((a=>{n.includes(a)||(t[a]=e.styles[a])})),e.styles=t}}else e.styles=null};if(e.range.anchor.isEqual(e.range.focus)){if(e.range.anchor.element.isSpaceText())a(e.range.anchor.element);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),a(t),e.insertElement(t)}}else{na(e,t).forEach((e=>{e.isText()&&a(e)}))}},pa=(e,t,n)=>{if(!e.range)return;const a=e=>{if(Array.isArray(n)){if(e.hasMarks()){let t={};Object.keys(e.marks).forEach((a=>{n.includes(a)||(t[a]=e.marks[a])})),e.marks=t}}else e.marks=null};if(e.range.anchor.isEqual(e.range.focus)){if(e.range.anchor.element.isSpaceText())a(e.range.anchor.element);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),a(t),e.insertElement(t)}}else{na(e,t).forEach((e=>{e.isText()&&a(e)}))}},ba=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a?a.hasStyles()?a.styles["line-height"]=n:a.styles={"line-height":n}:t.hasStyles()?t.styles["line-height"]=n:t.styles={"line-height":n}}else t.list.forEach((e=>{if(e.element.isBlock()||e.element.isInblock())e.element.hasStyles()?e.element.styles["line-height"]=n:e.element.styles={"line-height":n};else{const t=e.element.getBlock(),a=e.element.getInblock();a?a.hasStyles()?a.styles["line-height"]=n:a.styles={"line-height":n}:t.hasStyles()?t.styles["line-height"]=n:t.styles={"line-height":n}}}))},va=(e,t,n,a)=>{if(!e.range)return;t||(t=n);const o={href:n};a&&(o.target="_blank");const r=new y("inline","a",o,null,null),l=new y("text",null,null,null,t);e.addElementTo(l,r),e.insertElement(r)},ya=(e,t)=>{if(!e.range)return;const n=new y("closed","img",{src:t},null,null);e.insertElement(n)},Ea=(e,t)=>{if(!e.range)return;const n=new y("closed","video",{src:t},null,null);e.insertElement(n);const a=y.getSpaceElement(),o=y.getSpaceElement();e.addElementAfter(o,n),e.addElementBefore(a,n),e.range.anchor.moveToEnd(o),e.range.focus.moveToEnd(o)},wa=(e,t,n)=>{if(!e.range)return;const a=new y("block","table",null,null,null),o=new y("inblock","tbody",null,null,null);e.addElementTo(o,a);for(let i=0;i<t;i++){const t=new y("inblock","tr",null,null,null);for(let a=0;a<n;a++){const n=new y("inblock","td",null,null,null),a=new y("closed","br",null,null,null);e.addElementTo(a,n),e.addElementTo(n,t)}e.addElementTo(t,o)}e.insertElement(a);const r=new y("block",y.BLOCK_NODE,null,null,null),l=new y("closed","br",null,null,null);e.addElementTo(l,r),e.addElementAfter(r,a),e.range.anchor.moveToStart(o),e.range.focus.moveToStart(o)},ka=(e,t)=>{if(!e.range)return;const n=zn(e,t,"pre");if(n){let t="";y.flatElements(n.children).filter((e=>e.isText())).forEach((e=>{t+=e.textContent}));t.split("\n").forEach((t=>{const a=new y("block",y.BLOCK_NODE,null,null,null),o=new y("text",null,null,null,t);e.addElementTo(o,a),e.addElementBefore(a,n)})),n.toEmpty()}else if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),t.parsedom="pre";const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);e.addElementTo(a,n),e.addElementAfter(n,t)}else{e.range.anchor.moveToStart(t.list[0].element.getBlock()),e.range.focus.moveToEnd(t.list[t.list.length-1].element.getBlock());const n=t.flatList.filter((e=>e.element.isText())),a={};n.forEach((e=>{a[e.element.getBlock().key]?a[e.element.getBlock().key].push(e.element.clone()):a[e.element.getBlock().key]=[e.element.clone()]}));const o=new y("block","pre",null,null,null);Object.keys(a).forEach(((t,n)=>{if(n>0){const t=new y("text",null,null,null,"\n");o.hasChildren()?e.addElementTo(t,o,o.children.length):e.addElementTo(t,o)}a[t].forEach((t=>{o.hasChildren()?e.addElementTo(t,o,o.children.length):e.addElementTo(t,o)}))})),e.delete(),e.insertElement(o);const r=new y("block",y.BLOCK_NODE,null,null,null),l=new y("closed","br",null,null,null);e.addElementTo(l,r),e.addElementAfter(r,o)}},_a=function(e,t){if("table"==t.parsedom){const n={"data-editify-element":t.key};t.hasMarks()?Object.assign(t.marks,n):t.marks=n;const a={"white-space":"pre-wrap","word-break":"break-word"};t.hasStyles()?Object.assign(t.styles,a):t.styles=a;const o=y.flatElements(t.children),r=o.filter((e=>"tr"==e.parsedom));let l=o.find((e=>"colgroup"==e.parsedom));if(l)l.children.forEach((e=>{e.hasMarks()?e.marks.width||(e.marks.width="auto"):e.marks={width:"auto"}}));else{l=new y("inblock","colgroup",null,null,null);for(let t=function(e){const t=e.children||[];let n=0;return t.forEach((e=>{if(e.hasMarks()&&e.marks.hasOwnProperty("colspan")){const t=Number(e.marks.colspan);isNaN(t)||(n+=t)}else n+=1})),n}(r[0])-1;t>=0;t--){const t=new y("closed","col",{width:"auto"},null,null);e.addElementTo(t,l)}}t.children=[];const i=new y("inblock","tbody",null,null,null);r.reverse().forEach((t=>{e.addElementTo(t,i)})),e.addElementTo(i,t),e.addElementTo(l,t)}"th"==t.parsedom&&(t.parsedom="td")},xa=function(e,t,n,a){if("pre"==t.parsedom){const o={"data-editify-element":t.key};if(t.hasMarks()?Object.assign(t.marks,o):t.marks=o,n&&t.hasChildren()){let n=t.marks["data-editify-hljs"]||"";if(n&&a){a.some((e=>ne.isObject(e)?e.value==n:e==n))||(n="")}const o=y.flatElements(t.children).filter((e=>e.isText()&&!e.isEmpty())),r=function(e,t){return t?Et.highlight(e,{language:t,ignoreIllegals:!0}).value:Et.highlightAuto(e).value}(o.reduce(((e,t)=>e+t.textContent),""),n);if(r){const n=e.parseHtml(r);t.children=n,n.forEach((e=>{e.parent=t})),((e,t,n,a)=>{if(e.range){if(e.range.anchor.element.getBlock().isEqual(t)){const t=n.findIndex((t=>e.range.anchor.element.isEqual(t))),o=n.filter(((e,n)=>n<t)).reduce(((e,t)=>e+t.textContent.length),0)+e.range.anchor.offset,r=y.flatElements(a).filter((e=>e.isText()&&!e.isEmpty()));let l=0,i=0;for(;l<r.length;){let t=i+r[l].textContent.length;if(o>=i&&o<=t){e.range.anchor.element=r[l],e.range.anchor.offset=o-i;break}l++,i=t}}if(e.range.focus.element.getBlock().isEqual(t)){const t=n.findIndex((t=>e.range.focus.element.isEqual(t))),o=n.filter(((e,n)=>n<t)).reduce(((e,t)=>e+t.textContent.length),0)+e.range.focus.offset,r=y.flatElements(a).filter((e=>e.isText()&&!e.isEmpty()));let l=0,i=0;for(;l<r.length;){let t=i+r[l].textContent.length;if(o>=i&&o<=t){e.range.focus.element=r[l],e.range.focus.offset=o-i;break}l++,i=t}}}})(e,t,o,n)}}}},Ca={placement:{type:String,default:"top",validator:e=>["top","left","right","bottom"].includes(e)},color:{type:String,default:null},background:{type:String,default:null}},Ba=["data-editify-placement"],Ta=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n},Sa=Ta(t.defineComponent({name:"Triangle",__name:"triangle",props:Ca,setup(e){const n=e,a=t.computed((()=>"top"==n.placement?{borderBottomColor:n.color||""}:"bottom"==n.placement?{borderTopColor:n.color||""}:"left"==n.placement?{borderRightColor:n.color||""}:"right"==n.placement?{borderLeftColor:n.color||""}:{})),o=t.computed((()=>"top"==n.placement?{borderBottomColor:n.background||""}:"bottom"==n.placement?{borderTopColor:n.background||""}:"left"==n.placement?{borderRightColor:n.background||""}:"right"==n.placement?{borderLeftColor:n.background||""}:{}));return(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:"editify-triangle",style:t.normalizeStyle(a.value),"data-editify-placement":e.placement},[t.createElementVNode("div",{class:"editify-triangle-el",style:t.normalizeStyle(o.value)},null,4)],12,Ba))}}),[["__scopeId","data-v-c92dc653"]]),Na={modelValue:{type:Boolean,default:!1},node:{type:[String,HTMLElement],default:null},border:{type:Boolean,default:!1},borderColor:{type:String,default:null},background:{type:String,default:null},color:{type:String,default:null},placement:{type:String,default:"bottom",validator:e=>["top","bottom","top-start","top-end","bottom-start","bottom-end"].includes(e)},showTriangle:{type:Boolean,default:!1},zIndex:{type:Number,default:10},animation:{type:String,default:null,validator:e=>["translate","fade",null].includes(e)},useRange:{type:Boolean,default:!1}},Oa=["data-editify-placement"],Aa=Ta(t.defineComponent({name:"Layer",__name:"layer",props:Na,emits:["update:modelValue","show","shown","hidden"],setup(e,{expose:n,emit:a}){const o=t.getCurrentInstance(),r=e,l=a,i=t.ref(null),s=t.ref(null),c=t.ref(null),d=t.ref(null),u=t.computed((()=>"bottom-start"==i.value||"bottom"==i.value||"bottom-end"==i.value?"top":"top-start"==i.value||"top"==i.value||"top-end"==i.value?"bottom":"left-start"==i.value||"left"==i.value||"left-end"==i.value?"right":"right-start"==i.value||"right"==i.value||"right-end"==i.value?"left":"top")),h=t.computed((()=>({borderColor:r.border&&r.borderColor||"",background:r.background||"",color:r.color||""}))),m=()=>r.node?Y.isElement(r.node)?r.node:document.body.querySelector(r.node):null,f=()=>{i.value=null;const e=window.getSelection();if(e&&e.rangeCount){const n=e.getRangeAt(0).getClientRects();if(n.length){const e=n[0],a=n[n.length-1],o=Y.getElementBounding(c.value.offsetParent),l=document.documentElement.clientHeight||window.innerHeight,u=document.documentElement.clientWidth||window.innerWidth;"top"==r.placement||"top-start"==r.placement||"top-end"==r.placement?e.top>=0&&e.top>=o.top&&e.top>=c.value.offsetHeight?i.value=r.placement:l-a.bottom>=0&&l-a.bottom>=o.bottom&&l-a.bottom>=c.value.offsetHeight&&(i.value="top"==r.placement?"bottom":"top-start"==r.placement?"bottom-start":"bottom-end"):"bottom"!=r.placement&&"bottom-start"!=r.placement&&"bottom-end"!=r.placement||(l-a.bottom>=0&&l-a.bottom>=o.bottom&&l-a.bottom>=c.value.offsetHeight?i.value=r.placement:e.top>=0&&e.top>=o.top&&e.top>=c.value.offsetHeight&&(i.value="bottom"==r.placement?"top":"bottom-start"==r.placement?"top-start":"top-end")),"top"==i.value?u-e.right+e.width/2<c.value.offsetWidth/2?i.value="top-end":e.left+e.width/2<c.value.offsetWidth/2&&(i.value="top-start"):"bottom"==i.value?u-a.right+a.width/2<c.value.offsetWidth/2?i.value="bottom-end":a.left+a.width/2<c.value.offsetWidth/2&&(i.value="bottom-start"):"top-start"==i.value?u-e.right+e.width<c.value.offsetWidth&&(u-e.right+e.width/2>=c.value.offsetWidth/2?i.value="top":i.value="top-end"):"bottom-start"==i.value?u-a.right+a.width<c.value.offsetWidth&&(u-a.right+a.width/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-end"):"top-end"==i.value?e.left+e.width<c.value.offsetWidth&&(e.left+e.width/2>=c.value.offsetWidth/2?i.value="top":i.value="top-start"):"bottom-end"==i.value&&a.left+a.width<c.value.offsetWidth&&(a.left+a.width/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-start"),t.nextTick((()=>{"top"==i.value?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-start"==i.value?(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-end"==i.value?(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"bottom"==i.value?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):"bottom-start"==i.value?(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):"bottom-end"==i.value?(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):(c.value.style.top="auto",c.value.style.bottom=(o.bottom<0?-o.bottom:0)+"px","top"==r.placement?u-e.right+e.width/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):e.left+e.width/2<c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"bottom"==r.placement?u-a.right+a.width/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"):a.left+a.width/2<c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"top-start"==r.placement?u-e.right+e.width<c.value.offsetWidth?u-e.right+e.width/2>=c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):"bottom-start"==r.placement?u-a.right+a.width<c.value.offsetWidth?u-a.right+a.width/2>=c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"):(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):"top-end"==r.placement?e.left+e.width<c.value.offsetWidth?e.left+e.width/2>=c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):"bottom-end"==r.placement&&(a.left+a.width<c.value.offsetWidth?a.left+a.width/2>=c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"))),r.showTriangle&&(()=>{const e=window.getSelection();if(e&&e.rangeCount){const t=e.getRangeAt(0).getClientRects();if(t.length){const e=t[0],n=t[t.length-1];"top"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.width?e.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.width?e.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"bottom"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>n.width?n.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>n.width?n.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=1-d.value.$el.offsetHeight+"px",d.value.$el.style.bottom="auto")}}})()}))}}},g=()=>{const e=m();if(!Y.isElement(e))return;i.value=null;const n=Y.getElementBounding(e),a=Y.getElementBounding(c.value.offsetParent);"top"==r.placement||"top-start"==r.placement||"top-end"==r.placement?n.top>=0&&n.top>=a.top&&n.top>=c.value.offsetHeight?i.value=r.placement:n.bottom>=0&&n.bottom>=a.bottom&&n.bottom>=c.value.offsetHeight&&(i.value="top"==r.placement?"bottom":"top-start"==r.placement?"bottom-start":"bottom-end"):"bottom"!=r.placement&&"bottom-start"!=r.placement&&"bottom-end"!=r.placement||(n.bottom>=0&&n.bottom>=a.bottom&&n.bottom>=c.value.offsetHeight?i.value=r.placement:n.top>=0&&n.top>=a.top&&n.top>=c.value.offsetHeight&&(i.value="bottom"==r.placement?"top":"bottom-start"==r.placement?"top-start":"top-end")),"top"==i.value?n.right+e.offsetWidth/2<c.value.offsetWidth/2?i.value="top-end":n.left+e.offsetWidth/2<c.value.offsetWidth/2&&(i.value="top-start"):"top-start"==i.value?n.right+e.offsetWidth<c.value.offsetWidth&&(n.right+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="top":i.value="top-end"):"top-end"==i.value?n.left+e.offsetWidth<c.value.offsetWidth&&(n.left+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="top":i.value="top-start"):"bottom"==i.value?n.right+e.offsetWidth/2<c.value.offsetWidth/2?i.value="bottom-end":n.left+e.offsetWidth/2<c.value.offsetWidth/2&&(i.value="bottom-start"):"bottom-start"==i.value?n.right+e.offsetWidth<c.value.offsetWidth&&(n.right+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-end"):"bottom-end"==i.value&&n.left+e.offsetWidth<c.value.offsetWidth&&(n.left+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-start"),t.nextTick((()=>{"top"==i.value?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-start"==i.value?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-end"==i.value?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"bottom"==i.value?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):"bottom-start"==i.value?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):"bottom-end"==i.value?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):(c.value.style.top="auto",c.value.style.bottom=(a.bottom<0?-a.bottom:0)+"px","top"==r.placement||"bottom"==r.placement?n.right+e.offsetWidth/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"):n.left+e.offsetWidth/2<c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"top-start"==r.placement||"bottom-start"==r.placement?n.right+e.offsetWidth<c.value.offsetWidth?n.right+e.offsetWidth/2>=c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"):(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):"top-end"!=r.placement&&"bottom-end"!=r.placement||(n.left+e.offsetWidth<c.value.offsetWidth?n.left+e.offsetWidth/2>=c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"))),r.showTriangle&&(()=>{const e=m();Y.isElement(e)&&("top"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"bottom"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=1-d.value.$el.offsetHeight+"px",d.value.$el.style.bottom="auto"))})()}))},p=()=>{r.useRange?f():g()},b=e=>{p(),l("show",e)},v=e=>{l("shown",e)},y=e=>{l("hidden",e)},E=()=>{r.modelValue&&l("update:modelValue",!1)},w=e=>{Y.isElement(c.value)&&(Y.isContains(c.value.offsetParent,e.target)||r.modelValue&&l("update:modelValue",!1))};return t.onMounted((()=>{r.modelValue&&p(),re.on(window,`click.editify_layer_${o.uid}`,w),re.on(window,`resize.editify_layer_${o.uid}`,E)})),t.onBeforeUnmount((()=>{re.off(window,`click.editify_layer_${o.uid} resize.editify_layer_${o.uid}`)})),n({setPosition:p}),(e,n)=>(t.openBlock(),t.createBlock(t.Transition,{name:e.animation?"editify-layer-"+e.animation:"editify-layer",onEnter:b,onAfterEnter:v,onAfterLeave:y},{default:t.withCtx((()=>[e.modelValue?(t.openBlock(),t.createElementBlock("div",{key:0,class:"editify-layer","data-editify-placement":i.value||null,style:t.normalizeStyle({zIndex:e.zIndex}),ref_key:"elRef",ref:c},[e.showTriangle?(t.openBlock(),t.createBlock(Sa,{key:0,color:e.border&&e.borderColor?e.borderColor:e.background,background:e.background,placement:u.value,ref_key:"triangleRef",ref:d},null,8,["color","background","placement"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"wrapRef",ref:s,class:t.normalizeClass(["editify-layer-wrap",{border:e.border}]),style:t.normalizeStyle(h.value)},[t.renderSlot(e.$slots,"default",{},void 0,!0)],6)],12,Oa)):t.createCommentVNode("",!0)])),_:3},8,["name"]))}}),[["__scopeId","data-v-a390950f"]]),Ra={content:{type:String,default:""},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},Ma={class:"editify-tooltip-content"},Ia=Ta(t.defineComponent({name:"Tooltip",__name:"tooltip",props:Ra,setup(e){const n=e,a=t.ref(!1),o=t.ref(null),r=()=>{n.disabled||(a.value=!0)},l=()=>{n.disabled||(a.value=!1)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-tooltip",{block:e.block}])},[t.createElementVNode("div",{ref_key:"targetRef",ref:o,class:"editify-tooltip-target",onMouseenter:r,onMouseleave:l},[t.renderSlot(e.$slots,"default",{},void 0,!0)],544),t.createVNode(Aa,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=e=>a.value=e),node:o.value,border:"","border-color":"#000",background:"#000","show-triangle":"",color:"#fff",placement:"bottom",animation:"fade","z-index":10},{default:t.withCtx((()=>[t.createElementVNode("div",Ma,t.toDisplayString(e.content),1)])),_:1},8,["modelValue","node"])],2))}}),[["__scopeId","data-v-92a30ff2"]]),La={value:{type:String,default:""}},Da=Ta(t.defineComponent({name:"Icon",__name:"icon",props:La,setup:e=>(e,n)=>(t.openBlock(),t.createElementBlock("i",{class:t.normalizeClass(["editify-icon","editify-icon-"+e.value])},null,2))}),[["__scopeId","data-v-a639e8dc"]]),$a={type:{type:String,default:"default",validator:e=>["default","select","display"].includes(e)},name:{type:String,default:""},title:{type:String,default:""},tooltip:{type:Boolean,default:!1},rightBorder:{type:Boolean,default:!1},leftBorder:{type:Boolean,default:!1},color:{type:String,default:""},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},selectConfig:{type:Object,default:null},displayConfig:{type:Object,default:null},hideScroll:{type:Boolean,default:!1}},Fa={class:"editify-button"},za={key:0,class:"editify-button-slot"},Pa={key:1},Ha={key:1,class:"editify-button-options"},Va=["onClick"],ja={key:1,class:"editify-button-option-flex"},Wa=Ta(t.defineComponent({name:"Button",__name:"button",props:$a,emits:["operate","layerShow","layerShown","layerHidden"],setup(e,{expose:n,emit:a}){const o=e,r=a,l=t.ref(!1),i=t.ref(null),s=t.ref(null),c=t.ref(null),d=t.computed((()=>{let e=[],t="",n="";return ne.isObject(o.selectConfig)&&(Array.isArray(o.selectConfig.options)&&(e=o.selectConfig.options.map((e=>ne.isObject(e)?{label:e.label,value:e.value,icon:e.icon,style:e.style}:{label:e,value:e}))),"number"==typeof o.selectConfig.width&&(t=o.selectConfig.width),"number"==typeof o.selectConfig.maxHeight&&(n=o.selectConfig.maxHeight)),{options:e,width:t,maxHeight:n}})),u=t.computed((()=>{let e=[],t="",n="",a="";if(ne.isObject(o.displayConfig)){if("string"!=typeof o.displayConfig.value&&"number"!=typeof o.displayConfig.value||(a=o.displayConfig.value),Array.isArray(o.displayConfig.options)){e=o.displayConfig.options.map((e=>ne.isObject(e)?{label:e.label,value:e.value,icon:e.icon,style:e.style}:{label:e,value:e})),!e.find((e=>e.value==a))&&e[0]&&(a=e[0].value)}"number"==typeof o.displayConfig.width&&(t=o.displayConfig.width),"number"==typeof o.displayConfig.maxHeight&&(n=o.displayConfig.maxHeight)}return{options:e,width:t,maxHeight:n,value:a}})),h=t.computed((()=>"select"==o.type?d.value.options:u.value.options)),m=t.computed((()=>{const e=u.value.options.find((e=>e.value==u.value.value));return e?e.label:""})),f=t.computed((()=>le.hex2rgb(o.color))),g=t.computed((()=>{if(o.disabled)return{};if(o.color){if(o.active||"down"==i.value)return{color:o.color,backgroundColor:`rgba(${f.value[0]},${f.value[1]},${f.value[2]},0.15)`};if("hover"==i.value)return{color:`rgba(${f.value[0]},${f.value[1]},${f.value[2]},0.9)`,backgroundColor:`rgba(${f.value[0]},${f.value[1]},${f.value[2]},0.05)`}}return{}})),p=()=>{o.disabled||("default"==o.type?r("operate",o.name):l.value=!l.value)};return n({show:l,status:i}),(e,n)=>(t.openBlock(),t.createElementBlock("div",Fa,[t.createElementVNode("div",{class:t.normalizeClass(["editify-button-wrap",{"right-border":e.rightBorder,"left-border":e.leftBorder}])},[t.createVNode(Ia,{content:e.title,disabled:!e.tooltip},{default:t.withCtx((()=>[t.createElementVNode("div",{ref_key:"btnRef",ref:s,style:t.normalizeStyle(g.value),class:t.normalizeClass(["editify-button-el",{disabled:e.disabled,active:e.active}]),onMouseenter:n[0]||(n[0]=e=>i.value="hover"),onMouseleave:n[1]||(n[1]=e=>i.value=null),onMousedown:n[2]||(n[2]=e=>i.value="down"),onMouseup:n[3]||(n[3]=e=>i.value="hover"),onClick:p},["default"==e.type||"select"==e.type?(t.openBlock(),t.createElementBlock("div",za,[t.renderSlot(e.$slots,"default",{},void 0,!0)])):"display"==e.type?(t.openBlock(),t.createElementBlock("div",Pa,t.toDisplayString(m.value),1)):t.createCommentVNode("",!0),"select"==e.type||"display"==e.type?(t.openBlock(),t.createBlock(Da,{key:2,value:"caret-down",class:t.normalizeClass(["editify-button-caret",{rotate:l.value}])},null,8,["class"])):t.createCommentVNode("",!0)],38)])),_:3},8,["content","disabled"]),t.createVNode(Aa,{ref_key:"layerRef",ref:c,modelValue:l.value,"onUpdate:modelValue":n[4]||(n[4]=e=>l.value=e),node:s.value,border:"",fade:"",placement:"bottom-start","z-index":12,animation:"translate",onShow:n[5]||(n[5]=e=>r("layerShow")),onShown:n[6]||(n[6]=e=>r("layerShown")),onHidden:n[7]||(n[7]=e=>r("layerHidden"))},{default:t.withCtx((()=>[t.createElementVNode("div",{class:"editify-button-layer",style:t.normalizeStyle({width:("select"==e.type?d.value.width:u.value.width)+"px",maxHeight:("select"==e.type?d.value.maxHeight:u.value.maxHeight)+"px",overflow:e.hideScroll?"visible":""})},[e.$slots.layer?t.renderSlot(e.$slots,"layer",{key:0,options:h.value},void 0,!0):(t.openBlock(),t.createElementBlock("div",Ha,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(n=>(t.openBlock(),t.createElementBlock("div",{onClick:e=>(e=>{o.disabled||(r("operate",o.name,e.value),l.value=!1)})(n),class:t.normalizeClass(["editify-button-option",{active:"display"==e.type&&n.value==u.value.value}]),style:t.normalizeStyle(n.style||"")},[e.$slots.option?t.renderSlot(e.$slots,"option",{key:0,item:n},void 0,!0):(t.openBlock(),t.createElementBlock("div",ja,[n.icon?(t.openBlock(),t.createBlock(Da,{key:0,value:n.icon},null,8,["value"])):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(n.label),1)]))],14,Va)))),256))]))],4)])),_:3},8,["modelValue","node"])],2)]))}}),[["__scopeId","data-v-73d00a90"]]),Ua={disabled:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array],default:!1},label:{type:String,default:null},value:{type:[Object,Number,String,Array],default:""},round:{type:Boolean,default:!1},placement:{type:String,default:"right",validator:e=>["left","right"].includes(e)},color:{type:String,default:"",validator:e=>ne.matchingText(e,"hex")}},qa=["data-editify-placement","textContent"],Ka=["value","disabled","checked"],Za=["data-editify-placement","textContent"],Ga=Ta(t.defineComponent({name:"Checkbox",__name:"checkbox",props:Ua,emits:["update:modelValue","change"],setup(e,{emit:n}){const a=e,o=n,r=t.computed((()=>"boolean"==typeof a.modelValue?a.modelValue:!!Array.isArray(a.modelValue)&&a.modelValue.some((e=>ne.equal(e,a.value))))),l=t.computed((()=>{let e={};return a.color&&r.value&&!a.disabled&&(e.backgroundColor=a.color,e.borderColor=a.color),e})),i=e=>{if(Array.isArray(a.modelValue)){let t=[...a.modelValue];e.target.checked&&!r.value?t.push(a.value):r.value&&(t=t.filter((e=>!ne.equal(e,a.value)))),o("update:modelValue",t),o("change",t)}else"boolean"==typeof a.modelValue&&(o("update:modelValue",e.target.checked),o("change",e.target.checked))};return(e,n)=>(t.openBlock(),t.createElementBlock("label",{class:t.normalizeClass(["editify-checkbox",{disabled:e.disabled}])},["left"==e.placement&&e.label?(t.openBlock(),t.createElementBlock("span",{key:0,class:"editify-checkbox-label","data-editify-placement":e.placement,textContent:t.toDisplayString(e.label)},null,8,qa)):t.createCommentVNode("",!0),t.createElementVNode("input",{onChange:i,value:e.value,disabled:e.disabled,checked:r.value,type:"checkbox"},null,40,Ka),t.createElementVNode("span",{class:t.normalizeClass(["editify-checkbox-item",{reverse:!e.color,round:e.round,checked:r.value&&!e.disabled}]),style:t.normalizeStyle(l.value)},[t.createVNode(Da,{value:"check",style:t.normalizeStyle({opacity:r.value?"":0})},null,8,["style"])],6),"right"==e.placement&&e.label?(t.openBlock(),t.createElementBlock("span",{key:1,class:"editify-checkbox-label","data-editify-placement":e.placement,textContent:t.toDisplayString(e.label)},null,8,Za)):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-dae0c4a0"]]),Xa={data:{type:Array,default:function(){return[]}},value:{type:String,default:null},color:{type:String,default:""},tooltip:{type:Boolean,default:!1}},Qa={class:"editify-colors"},Ja={class:"editify-colors-list"},Ya=["onClick"],eo=Ta(t.defineComponent({name:"Colors",__name:"colors",props:Xa,emits:["change"],setup(e,{emit:n}){const a=n,o=t.inject("$editTrans"),r=e=>{a("change",e.value)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",Qa,[t.createElementVNode("div",{class:"editify-colors-header",onClick:n[0]||(n[0]=e=>r({value:""}))},[t.createVNode(Da,{value:"remove"}),t.createElementVNode("span",null,t.toDisplayString(t.unref(o)("defaultColor")),1)]),t.createElementVNode("div",Ja,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data,(n=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-color",{active:e.value==n.value}]),style:t.normalizeStyle({borderColor:e.value==n.value?e.color:""})},[t.createVNode(Ia,{block:"",content:n.label,disabled:!e.tooltip},{default:t.withCtx((()=>[t.createElementVNode("div",{onClick:e=>r(n),class:"editify-color-el",style:t.normalizeStyle({background:n.value})},null,12,Ya)])),_:2},1032,["content","disabled"])],6)))),256))])]))}}),[["__scopeId","data-v-8be143e5"]]),to={modelValue:{type:Boolean,default:!1},node:{type:[String,Node],default:null},type:{type:String,default:"text",validator:e=>["text","table","link","codeBlock","image","video"].includes(e)},config:{type:Object,default:null},color:{type:String,default:""}},no={key:0,class:"editify-toolbar-link"},ao={class:"editify-toolbar-link-label"},oo=["placeholder"],ro={class:"editify-toolbar-link-footer"},lo={class:"editify-toolbar-link-operations"},io=["href"],so=Ta(t.defineComponent({name:"Toolbar",__name:"toolbar",props:to,emits:["update:modelValue"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("editify"),l=t.inject("editor"),i=t.inject("dataRangeCaches"),s=t.inject("$editTrans"),c=t.ref(null),d=t.ref(null),u=t.ref(null),h=t.ref(null),m=t.ref({url:"",newOpen:!1}),f=t.ref({controls:!1,loop:!1,autoplay:!1,muted:!1}),g=t.ref({show:a.config.codeBlock.languages.show,displayConfig:{options:a.config.codeBlock.languages.options,value:"",width:a.config.codeBlock.languages.width,maxHeight:a.config.codeBlock.languages.maxHeight},leftBorder:a.config.codeBlock.languages.leftBorder,rightBorder:a.config.codeBlock.languages.rightBorder,active:!1,disabled:!1}),p=t.ref({show:a.config.text.heading.show,displayConfig:{options:a.config.text.heading.options,value:"",width:a.config.text.heading.width,maxHeight:a.config.text.heading.maxHeight},defaultValue:a.config.text.heading.defaultValue,leftBorder:a.config.text.heading.leftBorder,rightBorder:a.config.text.heading.rightBorder,active:!1,disabled:!1}),b=t.ref({show:a.config.text.align.show,selectConfig:{options:a.config.text.align.options,width:a.config.text.align.width,maxHeight:a.config.text.align.maxHeight},leftBorder:a.config.text.align.leftBorder,rightBorder:a.config.text.align.rightBorder,active:!1,disabled:!1}),v=t.ref({show:a.config.text.orderList.show,leftBorder:a.config.text.orderList.leftBorder,rightBorder:a.config.text.orderList.rightBorder,active:!1,disabled:!1}),E=t.ref({show:a.config.text.unorderList.show,leftBorder:a.config.text.unorderList.leftBorder,rightBorder:a.config.text.unorderList.rightBorder,active:!1,disabled:!1}),w=t.ref({show:a.config.text.task.show,leftBorder:a.config.text.task.leftBorder,rightBorder:a.config.text.task.rightBorder,active:!1,disabled:!1}),k=t.ref({show:a.config.text.bold.show,leftBorder:a.config.text.bold.leftBorder,rightBorder:a.config.text.bold.rightBorder,active:!1,disabled:!1}),_=t.ref({show:a.config.text.italic.show,leftBorder:a.config.text.italic.leftBorder,rightBorder:a.config.text.italic.rightBorder,active:!1,disabled:!1}),x=t.ref({show:a.config.text.strikethrough.show,leftBorder:a.config.text.strikethrough.leftBorder,rightBorder:a.config.text.strikethrough.rightBorder,active:!1,disabled:!1}),C=t.ref({show:a.config.text.underline.show,leftBorder:a.config.text.underline.leftBorder,rightBorder:a.config.text.underline.rightBorder,active:!1,disabled:!1}),B=t.ref({show:a.config.text.code.show,leftBorder:a.config.text.code.leftBorder,rightBorder:a.config.text.code.rightBorder,active:!1,disabled:!1}),T=t.ref({show:a.config.text.super.show,leftBorder:a.config.text.super.leftBorder,rightBorder:a.config.text.super.rightBorder,active:!1,disabled:!1}),S=t.ref({show:a.config.text.sub.show,leftBorder:a.config.text.sub.leftBorder,rightBorder:a.config.text.sub.rightBorder,active:!1,disabled:!1}),N=t.ref({show:a.config.text.fontSize.show,displayConfig:{options:a.config.text.fontSize.options,value:"",width:a.config.text.fontSize.width,maxHeight:a.config.text.fontSize.maxHeight},defaultValue:a.config.text.fontSize.defaultValue,leftBorder:a.config.text.fontSize.leftBorder,rightBorder:a.config.text.fontSize.rightBorder,active:!1,disabled:!1}),O=t.ref({show:a.config.text.fontFamily.show,displayConfig:{options:a.config.text.fontFamily.options,value:"",width:a.config.text.fontFamily.width,maxHeight:a.config.text.fontFamily.maxHeight},defaultValue:a.config.text.fontFamily.defaultValue,leftBorder:a.config.text.fontFamily.leftBorder,rightBorder:a.config.text.fontFamily.rightBorder,active:!1,disabled:!1}),A=t.ref({show:a.config.text.lineHeight.show,displayConfig:{options:a.config.text.lineHeight.options,value:"",width:a.config.text.lineHeight.width,maxHeight:a.config.text.lineHeight.maxHeight},defaultValue:a.config.text.lineHeight.defaultValue,leftBorder:a.config.text.lineHeight.leftBorder,rightBorder:a.config.text.lineHeight.rightBorder,active:!1,disabled:!1}),R=t.ref({show:a.config.text.foreColor.show,selectConfig:{options:a.config.text.foreColor.options},leftBorder:a.config.text.foreColor.leftBorder,rightBorder:a.config.text.foreColor.rightBorder,value:"",active:!1,disabled:!1}),M=t.ref({show:a.config.text.backColor.show,selectConfig:{options:a.config.text.backColor.options},leftBorder:a.config.text.backColor.leftBorder,rightBorder:a.config.text.backColor.rightBorder,value:"",active:!1,disabled:!1}),I=t.ref({show:a.config.text.formatClear.show,leftBorder:a.config.text.formatClear.leftBorder,rightBorder:a.config.text.formatClear.rightBorder,active:!1,disabled:!1}),L=t.computed({get:()=>a.modelValue,set(e){o("update:modelValue",e)}}),D=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},$=e=>{e.currentTarget.style.borderColor=""},F=()=>{ga(l.value,i.value),pa(l.value,i.value),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},z=e=>{ma(l.value,i.value,{"background-color":e}),h.value.show=!1,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},P=e=>{ma(l.value,i.value,{color:e}),u.value.show=!1,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},H=(e,t)=>{ba(l.value,i.value,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},V=(e,t)=>{ma(l.value,i.value,{"font-family":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},j=(e,t)=>{ma(l.value,i.value,{"font-size":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},W=()=>{Yn(l.value,i.value,"vertical-align","super")?ga(l.value,i.value,["vertical-align"]):ma(l.value,i.value,{"vertical-align":"super"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},U=()=>{Yn(l.value,i.value,"vertical-align","sub")?ga(l.value,i.value,["vertical-align"]):ma(l.value,i.value,{"vertical-align":"sub"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},q=()=>{ea(l.value,i.value,"data-editify-code")?pa(l.value,i.value,["data-editify-code"]):fa(l.value,i.value,{"data-editify-code":!0}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},K=()=>{Yn(l.value,i.value,"text-decoration","underline")||Yn(l.value,i.value,"text-decoration-line","underline")?ga(l.value,i.value,["text-decoration","text-decoration-line"]):ma(l.value,i.value,{"text-decoration":"underline"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Z=()=>{Yn(l.value,i.value,"text-decoration","line-through")||Yn(l.value,i.value,"text-decoration-line","line-through")?ga(l.value,i.value,["text-decoration","text-decoration-line"]):ma(l.value,i.value,{"text-decoration":"line-through"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},G=e=>{ua(l.value,i.value,"orderList"==e),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},X=()=>{ha(l.value,i.value),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Q=()=>{Yn(l.value,i.value,"font-style","italic")?ga(l.value,i.value,["font-style"]):ma(l.value,i.value,{"font-style":"italic"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},J=()=>{Yn(l.value,i.value,"font-weight","bold")||Yn(l.value,i.value,"font-weight","700")?ga(l.value,i.value,["font-weight"]):ma(l.value,i.value,{"font-weight":"bold"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Y=(e,t)=>{la(l.value,i.value,s,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},ee=(e,t)=>{da(l.value,i.value,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},te=e=>{const t=l.value.range.anchor.element;f.value[e]?delete t.marks[e]:t.marks[e]=!0,f.value[e]=!f.value[e],l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},ae=e=>{const t=l.value.range.anchor.element;if(t){const n={width:e};t.hasStyles()?t.styles=Object.assign(t.styles,n):t.styles=n,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},oe=()=>{if(!m.value.url)return;const e=zn(l.value,i.value,"a");e&&(e.marks.href=m.value.url,m.value.newOpen?e.marks.target="_blank":delete e.marks.target),l.value.formatElementStack(),l.value.domRender()},re=()=>{const e=zn(l.value,i.value,"a");e&&(e.parsedom=y.TEXT_NODE,delete e.marks.target,delete e.marks.href,delete e.marks["data-editify-element"]),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},le=(e,t)=>{const n=zn(l.value,i.value,"pre");n&&(Object.assign(n.marks,{"data-editify-hljs":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender())},ie=(e="up")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"pre");if(t){const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);l.value.addElementTo(a,n),"up"==e?l.value.addElementBefore(n,t):l.value.addElementAfter(n,t),l.value.range.anchor.moveToEnd(n),l.value.range.focus.moveToEnd(n),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()}},se=(e="left")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"table"),n=zn(l.value,i.value,"td"),a=zn(l.value,i.value,"tbody");if(n&&t&&a){const o=a.children,r=n.parent.children.findIndex((e=>e.isEqual(n)));o.forEach((t=>{const a=n.clone(!1),o=new y("closed","br",null,null,null);l.value.addElementTo(o,a),"left"==e?l.value.addElementTo(a,t,r):l.value.addElementTo(a,t,r+1)}));const i=t.children.find((e=>"colgroup"==e.parsedom)),s=new y("closed","col",null,null,null);if("left"==e?l.value.addElementTo(s,i,r):l.value.addElementTo(s,i,r+1),l.value.formatElementStack(),"left"==e){const e=l.value.getPreviousElement(n);l.value.range.anchor.moveToStart(e),l.value.range.focus.moveToStart(e)}else{const e=l.value.getNextElement(n);l.value.range.anchor.moveToStart(e),l.value.range.focus.moveToStart(e)}l.value.domRender(),l.value.rangeRender()}},ce=(e="up")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"table"),n=zn(l.value,i.value,"tr");if(t&&n){const t=n.clone();t.children.forEach((e=>{e.children=[];const t=new y("closed","br",null,null,null);l.value.addElementTo(t,e)})),"up"==e?l.value.addElementBefore(t,n):l.value.addElementAfter(t,n),l.value.formatElementStack(),l.value.range.anchor.moveToStart(t),l.value.range.focus.moveToStart(t),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},de=(e="up")=>{const t=zn(l.value,i.value,"table");if(t){const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);l.value.addElementTo(a,n),"up"==e?l.value.addElementBefore(n,t):l.value.addElementAfter(n,t),l.value.range.anchor.moveToEnd(n),l.value.range.focus.moveToEnd(n),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()}},ue=e=>{const t=zn(l.value,i.value,e);t&&(t.toEmpty(),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender())},he=()=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const e=zn(l.value,i.value,"table"),t=zn(l.value,i.value,"tr");if(e&&t){if(1==t.parent.children.length)return void ue("table");const e=l.value.getPreviousElement(t),n=l.value.getNextElement(t);t.toEmpty(),l.value.formatElementStack(),e?(l.value.range.anchor.moveToEnd(e.children[0]),l.value.range.focus.moveToEnd(e.children[0])):(l.value.range.anchor.moveToEnd(n.children[0]),l.value.range.focus.moveToEnd(n.children[0])),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},me=()=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const e=zn(l.value,i.value,"td"),t=zn(l.value,i.value,"tbody"),n=zn(l.value,i.value,"table");if(e&&n&&t){const a=t.children;if(1==e.parent.children.length)return void ue("table");const o=l.value.getPreviousElement(e),r=l.value.getNextElement(e),i=e.parent.children.findIndex((t=>t.isEqual(e)));a.forEach((e=>{e.children[i].toEmpty()}));n.children.find((e=>"colgroup"==e.parsedom)).children[i].toEmpty(),l.value.formatElementStack(),o?(l.value.range.anchor.moveToEnd(o),l.value.range.focus.moveToEnd(o)):(l.value.range.anchor.moveToEnd(r),l.value.range.focus.moveToEnd(r)),l.value.domRender(),l.value.rangeRender()}},fe=()=>{if("codeBlock"==a.type){const e=zn(l.value,i.value,"pre");e&&(g.value.displayConfig.value=e.marks["data-editify-hljs"]||"")}else if("link"==a.type){const e=zn(l.value,i.value,"a");e&&(m.value.url=e.marks.href,m.value.newOpen="_blank"==e.marks.target)}else if("video"==a.type){const e=zn(l.value,i.value,"video");e&&(f.value.autoplay=!!e.marks.autoplay,f.value.loop=!!e.marks.loop,f.value.controls=!!e.marks.controls,f.value.muted=!!e.marks.muted)}else if("text"==a.type){const e=e=>"function"==typeof a.config.extraDisabled&&a.config.extraDisabled.apply(r.proxy,[e])||!1,t=p.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),i.value.list.every((e=>e.element.isBlock()?e.element.parsedom==t:e.element.getBlock().parsedom==t))}));p.value.displayConfig.value=t?ne.isObject(t)?t.value:t:p.value.defaultValue,p.value.disabled=e("heading"),b.value.disabled=e("align"),v.value.active=Kn(l.value,i.value,!0),v.value.disabled=e("orderList"),E.value.active=Kn(l.value,i.value,!1),E.value.disabled=e("unorderList"),w.value.active=Zn(l.value,i.value),w.value.disabled=e("task"),k.value.active=Yn(l.value,i.value,"font-weight","bold")||Yn(l.value,i.value,"font-weight","700"),k.value.disabled=e("bold"),_.value.active=Yn(l.value,i.value,"font-style","italic"),_.value.disabled=e("italic"),x.value.active=Yn(l.value,i.value,"text-decoration","line-through")||Yn(l.value,i.value,"text-decoration-line","line-through"),x.value.disabled=e("strikethrough"),C.value.active=Yn(l.value,i.value,"text-decoration","underline")||Yn(l.value,i.value,"text-decoration-line","underline"),C.value.disabled=e("underline"),B.value.active=ea(l.value,i.value,"data-editify-code"),B.value.disabled=e("code"),T.value.active=Yn(l.value,i.value,"vertical-align","super"),T.value.disabled=e("super"),S.value.active=Yn(l.value,i.value,"vertical-align","sub"),S.value.disabled=e("sub");const n=N.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"font-size",e.value):Yn(l.value,i.value,"font-size",e)));N.value.displayConfig.value=n?ne.isObject(n)?n.value:n:N.value.defaultValue,N.value.disabled=e("fontSize");const o=O.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"font-family",e.value):Yn(l.value,i.value,"font-family",e)));O.value.displayConfig.value=o?ne.isObject(o)?o.value:o:O.value.defaultValue,O.value.disabled=e("fontFamily");const s=A.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),i.value.list.every((e=>{if(e.element.isBlock()||e.element.isInblock())return e.element.hasStyles()&&e.element.styles["line-height"]==t;const n=e.element.getBlock(),a=e.element.getInblock();return a?a.hasStyles()&&a.styles["line-height"]==t:n.hasStyles()&&n.styles["line-height"]==t}))}));A.value.displayConfig.value=s?ne.isObject(s)?s.value:s:A.value.defaultValue,A.value.disabled=e("lineHeight");const c=R.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"color",e.value):Yn(l.value,i.value,"color",e)));R.value.value=c?ne.isObject(c)?c.value:c:"",R.value.disabled=e("foreColor");const d=M.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"background-color",e.value):Yn(l.value,i.value,"background-color",e)));M.value.value=d?ne.isObject(d)?d.value:d:"",M.value.disabled=e("backColor"),I.value.disabled=e("formatClear")}};return(e,n)=>(t.openBlock(),t.createBlock(Aa,{modelValue:L.value,"onUpdate:modelValue":n[21]||(n[21]=e=>L.value=e),ref_key:"layerRef",ref:c,node:e.node,border:"",placement:"bottom-start",onShow:fe,useRange:"text"==e.type,"z-index":10},{default:t.withCtx((()=>[t.createElementVNode("div",{class:"editify-toolbar",ref_key:"toolbarRef",ref:d,style:t.normalizeStyle(e.config.style)},["link"==e.type?(t.openBlock(),t.createElementBlock("div",no,[t.createElementVNode("div",ao,t.toDisplayString(t.unref(s)("linkAddress")),1),t.withDirectives(t.createElementVNode("input",{onChange:oe,onFocus:D,onBlur:$,placeholder:t.unref(s)("linkUrlEnterPlaceholder"),"onUpdate:modelValue":n[0]||(n[0]=e=>m.value.url=e),type:"url"},null,40,oo),[[t.vModelText,m.value.url,void 0,{trim:!0}]]),t.createElementVNode("div",ro,[t.createVNode(Ga,{onChange:oe,modelValue:m.value.newOpen,"onUpdate:modelValue":n[1]||(n[1]=e=>m.value.newOpen=e),label:t.unref(s)("newWindowOpen"),color:e.color,size:10},null,8,["modelValue","label","color"]),t.createElementVNode("div",lo,[t.createElementVNode("span",{onClick:re},t.toDisplayString(t.unref(s)("removeLink")),1),t.createElementVNode("a",{href:m.value.url,target:"_blank",style:t.normalizeStyle({color:e.color})},t.toDisplayString(t.unref(s)("viewLink")),13,io)])])])):"image"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(Wa,{onOperate:n[2]||(n[2]=e=>ae("30%")),name:"set30Width",title:t.unref(s)("width30"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 30% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[3]||(n[3]=e=>ae("50%")),name:"set50Width",title:t.unref(s)("width50"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 50% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{rightBorder:"",onOperate:n[4]||(n[4]=e=>ae("100%")),name:"set100Width",title:t.unref(s)("width100"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 100% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[5]||(n[5]=e=>ae("auto")),name:"setAutoWidth",title:t.unref(s)("auto"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"auto-width"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[6]||(n[6]=e=>ue("img")),name:"deleteImage",title:t.unref(s)("deleteImage"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete"})])),_:1},8,["title","tooltip","color"])],64)):"video"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(Wa,{onOperate:n[7]||(n[7]=e=>ae("30%")),name:"set30Width",title:t.unref(s)("width30"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 30% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[8]||(n[8]=e=>ae("50%")),name:"set50Width",title:t.unref(s)("width50"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 50% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[9]||(n[9]=e=>ae("100%")),name:"set100Width",title:t.unref(s)("width100"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 100% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{rightBorder:"",onOperate:n[10]||(n[10]=e=>ae("auto")),name:"setAutoWidth",title:t.unref(s)("auto"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"auto-width"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"autoplay",title:f.value.autoplay?t.unref(s)("disabledAutoplay"):t.unref(s)("autoplay"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:f.value.autoplay?"autoplay":"stop"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"loop",title:f.value.loop?t.unref(s)("disabledLoop"):t.unref(s)("loop"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:f.value.loop?"loop":"single"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"muted",title:f.value.muted?t.unref(s)("unmuted"):t.unref(s)("muted"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:f.value.muted?"muted":"unmuted"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{leftBorder:"",onOperate:te,name:"controls",title:t.unref(s)("controls"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"controls"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[11]||(n[11]=e=>ue("video")),name:"deleteVideo",title:t.unref(s)("deleteVideo"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete"})])),_:1},8,["title","tooltip","color"])],64)):"table"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(Wa,{onOperate:n[12]||(n[12]=e=>de("up")),name:"textWrapUp",title:t.unref(s)("textWrapUp"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap",class:"editify-icon-rotate"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[13]||(n[13]=e=>de("down")),rightBorder:"",name:"textWrapDown",title:t.unref(s)("textWrapDown"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[14]||(n[14]=e=>ce("up")),name:"insertRowTop",title:t.unref(s)("insertRowTop"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-row-top"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[15]||(n[15]=e=>ce("down")),name:"insertRowBottom",title:t.unref(s)("insertRowBottom"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-row-bottom"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:he,rightBorder:"",name:"deleteRow",title:t.unref(s)("deleteRow"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-row"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[16]||(n[16]=e=>se("left")),name:"insertColumnLeft",title:t.unref(s)("insertColumnLeft"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-column-left"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[17]||(n[17]=e=>se("right")),name:"insertColumnRight",title:t.unref(s)("insertColumnRight"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-column-right"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:me,rightBorder:"",name:"deleteColumn",title:t.unref(s)("deleteColumn"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-column"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[18]||(n[18]=e=>ue("table")),name:"deleteTable",title:t.unref(s)("deleteTable"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-table"})])),_:1},8,["title","tooltip","color"])],64)):t.createCommentVNode("",!0),"codeBlock"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createVNode(Wa,{onOperate:n[19]||(n[19]=e=>ie("up")),name:"textWrapUp",title:t.unref(s)("textWrapUp"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap",class:"editify-icon-rotate"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[20]||(n[20]=e=>ie("down")),name:"textWrapDown",title:t.unref(s)("textWrapDown"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap"})])),_:1},8,["title","tooltip","color"]),g.value.show?(t.openBlock(),t.createBlock(Wa,{key:0,name:"languages",type:"display",title:t.unref(s)("selectLanguages"),tooltip:e.config.tooltip,leftBorder:g.value.leftBorder,rightBorder:g.value.rightBorder,"display-config":g.value.displayConfig,color:e.color,active:g.value.active,disabled:g.value.disabled,onOperate:le},null,8,["title","tooltip","leftBorder","rightBorder","display-config","color","active","disabled"])):t.createCommentVNode("",!0)],64)):"text"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:5},[p.value.show?(t.openBlock(),t.createBlock(Wa,{key:0,name:"heading",type:"display",title:t.unref(s)("heading"),tooltip:e.config.tooltip,"display-config":p.value.displayConfig,leftBorder:p.value.leftBorder,rightBorder:p.value.rightBorder,color:e.color,active:p.value.active,disabled:p.value.disabled,onOperate:Y},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),b.value.show?(t.openBlock(),t.createBlock(Wa,{key:1,name:"align",type:"select",title:t.unref(s)("align"),tooltip:e.config.tooltip,"select-config":b.value.selectConfig,leftBorder:b.value.leftBorder,rightBorder:b.value.rightBorder,color:e.color,active:b.value.active,disabled:b.value.disabled,onOperate:ee},{default:t.withCtx((()=>[t.createVNode(Da,{value:"align-left"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),v.value.show?(t.openBlock(),t.createBlock(Wa,{key:2,name:"orderList",title:t.unref(s)("orderList"),tooltip:e.config.tooltip,leftBorder:v.value.leftBorder,rightBorder:v.value.rightBorder,color:e.color,active:v.value.active,disabled:v.value.disabled,onOperate:G},{default:t.withCtx((()=>[t.createVNode(Da,{value:"list-ordered"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),E.value.show?(t.openBlock(),t.createBlock(Wa,{key:3,name:"unorderList",title:t.unref(s)("unorderList"),tooltip:e.config.tooltip,leftBorder:E.value.leftBorder,rightBorder:E.value.rightBorder,color:e.color,active:E.value.active,disabled:E.value.disabled,onOperate:G},{default:t.withCtx((()=>[t.createVNode(Da,{value:"list-unordered"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),w.value.show?(t.openBlock(),t.createBlock(Wa,{key:4,name:"task",title:t.unref(s)("task"),tooltip:e.config.tooltip,leftBorder:w.value.leftBorder,rightBorder:w.value.rightBorder,color:e.color,active:w.value.active,disabled:w.value.disabled,onOperate:X},{default:t.withCtx((()=>[t.createVNode(Da,{value:"task"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),k.value.show?(t.openBlock(),t.createBlock(Wa,{key:5,name:"bold",title:t.unref(s)("bold"),tooltip:e.config.tooltip,leftBorder:k.value.leftBorder,rightBorder:k.value.rightBorder,color:e.color,active:k.value.active,disabled:k.value.disabled,onOperate:J},{default:t.withCtx((()=>[t.createVNode(Da,{value:"bold"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),_.value.show?(t.openBlock(),t.createBlock(Wa,{key:6,name:"italic",title:t.unref(s)("italic"),tooltip:e.config.tooltip,leftBorder:_.value.leftBorder,rightBorder:_.value.rightBorder,color:e.color,active:_.value.active,disabled:_.value.disabled,onOperate:Q},{default:t.withCtx((()=>[t.createVNode(Da,{value:"italic"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),x.value.show?(t.openBlock(),t.createBlock(Wa,{key:7,name:"strikethrough",title:t.unref(s)("strikethrough"),tooltip:e.config.tooltip,leftBorder:x.value.leftBorder,rightBorder:x.value.rightBorder,color:e.color,active:x.value.active,disabled:x.value.disabled,onOperate:Z},{default:t.withCtx((()=>[t.createVNode(Da,{value:"strikethrough"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),C.value.show?(t.openBlock(),t.createBlock(Wa,{key:8,name:"underline",title:t.unref(s)("underline"),tooltip:e.config.tooltip,leftBorder:C.value.leftBorder,rightBorder:C.value.rightBorder,color:e.color,active:C.value.active,disabled:C.value.disabled,onOperate:K},{default:t.withCtx((()=>[t.createVNode(Da,{value:"underline"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),B.value.show?(t.openBlock(),t.createBlock(Wa,{key:9,name:"code",title:t.unref(s)("code"),tooltip:e.config.tooltip,leftBorder:B.value.leftBorder,rightBorder:B.value.rightBorder,color:e.color,active:B.value.active,disabled:B.value.disabled,onOperate:q},{default:t.withCtx((()=>[t.createVNode(Da,{value:"code"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),T.value.show?(t.openBlock(),t.createBlock(Wa,{key:10,name:"superscript",title:t.unref(s)("superscript"),tooltip:e.config.tooltip,leftBorder:T.value.leftBorder,rightBorder:T.value.rightBorder,color:e.color,active:T.value.active,disabled:T.value.disabled,onOperate:W},{default:t.withCtx((()=>[t.createVNode(Da,{value:"superscript"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),S.value.show?(t.openBlock(),t.createBlock(Wa,{key:11,name:"subscript",title:t.unref(s)("subscript"),tooltip:e.config.tooltip,leftBorder:S.value.leftBorder,rightBorder:S.value.rightBorder,color:e.color,active:S.value.active,disabled:S.value.disabled,onOperate:U},{default:t.withCtx((()=>[t.createVNode(Da,{value:"subscript"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),N.value.show?(t.openBlock(),t.createBlock(Wa,{key:12,name:"fontSize",type:"display",title:t.unref(s)("fontSize"),tooltip:e.config.tooltip,"display-config":N.value.displayConfig,leftBorder:N.value.leftBorder,rightBorder:N.value.rightBorder,color:e.color,active:N.value.active,disabled:N.value.disabled,onOperate:j},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),O.value.show?(t.openBlock(),t.createBlock(Wa,{key:13,name:"fontFamily",type:"display",title:t.unref(s)("fontFamily"),tooltip:e.config.tooltip,"display-config":O.value.displayConfig,leftBorder:O.value.leftBorder,rightBorder:O.value.rightBorder,color:e.color,active:O.value.active,disabled:O.value.disabled,onOperate:V},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),A.value.show?(t.openBlock(),t.createBlock(Wa,{key:14,name:"lineHeight",type:"display",title:t.unref(s)("lineHeight"),tooltip:e.config.tooltip,"display-config":A.value.displayConfig,leftBorder:A.value.leftBorder,rightBorder:A.value.rightBorder,color:e.color,active:A.value.active,disabled:A.value.disabled,onOperate:H},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),R.value.show?(t.openBlock(),t.createBlock(Wa,{key:15,name:"foreColor",type:"select",title:t.unref(s)("foreColor"),tooltip:e.config.tooltip,"select-config":R.value.selectConfig,leftBorder:R.value.leftBorder,rightBorder:R.value.rightBorder,color:e.color,active:R.value.active,disabled:R.value.disabled,hideScroll:"",ref_key:"foreColorRef",ref:u},{layer:t.withCtx((({options:n})=>[t.createVNode(eo,{tooltip:e.config.tooltip,color:e.color,value:R.value.value,onChange:P,data:n},null,8,["tooltip","color","value","data"])])),default:t.withCtx((()=>[t.createVNode(Da,{value:"font-color"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),M.value.show?(t.openBlock(),t.createBlock(Wa,{key:16,name:"backColor",type:"select",title:t.unref(s)("backColor"),tooltip:e.config.tooltip,"select-config":M.value.selectConfig,leftBorder:M.value.leftBorder,rightBorder:M.value.rightBorder,color:e.color,active:M.value.active,disabled:M.value.disabled,hideScroll:"",ref_key:"backColorRef",ref:h},{layer:t.withCtx((({options:n})=>[t.createVNode(eo,{tooltip:e.config.tooltip,color:e.color,value:M.value.value,onChange:z,data:n},null,8,["tooltip","color","value","data"])])),default:t.withCtx((()=>[t.createVNode(Da,{value:"brush"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),I.value.show?(t.openBlock(),t.createBlock(Wa,{key:17,name:"formatClear",title:t.unref(s)("formatClear"),tooltip:e.config.tooltip,leftBorder:I.value.leftBorder,rightBorder:I.value.rightBorder,color:e.color,active:I.value.active,disabled:I.value.disabled,onOperate:F},{default:t.withCtx((()=>[t.createVNode(Da,{value:"format-clear"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],4)])),_:1},8,["modelValue","node","useRange"]))}}),[["__scopeId","data-v-485ac49d"]]),co={color:{type:String,default:""},text:{type:String,default:""}},uo={class:"editify-link"},ho={class:"editify-link-label"},mo=["placeholder"],fo=["placeholder"],go={class:"editify-link-footer"},po={class:"editify-link-operations"},bo=Ta(t.defineComponent({name:"InsertLink",__name:"insertLink",props:co,emits:["insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.ref(""),i=t.ref(""),s=t.ref(!1);t.watch((()=>a.text),(e=>{i.value=e}),{immediate:!0});const c=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},d=e=>{e.currentTarget.style.borderColor=""},u=()=>{o("insert",i.value,l.value,s.value)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",uo,[t.createElementVNode("div",ho,t.toDisplayString(t.unref(r)("linkAddress")),1),t.withDirectives(t.createElementVNode("input",{onFocus:c,onBlur:d,placeholder:t.unref(r)("linkTextEnterPlaceholder"),"onUpdate:modelValue":n[0]||(n[0]=e=>i.value=e),type:"text"},null,40,mo),[[t.vModelText,i.value,void 0,{trim:!0}]]),t.withDirectives(t.createElementVNode("input",{onFocus:c,onBlur:d,placeholder:t.unref(r)("linkUrlEnterPlaceholder"),"onUpdate:modelValue":n[1]||(n[1]=e=>l.value=e),type:"url"},null,40,fo),[[t.vModelText,l.value,void 0,{trim:!0}]]),t.createElementVNode("div",go,[t.createVNode(Ga,{modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),label:t.unref(r)("newWindowOpen"),color:e.color,size:10},null,8,["modelValue","label","color"]),t.createElementVNode("div",po,[t.createElementVNode("span",{style:t.normalizeStyle({color:e.color}),onClick:u},t.toDisplayString(t.unref(r)("insertLink")),5)])])]))}}),[["__scopeId","data-v-f5a1fedb"]]),vo={color:{type:String,default:""},accept:{type:Array,default:null},multiple:{type:Boolean,default:!1},maxSize:{type:Number,default:null},minSize:{type:Number,default:null},customUpload:{type:Function,default:null},handleError:{type:Function,default:null}},yo={class:"editify-image"},Eo={class:"editify-image-header"},wo={key:0,class:"editify-image-remote"},ko=["placeholder"],_o={key:1,class:"editify-image-upload"},xo=["multiple"],Co=Ta(t.defineComponent({name:"InsertImage",__name:"insertImage",props:vo,emits:["change","insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.inject("editify"),i=t.ref("upload"),s=t.ref(""),c=t.computed((()=>e=>i.value==e?{color:a.color}:{})),d=e=>{const t=e.name.lastIndexOf(".");return t<=0?"":e.name.substring(t+1)},u=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},h=e=>{e.currentTarget.style.borderColor=""},m=()=>{o("insert",s.value)},f=async e=>{const t=e.currentTarget,n=t.files;if(!n||!n.length)return;let r=[];for(let o=0;o<n.length;o++){const e=n[o],t=d(e);a.accept.some((e=>e.toLocaleLowerCase()==t.toLocaleLowerCase()))?a.maxSize&&e.size/1024>a.maxSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["maxSizeError",e]):a.minSize&&e.size/1024<a.minSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["minSizeError",e]):r.push(e):"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["suffixError",e])}if(r.length){let e=[];if("function"==typeof a.customUpload)e=await a.customUpload.apply(l.proxy,[r])||[];else for(let t=0;t<r.length;t++){const n=await ie.dataFileToBase64(r[t]);e.push(n)}e.forEach((e=>{o("insert",e)}))}t.value=""};return t.watch((()=>i.value),(()=>{o("change")})),(e,n)=>(t.openBlock(),t.createElementBlock("div",yo,[t.createElementVNode("div",Eo,[t.createElementVNode("div",{onClick:n[0]||(n[0]=e=>i.value="upload"),class:t.normalizeClass(["editify-image-header-item",{active:"upload"==i.value}]),style:t.normalizeStyle(c.value("upload"))},t.toDisplayString(t.unref(r)("uploadImage")),7),t.createElementVNode("div",{onClick:n[1]||(n[1]=e=>i.value="remote"),class:t.normalizeClass(["editify-image-header-item",{active:"remote"==i.value}]),style:t.normalizeStyle(c.value("remote"))},t.toDisplayString(t.unref(r)("remoteImage")),7),t.createElementVNode("div",{class:t.normalizeClass(["editify-image-header-slider",i.value]),style:t.normalizeStyle({backgroundColor:e.color||""})},null,6)]),"remote"==i.value?(t.openBlock(),t.createElementBlock("div",wo,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),placeholder:t.unref(r)("imageUrlPlaceholder"),onBlur:h,onFocus:u},null,40,ko),[[t.vModelText,s.value,void 0,{trim:!0}]]),t.createElementVNode("div",{class:"editify-image-remote-footer",style:t.normalizeStyle({color:e.color})},[t.createElementVNode("span",{onClick:m},t.toDisplayString(t.unref(r)("insert")),1)],4)])):(t.openBlock(),t.createElementBlock("div",_o,[t.createVNode(Da,{value:"upload"}),t.createElementVNode("input",{multiple:e.multiple,accept:"image/*",onChange:f,type:"file"},null,40,xo)]))]))}}),[["__scopeId","data-v-876ab662"]]),Bo={color:{type:String,default:""},accept:{type:Array,default:null},multiple:{type:Boolean,default:!1},maxSize:{type:Number,default:null},minSize:{type:Number,default:null},customUpload:{type:Function,default:null},handleError:{type:Function,default:null}},To={class:"editify-video"},So={class:"editify-video-header"},No={key:0,class:"editify-video-remote"},Oo=["placeholder"],Ao={key:1,class:"editify-video-upload"},Ro=["multiple"],Mo=Ta(t.defineComponent({name:"InsertVideo",__name:"insertVideo",props:Bo,emits:["change","insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.inject("editify"),i=t.ref("upload"),s=t.ref(""),c=t.computed((()=>e=>i.value==e?{color:a.color}:{})),d=e=>{const t=e.name.lastIndexOf(".");return t<=0?"":e.name.substring(t+1)},u=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},h=e=>{e.currentTarget.style.borderColor=""},m=()=>{o("insert",s.value)},f=async e=>{const t=e.currentTarget,n=t.files;if(!n||!n.length)return;let r=[];for(let o=0;o<n.length;o++){const e=n[o],t=d(e);a.accept.some((e=>e.toLocaleLowerCase()==t.toLocaleLowerCase()))?a.maxSize&&e.size/1024>a.maxSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["maxSizeError",e]):a.minSize&&e.size/1024<a.minSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["minSizeError",e]):r.push(e):"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["suffixError",e])}if(r.length){let e=[];if("function"==typeof a.customUpload)e=await a.customUpload.apply(l.proxy,[r])||[];else for(let t=0;t<r.length;t++){const n=await ie.dataFileToBase64(r[t]);e.push(n)}e.forEach((e=>{o("insert",e)}))}t.value=""};return t.watch((()=>i.value),(()=>{o("change")})),(e,n)=>(t.openBlock(),t.createElementBlock("div",To,[t.createElementVNode("div",So,[t.createElementVNode("div",{onClick:n[0]||(n[0]=e=>i.value="upload"),class:t.normalizeClass(["editify-video-header-item",{active:"upload"==i.value}]),style:t.normalizeStyle(c.value("upload"))},t.toDisplayString(t.unref(r)("uploadVideo")),7),t.createElementVNode("div",{onClick:n[1]||(n[1]=e=>i.value="remote"),class:t.normalizeClass(["editify-video-header-item",{active:"remote"==i.value}]),style:t.normalizeStyle(c.value("remote"))},t.toDisplayString(t.unref(r)("remoteVideo")),7),t.createElementVNode("div",{class:t.normalizeClass(["editify-video-header-slider",i.value]),style:t.normalizeStyle({backgroundColor:e.color||""})},null,6)]),"remote"==i.value?(t.openBlock(),t.createElementBlock("div",No,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),placeholder:t.unref(r)("videoUrlPlaceholder"),onBlur:h,onFocus:u},null,40,Oo),[[t.vModelText,s.value,void 0,{trim:!0}]]),t.createElementVNode("div",{class:"editify-video-remote-footer",style:t.normalizeStyle({color:e.color})},[t.createElementVNode("span",{onClick:m},t.toDisplayString(t.unref(r)("insert")),1)],4)])):(t.openBlock(),t.createElementBlock("div",Ao,[t.createVNode(Da,{value:"upload"}),t.createElementVNode("input",{multiple:e.multiple,accept:"video/*",onChange:f,type:"file"},null,40,Ro)]))]))}}),[["__scopeId","data-v-4131f4db"]]),Io={color:{type:String,default:""},maxRows:{type:Number,default:10},maxColumns:{type:Number,default:10}},Lo={class:"editify-table"},Do=["onMouseenter","onClick"],$o=[(e=>(t.pushScopeId("data-v-49473a7c"),e=e(),t.popScopeId(),e))((()=>t.createElementVNode("span",null,null,-1)))],Fo={class:"editify-table-footer"},zo={key:0},Po={key:1},Ho=Ta(t.defineComponent({name:"InsertTable",__name:"insertTable",props:Io,emits:["insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.ref((()=>{const e=[];for(let t=1;t<=a.maxRows;t++){let n=[];for(let e=1;e<=a.maxColumns;e++)n.push({x:t,y:e,inside:!1});e.push(n)}return e})()),i=t.computed((()=>l.value.flat().filter((e=>e.inside)).sort(((e,t)=>e.x>t.x&&e.y>t.y||e.x>t.x||e.y>t.y?-1:1))[0]));return(e,n)=>(t.openBlock(),t.createElementBlock("div",Lo,[t.createElementVNode("table",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(e=>(t.openBlock(),t.createElementBlock("tr",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e,(e=>(t.openBlock(),t.createElementBlock("td",{class:t.normalizeClass({inside:e.inside}),onMouseenter:t=>(e=>{for(let t in l.value){const n=l.value[t];for(let a in n)n[a].x<=e.x&&n[a].y<=e.y?l.value[t][a].inside=!0:l.value[t][a].inside=!1}})(e),onClick:t=>{var n;o("insert",(n=e).x,n.y)}},$o,42,Do)))),256))])))),256))]),t.createElementVNode("div",Fo,[i.value?(t.openBlock(),t.createElementBlock("span",zo,t.toDisplayString(i.value.x)+" x "+t.toDisplayString(i.value.y),1)):(t.openBlock(),t.createElementBlock("span",Po,t.toDisplayString(t.unref(r)("insertTable")),1))])]))}}),[["__scopeId","data-v-49473a7c"]]),Vo={config:{type:Object,default:null},color:{type:String,default:""}},jo=["data-editify-mode"],Wo=Ta(t.defineComponent({name:"Menu",__name:"menu",props:Vo,setup(e,{expose:n}){const a=e,o=t.inject("editify"),r=t.inject("isSourceView"),l=t.inject("isFullScreen"),i=t.inject("canUseMenu"),s=t.inject("editor"),c=t.inject("dataRangeCaches"),d=t.inject("showBorder"),u=t.inject("$editTrans"),h=t.ref({show:a.config.undo.show,leftBorder:a.config.undo.leftBorder,rightBorder:a.config.undo.rightBorder,active:!1,disabled:!1}),m=t.ref({show:a.config.redo.show,leftBorder:a.config.redo.leftBorder,rightBorder:a.config.redo.rightBorder,active:!1,disabled:!1}),f=t.ref({show:a.config.heading.show,displayConfig:{options:a.config.heading.options,value:"",width:a.config.heading.width,maxHeight:a.config.heading.maxHeight},defaultValue:a.config.heading.defaultValue,leftBorder:a.config.heading.leftBorder,rightBorder:a.config.heading.rightBorder,active:!1,disabled:!1}),g=t.ref({show:a.config.indent.show,selectConfig:{options:a.config.indent.options,value:"",width:a.config.indent.width,maxHeight:a.config.indent.maxHeight},leftBorder:a.config.indent.leftBorder,rightBorder:a.config.indent.rightBorder,active:!1,disabled:!1}),p=t.ref({show:a.config.quote.show,leftBorder:a.config.quote.leftBorder,rightBorder:a.config.quote.rightBorder,active:!1,disabled:!1}),b=t.ref({show:a.config.align.show,selectConfig:{options:a.config.align.options,width:a.config.align.width,maxHeight:a.config.align.maxHeight},leftBorder:a.config.align.leftBorder,rightBorder:a.config.align.rightBorder,active:!1,disabled:!1}),v=t.ref({show:a.config.orderList.show,leftBorder:a.config.orderList.leftBorder,rightBorder:a.config.orderList.rightBorder,active:!1,disabled:!1}),y=t.ref({show:a.config.unorderList.show,leftBorder:a.config.unorderList.leftBorder,rightBorder:a.config.unorderList.rightBorder,active:!1,disabled:!1}),E=t.ref({show:a.config.task.show,leftBorder:a.config.task.leftBorder,rightBorder:a.config.task.rightBorder,active:!1,disabled:!1}),w=t.ref({show:a.config.bold.show,leftBorder:a.config.bold.leftBorder,rightBorder:a.config.bold.rightBorder,active:!1,disabled:!1}),k=t.ref({show:a.config.underline.show,leftBorder:a.config.underline.leftBorder,rightBorder:a.config.underline.rightBorder,active:!1,disabled:!1}),_=t.ref({show:a.config.italic.show,leftBorder:a.config.italic.leftBorder,rightBorder:a.config.italic.rightBorder,active:!1,disabled:!1}),x=t.ref({show:a.config.strikethrough.show,leftBorder:a.config.strikethrough.leftBorder,rightBorder:a.config.strikethrough.rightBorder,active:!1,disabled:!1}),C=t.ref({show:a.config.code.show,leftBorder:a.config.code.leftBorder,rightBorder:a.config.code.rightBorder,active:!1,disabled:!1}),B=t.ref({show:a.config.super.show,leftBorder:a.config.super.leftBorder,rightBorder:a.config.super.rightBorder,active:!1,disabled:!1}),T=t.ref({show:a.config.sub.show,leftBorder:a.config.sub.leftBorder,rightBorder:a.config.sub.rightBorder,active:!1,disabled:!1}),S=t.ref({show:a.config.formatClear.show,leftBorder:a.config.formatClear.leftBorder,rightBorder:a.config.formatClear.rightBorder,active:!1,disabled:!1}),N=t.ref({show:a.config.fontSize.show,displayConfig:{options:a.config.fontSize.options,value:"",width:a.config.fontSize.width,maxHeight:a.config.fontSize.maxHeight},defaultValue:a.config.fontSize.defaultValue,leftBorder:a.config.fontSize.leftBorder,rightBorder:a.config.fontSize.rightBorder,active:!1,disabled:!1}),O=t.ref({show:a.config.fontFamily.show,displayConfig:{options:a.config.fontFamily.options,value:"",width:a.config.fontFamily.width,maxHeight:a.config.fontFamily.maxHeight},defaultValue:a.config.fontFamily.defaultValue,leftBorder:a.config.fontFamily.leftBorder,rightBorder:a.config.fontFamily.rightBorder,active:!1,disabled:!1}),A=t.ref({show:a.config.lineHeight.show,displayConfig:{options:a.config.lineHeight.options,value:"",width:a.config.lineHeight.width,maxHeight:a.config.lineHeight.maxHeight},defaultValue:a.config.lineHeight.defaultValue,leftBorder:a.config.lineHeight.leftBorder,rightBorder:a.config.lineHeight.rightBorder,active:!1,disabled:!1}),R=t.ref({show:a.config.foreColor.show,selectConfig:{options:a.config.foreColor.options},leftBorder:a.config.foreColor.leftBorder,rightBorder:a.config.foreColor.rightBorder,value:"",active:!1,disabled:!1}),M=t.ref({show:a.config.backColor.show,selectConfig:{options:a.config.backColor.options},leftBorder:a.config.backColor.leftBorder,rightBorder:a.config.backColor.rightBorder,value:"",active:!1,disabled:!1}),I=t.ref({show:a.config.link.show,leftBorder:a.config.link.leftBorder,rightBorder:a.config.link.rightBorder,active:!1,disabled:!1,text:""}),L=t.ref({show:a.config.image.show,leftBorder:a.config.image.leftBorder,rightBorder:a.config.image.rightBorder,active:!1,disabled:!1,accept:a.config.image.accept,multiple:a.config.image.multiple,maxSize:a.config.image.maxSize,minSize:a.config.image.minSize,handleError:a.config.image.handleError,customUpload:a.config.image.customUpload}),D=t.ref({show:a.config.video.show,leftBorder:a.config.video.leftBorder,rightBorder:a.config.video.rightBorder,active:!1,disabled:!1,accept:a.config.video.accept,multiple:a.config.video.multiple,maxSize:a.config.video.maxSize,minSize:a.config.video.minSize,handleError:a.config.video.handleError,customUpload:a.config.video.customUpload}),$=t.ref({show:a.config.table.show,leftBorder:a.config.table.leftBorder,rightBorder:a.config.table.rightBorder,active:!1,disabled:!1,maxRows:a.config.table.maxRows,maxColumns:a.config.table.maxColumns}),F=t.ref({show:a.config.codeBlock.show,leftBorder:a.config.codeBlock.leftBorder,rightBorder:a.config.codeBlock.rightBorder,active:!1,disabled:!1}),z=t.ref({show:a.config.sourceView.show,leftBorder:a.config.sourceView.leftBorder,rightBorder:a.config.sourceView.rightBorder,active:!1,disabled:!1}),P=t.ref({show:a.config.fullScreen.show,leftBorder:a.config.fullScreen.leftBorder,rightBorder:a.config.fullScreen.rightBorder,active:!1,disabled:!1}),H=t.computed((()=>o.props.disabled||!i.value)),V=t.computed((()=>Object.keys(a.config.sequence).sort(((e,t)=>a.config.sequence[e]>a.config.sequence[t]?1:-1)))),j=t.computed((()=>e=>"sourceView"!=e&&"fullScreen"!=e&&r.value)),W=t.computed((()=>(l.value||o.props.autoheight)&&"fixed"==a.config.mode?"default":a.config.mode)),U=t.computed((()=>"fixed"!=W.value&&d.value)),q=(e,t)=>{if(!H.value&&s.value.range)if("undo"==e)o.exposed.undo();else if("redo"==e)o.exposed.redo();else if("heading"==e)la(s.value,c.value,u,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("indent"==e)"indent-increase"==t?ia(s.value,c.value):"indent-decrease"==t&&sa(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("quote"==e)ca(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("align"==e)da(s.value,c.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("orderList"==e)ua(s.value,c.value,!0),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("unorderList"==e)ua(s.value,c.value,!1),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("task"==e)ha(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("bold"==e)Yn(s.value,c.value,"font-weight","bold")||Yn(s.value,c.value,"font-weight","700")?ga(s.value,c.value,["font-weight"]):ma(s.value,c.value,{"font-weight":"bold"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("underline"==e)Yn(s.value,c.value,"text-decoration","underline")||Yn(s.value,c.value,"text-decoration-line","underline")?ga(s.value,c.value,["text-decoration","text-decoration-line"]):ma(s.value,c.value,{"text-decoration":"underline"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("italic"==e)Yn(s.value,c.value,"font-style","italic")?ga(s.value,c.value,["font-style"]):ma(s.value,c.value,{"font-style":"italic"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("strikethrough"==e)Yn(s.value,c.value,"text-decoration","line-through")||Yn(s.value,c.value,"text-decoration-line","line-through")?ga(s.value,c.value,["text-decoration","text-decoration-line"]):ma(s.value,c.value,{"text-decoration":"line-through"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("code"==e)ea(s.value,c.value,"data-editify-code")?pa(s.value,c.value,["data-editify-code"]):fa(s.value,c.value,{"data-editify-code":!0}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("super"==e)Yn(s.value,c.value,"vertical-align","super")?ga(s.value,c.value,["vertical-align"]):ma(s.value,c.value,{"vertical-align":"super"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("sub"==e)Yn(s.value,c.value,"vertical-align","sub")?ga(s.value,c.value,["vertical-align"]):ma(s.value,c.value,{"vertical-align":"sub"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("formatClear"==e)ga(s.value,c.value),pa(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("fontSize"==e)ma(s.value,c.value,{"font-size":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("fontFamily"==e)ma(s.value,c.value,{"font-family":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("lineHeight"==e)ba(s.value,c.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("foreColor"==e)ma(s.value,c.value,{color:t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("backColor"==e)ma(s.value,c.value,{"background-color":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("link"==e){if(!t.url)return;va(s.value,t.text,t.url,t.newOpen),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else if("image"==e){if(!t)return;ya(s.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else if("video"==e){if(!t)return;Ea(s.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else"table"==e?(wa(s.value,t.row,t.column),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()):"codeBlock"==e?(ka(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()):"sourceView"==e?(r.value=!r.value,z.value.active=r.value,r.value||s.value.rangeRender()):"fullScreen"==e&&(l.value=!l.value,P.value.active=l.value,s.value.rangeRender())},K=t.defineComponent((e=>{const n=t.getCurrentInstance(),r={tooltip:a.config.tooltip,name:e.name};return()=>{if("undo"==r.name&&h.value.show)return t.h(Wa,{...r,title:u("undo"),leftBorder:h.value.leftBorder,rightBorder:h.value.rightBorder,disabled:h.value.disabled||e.disabled||H.value,color:a.color,active:h.value.active,onOperate:q},(()=>t.h(Da,{value:"undo"})));if("redo"==r.name&&m.value.show)return t.h(Wa,{...r,title:u("redo"),leftBorder:m.value.leftBorder,rightBorder:m.value.rightBorder,disabled:m.value.disabled||e.disabled||H.value,color:a.color,active:m.value.active,onOperate:q},(()=>t.h(Da,{value:"redo"})));if("heading"==r.name&&f.value.show)return t.h(Wa,{...r,type:"display",displayConfig:f.value.displayConfig,title:u("heading"),leftBorder:f.value.leftBorder,rightBorder:f.value.rightBorder,color:a.color,disabled:f.value.disabled||e.disabled||H.value,active:f.value.active,onOperate:q});if("indent"==r.name&&g.value.show)return t.h(Wa,{...r,type:"select",selectConfig:g.value.selectConfig,title:u("indent"),leftBorder:g.value.leftBorder,rightBorder:g.value.rightBorder,color:a.color,disabled:g.value.disabled||e.disabled||H.value,active:g.value.active,onOperate:q},(()=>t.h(Da,{value:"indent-increase"})));if("quote"==r.name&&p.value.show)return t.h(Wa,{...r,title:u("quote"),leftBorder:p.value.leftBorder,rightBorder:p.value.rightBorder,color:a.color,disabled:p.value.disabled||e.disabled||H.value,active:p.value.active,onOperate:q},(()=>t.h(Da,{value:"quote"})));if("align"==r.name&&b.value.show)return t.h(Wa,{...r,type:"select",selectConfig:b.value.selectConfig,title:u("align"),leftBorder:b.value.leftBorder,rightBorder:b.value.rightBorder,color:a.color,disabled:b.value.disabled||e.disabled||H.value,active:b.value.active,onOperate:q},(()=>t.h(Da,{value:"align-left"})));if("orderList"==r.name&&v.value.show)return t.h(Wa,{...r,title:u("orderList"),leftBorder:v.value.leftBorder,rightBorder:v.value.rightBorder,color:a.color,disabled:v.value.disabled||e.disabled||H.value,active:v.value.active,onOperate:q},(()=>t.h(Da,{value:"list-ordered"})));if("unorderList"==r.name&&y.value.show)return t.h(Wa,{...r,title:u("unorderList"),leftBorder:y.value.leftBorder,rightBorder:y.value.rightBorder,color:a.color,disabled:y.value.disabled||e.disabled||H.value,active:y.value.active,onOperate:q},(()=>t.h(Da,{value:"list-unordered"})));if("task"==r.name&&E.value.show)return t.h(Wa,{...r,title:u("task"),leftBorder:E.value.leftBorder,rightBorder:E.value.rightBorder,color:a.color,disabled:E.value.disabled||e.disabled||H.value,active:E.value.active,onOperate:q},(()=>t.h(Da,{value:"task"})));if("bold"==r.name&&w.value.show)return t.h(Wa,{...r,title:u("bold"),leftBorder:w.value.leftBorder,rightBorder:w.value.rightBorder,color:a.color,disabled:w.value.disabled||e.disabled||H.value,active:w.value.active,onOperate:q},(()=>t.h(Da,{value:"bold"})));if("underline"==r.name&&k.value.show)return t.h(Wa,{...r,title:u("underline"),leftBorder:k.value.leftBorder,rightBorder:k.value.rightBorder,color:a.color,disabled:k.value.disabled||e.disabled||H.value,active:k.value.active,onOperate:q},(()=>t.h(Da,{value:"underline"})));if("italic"==r.name&&_.value.show)return t.h(Wa,{...r,title:u("italic"),leftBorder:_.value.leftBorder,rightBorder:_.value.rightBorder,color:a.color,disabled:_.value.disabled||e.disabled||H.value,active:_.value.active,onOperate:q},(()=>t.h(Da,{value:"italic"})));if("strikethrough"==r.name&&x.value.show)return t.h(Wa,{...r,title:u("strikethrough"),leftBorder:x.value.leftBorder,rightBorder:x.value.rightBorder,color:a.color,disabled:x.value.disabled||e.disabled||H.value,active:x.value.active,onOperate:q},(()=>t.h(Da,{value:"strikethrough"})));if("code"==r.name&&C.value.show)return t.h(Wa,{...r,title:u("code"),leftBorder:C.value.leftBorder,rightBorder:C.value.rightBorder,color:a.color,disabled:C.value.disabled||e.disabled||H.value,active:C.value.active,onOperate:q},(()=>t.h(Da,{value:"code"})));if("super"==r.name&&B.value.show)return t.h(Wa,{...r,title:u("superscript"),leftBorder:B.value.leftBorder,rightBorder:B.value.rightBorder,color:a.color,disabled:B.value.disabled||e.disabled||H.value,active:B.value.active,onOperate:q},(()=>t.h(Da,{value:"superscript"})));if("sub"==r.name&&T.value.show)return t.h(Wa,{...r,title:u("subscript"),leftBorder:T.value.leftBorder,rightBorder:T.value.rightBorder,color:a.color,disabled:T.value.disabled||e.disabled||H.value,active:T.value.active,onOperate:q},(()=>t.h(Da,{value:"subscript"})));if("formatClear"==r.name&&S.value.show)return t.h(Wa,{...r,title:u("formatClear"),leftBorder:S.value.leftBorder,rightBorder:S.value.rightBorder,color:a.color,disabled:S.value.disabled||e.disabled||H.value,active:S.value.active,onOperate:q},(()=>t.h(Da,{value:"format-clear"})));if("fontSize"==r.name&&N.value.show)return t.h(Wa,{...r,type:"display",displayConfig:N.value.displayConfig,title:u("fontSize"),leftBorder:N.value.leftBorder,rightBorder:N.value.rightBorder,color:a.color,disabled:N.value.disabled||e.disabled||H.value,active:N.value.active,onOperate:q});if("fontFamily"==r.name&&O.value.show)return t.h(Wa,{...r,type:"display",displayConfig:O.value.displayConfig,title:u("fontFamily"),leftBorder:O.value.leftBorder,rightBorder:O.value.rightBorder,color:a.color,disabled:O.value.disabled||e.disabled||H.value,active:O.value.active,onOperate:q});if("lineHeight"==r.name&&A.value.show)return t.h(Wa,{...r,type:"display",displayConfig:A.value.displayConfig,title:u("lineHeight"),leftBorder:A.value.leftBorder,rightBorder:A.value.rightBorder,color:a.color,disabled:A.value.disabled||e.disabled||H.value,active:A.value.active,onOperate:q});if("foreColor"==r.name&&R.value.show)return t.h(Wa,{...r,ref:"btnRef",type:"select",selectConfig:R.value.selectConfig,title:u("foreColor"),leftBorder:R.value.leftBorder,rightBorder:R.value.rightBorder,color:a.color,disabled:R.value.disabled||e.disabled||H.value,active:R.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"font-color"}),layer:e=>t.h(eo,{tooltip:a.config.tooltip,value:R.value.value,data:e.options,color:a.color,onChange:e=>{q("foreColor",e);n.proxy.$refs.btnRef.show=!1}})});if("backColor"==r.name&&M.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",selectConfig:M.value.selectConfig,title:u("backColor"),leftBorder:M.value.leftBorder,rightBorder:M.value.rightBorder,color:a.color,disabled:M.value.disabled||e.disabled||H.value,active:M.value.active,onOperate:q,hideScroll:!0},{default:()=>t.h(Da,{value:"brush"}),layer:e=>t.h(eo,{tooltip:a.config.tooltip,value:M.value.value,data:e.options,color:a.color,onChange:e=>{q("backColor",e);n.proxy.$refs.btnRef.show=!1}})});if("link"==r.name&&I.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertLink"),leftBorder:I.value.leftBorder,rightBorder:I.value.rightBorder,color:a.color,disabled:I.value.disabled||e.disabled||H.value,active:I.value.active,hideScroll:!0,onLayerShow:()=>{I.value.text=ta(c.value)}},{default:()=>t.h(Da,{value:"link"}),layer:()=>t.h(bo,{color:a.color,text:I.value.text,onInsert:(e,t,a)=>{q("link",{text:e,url:t,newOpen:a});n.proxy.$refs.btnRef.show=!1}})});if("image"==r.name&&L.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertImage"),leftBorder:L.value.leftBorder,rightBorder:L.value.rightBorder,color:a.color,disabled:L.value.disabled||e.disabled||H.value,active:L.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"image"}),layer:()=>t.h(Co,{color:a.color,accept:L.value.accept,multiple:L.value.multiple,maxSize:L.value.maxSize,minSize:L.value.minSize,customUpload:L.value.customUpload,handleError:L.value.handleError,onChange:()=>{n.proxy.$refs.btnRef.$refs.layerRef.setPosition()},onInsert:e=>{q("image",e);n.proxy.$refs.btnRef.show=!1}})});if("video"==r.name&&D.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertVideo"),leftBorder:D.value.leftBorder,rightBorder:D.value.rightBorder,color:a.color,disabled:D.value.disabled||e.disabled||H.value,active:D.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"video"}),layer:()=>t.h(Mo,{color:a.color,accept:D.value.accept,multiple:D.value.multiple,maxSize:D.value.maxSize,minSize:D.value.minSize,customUpload:D.value.customUpload,handleError:D.value.handleError,onChange:()=>{n.proxy.$refs.btnRef.$refs.layerRef.setPosition()},onInsert:e=>{q("video",e);n.proxy.$refs.btnRef.show=!1}})});if("table"==r.name&&$.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertTable"),leftBorder:$.value.leftBorder,rightBorder:$.value.rightBorder,color:a.color,disabled:$.value.disabled||e.disabled||H.value,active:$.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"table"}),layer:()=>t.h(Ho,{color:a.color,maxRows:$.value.maxRows,maxColumns:$.value.maxColumns,onInsert:(e,t)=>{q("table",{row:e,column:t});n.proxy.$refs.btnRef.show=!1}})});if("codeBlock"==r.name&&F.value.show)return t.h(Wa,{...r,title:u("inserCodeBlock"),leftBorder:F.value.leftBorder,rightBorder:F.value.rightBorder,color:a.color,disabled:F.value.disabled||e.disabled||H.value,active:F.value.active,onOperate:q},(()=>t.h(Da,{value:"code-block"})));if("sourceView"==r.name&&z.value.show)return t.h(Wa,{...r,title:u("sourceView"),leftBorder:z.value.leftBorder,rightBorder:z.value.rightBorder,color:a.color,disabled:z.value.disabled||e.disabled||H.value,active:z.value.active,onOperate:q},(()=>t.h(Da,{value:"source-view"})));if("fullScreen"==r.name&&P.value.show)return t.h(Wa,{...r,title:u("fullScreen"),leftBorder:P.value.leftBorder,rightBorder:P.value.rightBorder,color:a.color,disabled:P.value.disabled||e.disabled||H.value,active:P.value.active,onOperate:q},(()=>t.h(Da,{value:"full-screen"})));if(ne.isObject(a.config.extends)){const l=a.config.extends[r.name];if(l)return t.h(Wa,{...r,ref:"btnRef",type:l.type||"default",title:l.title||"",leftBorder:l.leftBorder||!1,rightBorder:l.rightBorder||!1,disabled:l.disabled||e.disabled||H.value,hideScroll:l.hideScroll||!1,active:l.active||!1,selectConfig:{width:l.width,maxHeight:l.maxHeight,options:l.options},displayConfig:{width:l.width,maxHeight:l.maxHeight,value:l.value,options:l.options},color:a.color,onLayerShow:()=>{"function"==typeof l.onLayerShow&&l.onLayerShow.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onLayerShown:()=>{"function"==typeof l.onLayerShown&&l.onLayerShown.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onLayerHidden:()=>{"function"==typeof l.onLayerHidden&&l.onLayerHidden.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onOperate:(e,t)=>{"function"==typeof l.onOperate&&l.onOperate.apply(o.proxy,[e,t,n.proxy.$refs.btnRef])}},{default:l.default||null,layer:l.layer||null,option:l.option||null})}return null}}),{props:{name:String,disabled:Boolean}});return n({handleRangeUpdate:()=>{const e=Wn(s.value,c.value),t=Xn(s.value,c.value),n=Un(s.value,c.value),i=qn(s.value,c.value),d=Gn(s.value,c.value),u=Kn(s.value,c.value,!0),H=Kn(s.value,c.value,!1),V=Zn(s.value,c.value),j=e=>"function"==typeof a.config.extraDisabled&&a.config.extraDisabled.apply(o.proxy,[e])||!1;h.value.disabled=!s.value.history.get(-1)||j("undo"),m.value.disabled=!s.value.history.get(1)||j("redo");const W=f.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),s.value.range.anchor.isEqual(s.value.range.focus)?s.value.range.anchor.element.getBlock().parsedom==t:c.value.list.every((e=>e.element.isBlock()?e.element.parsedom==t:e.element.getBlock().parsedom==t))}));f.value.displayConfig.value=W?ne.isObject(W)?W.value:W:f.value.defaultValue,f.value.disabled=e||t||j("heading"),g.value.disabled=e||t||j("indent"),p.value.active=i,p.value.disabled=e||t||j("quote"),b.value.disabled=e||j("align"),v.value.active=u,v.value.disabled=e||t||j("orderList"),y.value.active=H,y.value.disabled=e||t||j("unorderList"),E.value.active=V,E.value.disabled=e||t||j("task"),w.value.active=Yn(s.value,c.value,"font-weight","bold")||Yn(s.value,c.value,"font-weight","700"),w.value.disabled=e||j("bold"),k.value.active=Yn(s.value,c.value,"text-decoration","underline")||Yn(s.value,c.value,"text-decoration-line","underline"),k.value.disabled=e||j("underline"),_.value.active=Yn(s.value,c.value,"font-style","italic"),_.value.disabled=e||j("italic"),x.value.active=Yn(s.value,c.value,"text-decoration","line-through")||Yn(s.value,c.value,"text-decoration-line","line-through"),x.value.disabled=e||j("strikethrough"),C.value.active=ea(s.value,c.value,"data-editify-code"),C.value.disabled=e||j("code"),B.value.active=Yn(s.value,c.value,"vertical-align","super"),B.value.disabled=e||j("super"),T.value.active=Yn(s.value,c.value,"vertical-align","sub"),T.value.disabled=e||j("sub"),S.value.disabled=e||j("formatClear");const U=N.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"font-size",e.value):Yn(s.value,c.value,"font-size",e)));N.value.displayConfig.value=U?ne.isObject(U)?U.value:U:N.value.defaultValue,N.value.disabled=e||j("fontSize");const q=O.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"font-family",e.value):Yn(s.value,c.value,"font-family",e)));O.value.displayConfig.value=q?ne.isObject(q)?q.value:q:O.value.defaultValue,O.value.disabled=e||j("fontFamily");const K=A.value.displayConfig.options.find((e=>{let t=e;if(ne.isObject(e)&&(t=e.value),s.value.range.anchor.isEqual(s.value.range.focus)){const e=s.value.range.anchor.element.getBlock();return e.hasStyles()&&e.styles["line-height"]==t}return c.value.list.every((e=>{if(e.element.isBlock()||e.element.isInblock())return e.element.hasStyles()&&e.element.styles["line-height"]==t;const n=e.element.getBlock(),a=e.element.getInblock();return a?a.hasStyles()&&a.styles["line-height"]==t:n.hasStyles()&&n.styles["line-height"]==t}))}));A.value.displayConfig.value=K?ne.isObject(K)?K.value:K:A.value.defaultValue,A.value.disabled=e||j("lineHeight");const Z=R.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"color",e.value):Yn(s.value,c.value,"color",e)));R.value.value=Z?ne.isObject(Z)?Z.value:Z:"",R.value.disabled=e||j("foreColor");const G=M.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"background-color",e.value):Yn(s.value,c.value,"background-color",e)));M.value.value=G?ne.isObject(G)?G.value:G:"",M.value.disabled=e||j("backColor"),I.value.disabled=d||e||j("link"),L.value.disabled=e||j("image"),D.value.disabled=e||j("video"),$.value.disabled=e||t||n||j("table"),F.value.active=!!zn(s.value,c.value,"pre"),F.value.disabled=t||n||j("codeBlock"),z.value.active=r.value,P.value.active=l.value}}),(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-menu",{border:U.value,source:t.unref(r)&&"inner"==W.value,fullscreen:t.unref(l)}]),"data-editify-mode":W.value,style:t.normalizeStyle(e.config.style||"")},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(V.value,(e=>(t.openBlock(),t.createBlock(t.unref(K),{name:e,disabled:j.value(e)},null,8,["name","disabled"])))),256))],14,jo))}}),[["__scopeId","data-v-98216646"]]),Uo={locale:{type:String,default:"zh_CN"},modelValue:{type:String,default:"<p><br></p>"},placeholder:{type:String,default:""},autofocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},allowCopy:{type:Boolean,default:!0},allowPaste:{type:Boolean,default:!0},allowCut:{type:Boolean,default:!0},allowPasteHtml:{type:Boolean,default:!1},border:{type:Boolean,default:!1},color:{type:String,default:"#03a8f3",validator:e=>ne.matchingText(e,"hex")},videoRatio:{type:Number,default:16/9},toolbar:{type:Object,default:null},showWordLength:{type:Boolean,default:!1},customTextPaste:{type:Function,default:null},customHtmlPaste:{type:Function,default:null},customImagePaste:{type:Function,default:null},customVideoPaste:{type:Function,default:null},customFilePaste:{type:Function,default:null},menu:{type:Object,default:null},pasteKeepMarks:{type:Object,default:null},pasteKeepStyles:{type:Object,default:null},customParseNode:{type:Function,default:null},renderRules:{type:Array,default:function(){return[]}},autoheight:{type:Boolean,default:!1},tab:{type:Boolean,default:!0}},qo={textWrapUp:"Up feed",textWrapDown:"Down feed",insertRowTop:"Insert row forward",insertRowBottom:"Insert row backward",insertColumnLeft:"Insert column forward",insertColumnRight:"Insert column backward",deleteRow:"Delete rows",deleteColumn:"Delete column",deleteTable:"Delete table",selectLanguages:"Select language",autoRecognize:"Auto",linkAddress:"Link address",newWindowOpen:"Open in new window",removeLink:"Remove",viewLink:"View",linkUrlEnterPlaceholder:"Please enter the link address",linkTextEnterPlaceholder:"Please enter the link text",width30:"Set the width to 30%",width50:"Set the width to 50%",width100:"Set the width to 100%",deleteImage:"Delete image",autoplay:"Autoplay",disabledAutoplay:"Turn off autoplay",loop:"Loop",disabledLoop:"Close loop",muted:"Mute",unmuted:"Unmute",controls:"Play control",deleteVideo:"Delete video",heading:"Heading",bold:"Bold",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6",text:"Paragraph",italic:"Italic",orderList:"Ordered list",unorderList:"Unordered list",strikethrough:"Strikethrough",underline:"Underline",code:"Inline code",superscript:"Superscript",subscript:"Subscript",fontSize:"Font size",fontFamily:"Font family",defaultFontFamily:"Default",foreColor:"Forecolor",defaultColor:"Default color",backColor:"Backcolor",formatClear:"Clear format",defaultSize:"Default",totalWordCount:"Total word count: ",align:"Alignment mode",undo:"Undo",redo:"Redo",quote:"Quote",lineHeight:"Line height",indent:"Indent",insertLink:"Insert Link",insertImage:"Insert Image",remoteImage:"Remote",uploadImage:"Upload",imageUrlPlaceholder:"Please enter the image address",insert:"Insert",insertVideo:"Insert Video",remoteVideo:"Remote",uploadVideo:"Upload",videoUrlPlaceholder:"Please enter the video address",insertTable:"Insert table",inserCodeBlock:"Insert code block",sourceView:"Code view",task:"Task",indentIncrease:"Increase indent",indentDecrease:"Reduce indent",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Align justify",defaultLineHeight:"Default",auto:"auto",fullScreen:"Full screen"},Ko={textWrapUp:"向上换行",textWrapDown:"向下换行",insertRowTop:"向前插入行",insertRowBottom:"向后插入行",insertColumnLeft:"向前插入列",insertColumnRight:"向后插入列",deleteRow:"删除行",deleteColumn:"删除列",deleteTable:"删除表格",selectLanguages:"选择语言",autoRecognize:"自动识别",linkAddress:"链接地址",newWindowOpen:"新窗口打开",removeLink:"移除链接",viewLink:"查看链接",linkUrlEnterPlaceholder:"请输入链接地址",linkTextEnterPlaceholder:"请输入链接文本",width30:"30%宽度",width50:"50%宽度",width100:"100%宽度",deleteImage:"删除图片",autoplay:"自动播放",disabledAutoplay:"关闭自动播放",loop:"循环播放",disabledLoop:"关闭循环播放",muted:"静音",unmuted:"播放声音",controls:"播放控制",deleteVideo:"删除视频",heading:"标题",bold:"粗体",h1:"一级标题",h2:"二级标题",h3:"三级标题",h4:"四级标题",h5:"五级标题",h6:"六级标题",text:"正文",italic:"斜体",orderList:"有序列表",unorderList:"无序列表",strikethrough:"删除线",underline:"下划线",code:"行内代码",superscript:"上标",subscript:"下标",fontSize:"字号",fontFamily:"字体",defaultFontFamily:"默认字体",foreColor:"前景色",defaultColor:"默认颜色",backColor:"背景色",formatClear:"清除格式",defaultSize:"默认字号",totalWordCount:"总字数:",align:"对齐方式",undo:"撤销",redo:"重做",quote:"引用",lineHeight:"行高",indent:"缩进",insertLink:"插入链接",insertImage:"插入图片",remoteImage:"网络图片",uploadImage:"上传图片",imageUrlPlaceholder:"请输入图片地址",insert:"插入",insertVideo:"插入视频",remoteVideo:"网络视频",uploadVideo:"上传视频",videoUrlPlaceholder:"请输入视频地址",insertTable:"插入表格",inserCodeBlock:"插入代码块",sourceView:"代码视图",task:"待办",indentIncrease:"增加缩进",indentDecrease:"减少缩进",alignLeft:"左对齐",alignCenter:"居中对齐",alignRight:"右对齐",alignJustify:"两端对齐",defaultLineHeight:"默认行高",auto:"自适应",fullScreen:"全屏"},Zo=["data-editify-uid"],Go=["data-editify-placeholder"],Xo=["value"],Qo={class:"editify-footer-words"},Jo=Ta(t.defineComponent({name:"editify",__name:"editify",props:Uo,emits:["update:modelValue","focus","blur","change","keydown","insertparagraph","rangeupdate","updateview"],setup(e,{expose:n,emit:a}){const o=t.getCurrentInstance(),r=e,l=a,i=(s=r.locale||"zh_CN",e=>({zh_CN:Ko,en_US:qo}[s][e]));var s;t.provide("$editTrans",i);const c=t.ref(!1),d=t.ref(!1),u=t.ref(null),h=t.ref({element:null,start:0}),m=t.ref({show:!1,node:null,type:"text"}),f=t.ref(null),g=t.ref(null),p=t.ref(null),b=t.ref(null),v=t.ref(null),E=t.ref(null),w=t.ref(null),k=t.ref(!1),_=t.ref(!1),x=t.ref(!1),C=t.ref({flatList:[],list:[]}),B=t.computed({set(e){l("update:modelValue",e)},get:()=>r.modelValue||"<p><br></p>"}),T=t.computed((()=>Y.string2dom(`<div>${B.value}</div>`).innerText)),S=t.computed((()=>!(!(w.value&&B.value&&1==w.value.stack.length&&"block"==w.value.stack[0].type&&w.value.stack[0].parsedom==y.BLOCK_NODE&&w.value.stack[0].isOnlyHasBreak())||w.value.stack[0].hasStyles()||w.value.stack[0].hasMarks())&&!d.value)),N=t.computed((()=>!_.value&&r.border)),O=t.computed((()=>{return In((e=i,t=r.locale,{use:!0,style:null,tooltip:!0,codeBlock:{languages:{show:!0,options:[{label:e("autoRecognize"),value:""},...An],width:120,maxHeight:180,leftBorder:!0,rightBorder:!1}},text:{heading:{show:!0,options:$n(e).heading,defaultValue:"p",width:"en_US"==t?150:130,maxHeight:"",leftBorder:!1,rightBorder:!0},align:{show:!1,options:$n(e).align,width:"zh_CN"==t?110:130,maxHeight:"",leftBorder:!1,rightBorder:!1},orderList:{show:!1,leftBorder:!1,rightBorder:!1},unorderList:{show:!1,leftBorder:!1,rightBorder:!1},task:{show:!1,leftBorder:!1,rightBorder:!1},bold:{show:!0,leftBorder:!1,rightBorder:!1},italic:{show:!0,leftBorder:!1,rightBorder:!1},strikethrough:{show:!0,leftBorder:!1,rightBorder:!1},underline:{show:!0,leftBorder:!1,rightBorder:!1},code:{show:!0,leftBorder:!1,rightBorder:!1},super:{show:!1,leftBorder:!1,rightBorder:!1},sub:{show:!1,leftBorder:!1,rightBorder:!1},fontSize:{show:!0,options:$n(e).fontSize,defaultValue:"",width:100,maxHeight:200,leftBorder:!0,rightBorder:!1},fontFamily:{show:!1,options:$n(e).fontFamily,defaultValue:"",width:100,maxHeight:200,leftBorder:!1,rightBorder:!1},lineHeight:{show:!1,options:$n(e).lineHeight,defaultValue:"",width:90,maxHeight:"",leftBorder:!1,rightBorder:!1},foreColor:{show:!0,options:$n(e).foreColor,leftBorder:!1,rightBorder:!1},backColor:{show:!0,options:$n(e).backColor,leftBorder:!1,rightBorder:!1},formatClear:{show:!0,leftBorder:!0,rightBorder:!1}},extraDisabled:null}),r.toolbar||{});var e,t})),A=t.computed((()=>{return In((e=i,t=r.locale,{use:!0,tooltip:!0,mode:"default",extraDisabled:null,style:null,sequence:{undo:0,redo:1,heading:2,indent:3,quote:4,align:5,orderList:6,unorderList:7,task:8,bold:9,underline:10,italic:11,strikethrough:12,code:13,super:14,sub:15,formatClear:16,fontSize:17,fontFamily:18,lineHeight:19,foreColor:20,backColor:21,link:22,image:23,video:24,table:25,codeBlock:26,sourceView:27,fullScreen:28},undo:{show:!0,leftBorder:!1,rightBorder:!1},redo:{show:!0,leftBorder:!1,rightBorder:!1},heading:{show:!0,options:$n(e).heading,defaultValue:"p",width:"en_US"==t?150:130,maxHeight:"",leftBorder:!0,rightBorder:!1},indent:{show:!0,options:$n(e).indent,width:"en_US"==t?150:110,maxHeight:"",leftBorder:!1,rightBorder:!1},quote:{show:!0,leftBorder:!1,rightBorder:!1},align:{show:!0,options:$n(e).align,width:"zh_CN"==t?110:130,maxHeight:"",leftBorder:!0,rightBorder:!1},orderList:{show:!0,leftBorder:!1,rightBorder:!1},unorderList:{show:!0,leftBorder:!1,rightBorder:!1},task:{show:!0,leftBorder:!1,rightBorder:!1},bold:{show:!0,leftBorder:!0,rightBorder:!1},underline:{show:!0,leftBorder:!1,rightBorder:!1},italic:{show:!0,leftBorder:!1,rightBorder:!1},strikethrough:{show:!0,leftBorder:!1,rightBorder:!1},code:{show:!0,leftBorder:!1,rightBorder:!1},super:{show:!0,leftBorder:!1,rightBorder:!1},sub:{show:!0,leftBorder:!1,rightBorder:!1},formatClear:{show:!0,leftBorder:!1,rightBorder:!1},fontSize:{show:!0,options:$n(e).fontSize,defaultValue:"",width:100,maxHeight:200,leftBorder:!0,rightBorder:!1},fontFamily:{show:!0,options:$n(e).fontFamily,defaultValue:"",width:100,maxHeight:200,leftBorder:!1,rightBorder:!1},lineHeight:{show:!0,options:$n(e).lineHeight,defaultValue:"",width:90,maxHeight:"",leftBorder:!1,rightBorder:!1},foreColor:{show:!0,options:$n(e).foreColor,leftBorder:!0,rightBorder:!1},backColor:{show:!0,options:$n(e).backColor,leftBorder:!1,rightBorder:!1},link:{show:!0,leftBorder:!0,rightBorder:!1},image:{show:!0,leftBorder:!1,rightBorder:!1,accept:["jpg","png","jpeg","webp","jfif","ico","gif","svg","psd"],multiple:!1,maxSize:null,minSize:null,customUpload:null,handleError:null},video:{show:!0,leftBorder:!1,rightBorder:!1,accept:["mp4","avi","mpg","wmv","mov","rm","swf","flv"],multiple:!1,maxSize:null,minSize:null,customUpload:null,handleError:null},table:{show:!0,leftBorder:!1,rightBorder:!1,maxRows:10,maxColumns:10},codeBlock:{show:!0,leftBorder:!1,rightBorder:!1},sourceView:{show:!1,leftBorder:!1,rightBorder:!1},fullScreen:{show:!1,leftBorder:!1,rightBorder:!1},extends:{}}),r.menu||{});var e,t})),R=e=>{c.value=!0,B.value=e,t.nextTick((()=>{c.value=!1}))},M=()=>{m.value.show=!1,m.value.node=null},I=()=>{r.disabled||k.value||(M(),t.nextTick((()=>{const e=zn(w.value,C.value,"table"),t=zn(w.value,C.value,"pre"),n=zn(w.value,C.value,"a"),a=zn(w.value,C.value,"img"),r=zn(w.value,C.value,"video");if(n)m.value.type="link",m.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${n.key}"]`,m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0;else if(a)m.value.type="image",m.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${a.key}"]`,m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0;else if(r)m.value.type="video",m.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${r.key}"]`,m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0;else if(e)m.value.type="table",m.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${e.key}"]`,m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0;else if(t)m.value.type="codeBlock",m.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${t.key}"]`,m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0;else{!C.value.flatList.filter((e=>e.element.isText())).length||Xn(w.value,C.value)||Wn(w.value,C.value)||Gn(w.value,C.value)||Qn(w.value,C.value)||Jn(w.value,C.value)||(m.value.type="text",m.value.show?b.value.$refs.layerRef.setPosition():m.value.show=!0)}})))},L=()=>{w.value=new X(p.value,{value:B.value,disabled:r.disabled,renderRules:[e=>{((e,t)=>{"ol"!=t.parsedom&&"ul"!=t.parsedom||(t.hasChildren()&&t.children.forEach((n=>{const a=n.clone();a.parsedom="div",a.type=t.type,a.hasMarks()||(a.marks={}),a.marks["data-editify-list"]=t.parsedom,e.addElementBefore(a,t)})),t.toEmpty())})(w.value,e)},e=>{!function(e,t){if(Vn(t,!0)){const n=e.getPreviousElement(t);if(n&&Vn(n,!0)){const e=Number(n.marks["data-editify-value"]);t.marks["data-editify-value"]=e+1}else t.marks["data-editify-value"]=1}}(w.value,e)},e=>{!function(e,t){if("img"==t.parsedom||"video"==t.parsedom||"a"==t.parsedom){const e={"data-editify-element":t.key};t.hasMarks()?Object.assign(t.marks,e):t.marks=e}if("video"==t.parsedom){const n=e.getPreviousElement(t),a=e.getNextElement(t);if(!n||n.isEmpty()){const n=y.getSpaceElement();e.addElementBefore(n,t)}if(!a||a.isEmpty()){const n=y.getSpaceElement();e.addElementAfter(n,t)}}}(w.value,e)},e=>{_a(w.value,e)},e=>{var t,n,a,o,r,l,i;xa(w.value,e,!(!(null==(t=O.value)?void 0:t.use)||!(null==(o=null==(a=null==(n=O.value)?void 0:n.codeBlock)?void 0:a.languages)?void 0:o.show)),null==(i=null==(l=null==(r=O.value)?void 0:r.codeBlock)?void 0:l.languages)?void 0:i.options)},e=>{!function(e,t){t.hasChildren()&&t.children.forEach((n=>{if(Vn(n,!0)||Vn(n,!1)||jn(n)||["blockquote","pre","table","h1","h2","h3","h4","h5","h6","p"].includes(n.parsedom)){const a=n.clone();a.type="block";const o=t.getBlock();e.addElementAfter(a,o),n.toEmpty()}}))}(w.value,e)},...r.renderRules],allowCopy:r.allowCopy,allowPaste:r.allowPaste,allowCut:r.allowCut,allowPasteHtml:r.allowPasteHtml,customTextPaste:r.customTextPaste,customImagePaste:r.customImagePaste,customVideoPaste:r.customVideoPaste,customFilePaste:r.customFilePaste,customHtmlPaste:H,customMerge:V,customParseNode:j}),R(w.value.value),w.value.on("change",q),w.value.on("focus",Z),w.value.on("blur",K),w.value.on("insertParagraph",G),w.value.on("rangeUpdate",J),w.value.on("deleteInStart",ee),w.value.on("deleteComplete",ne),w.value.on("afterRender",ae),w.value.formatElementStack(),w.value.domRender(),!r.autofocus||k.value||r.disabled||oe()},D=()=>{p.value.querySelectorAll("video").forEach((e=>{e.style.height=e.offsetWidth/r.videoRatio+"px"}))},$=e=>{if(!r.disabled){if(Y.isContains(p.value,e.target)){const t=e.target,n=te.get(t,"data-alex-editor-key");if(n){const a=w.value.getElementByKey(n);if(a&&"td"==a.parsedom){const n=a.parent.children.length;if(a.parent.children[n-1].isEqual(a))return;const o=Y.getElementBounding(t);e.pageX>=Math.abs(o.left+t.offsetWidth-5)&&e.pageX<=Math.abs(o.left+t.offsetWidth+5)&&(h.value.element=a,h.value.start=e.pageX)}}}Y.isContains(E.value,e.target)||k.value||(x.value=!1)}},F=e=>{if(r.disabled)return;if(!h.value.element)return;const t=zn(w.value,C.value,"table");if(!t)return;const n=t.children.find((e=>"colgroup"==e.parsedom)),a=h.value.element.parent.children.findIndex((e=>e.isEqual(h.value.element))),o=""+(h.value.element.elm.offsetWidth+e.pageX-h.value.start);n.children[a].marks.width=o,n.children[a].elm.setAttribute("width",o),h.value.start=e.pageX},z=()=>{if(r.disabled)return;if(!h.value.element)return;const e=zn(w.value,C.value,"table");if(!e)return;const t=e.children.find((e=>"colgroup"==e.parsedom)),n=h.value.element.parent.children.findIndex((e=>e.isEqual(h.value.element))),a=Number(t.children[n].marks.width);isNaN(a)||(t.children[n].marks.width=`${Number((a/h.value.element.parent.elm.offsetWidth*100).toFixed(2))}%`,w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender()),h.value.element=null,h.value.start=0},P=e=>{if(!r.disabled&&Y.isContains(p.value,e.target)){const t=e.target,n=te.get(t,"data-alex-editor-key");if(n){const a=w.value.getElementByKey(n);if(jn(a)){const n=Y.getElementBounding(t);e.pageX>=Math.abs(n.left)&&e.pageX<=Math.abs(n.left+16)&&e.pageY>=Math.abs(n.top+t.offsetHeight/2-8)&&e.pageY<=Math.abs(n.top+t.offsetHeight/2+8)&&("checked"==a.marks["data-editify-task"]?a.marks["data-editify-task"]="uncheck":a.marks["data-editify-task"]="checked",w.value.range||w.value.initRange(),w.value.range.anchor.moveToEnd(a),w.value.range.focus.moveToEnd(a),w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender())}}}},H=async e=>{const t=Object.assign(Mn,r.pasteKeepStyles||{}),n=Object.assign(Rn,r.pasteKeepMarks||{});if(y.flatElements(e).forEach((e=>{let a={},o={};if(e.hasMarks()){for(let t in n)e.marks.hasOwnProperty(t)&&(Array.isArray(n[t])&&n[t].includes(e.parsedom)||"*"==n[t])&&(a[t]=e.marks[t]);e.marks=a}if(e.hasStyles()&&!e.isText()){for(let n in t)e.styles.hasOwnProperty(n)&&(Array.isArray(t[n])&&t[n].includes(e.parsedom)||"*"==t[n])&&(o[n]=e.styles[n]);e.styles=o}})),"function"==typeof r.customHtmlPaste)await r.customHtmlPaste.apply(this,[e]);else for(let a=0;a<e.length;a++)w.value.insertElement(e[a],!1)},V=(e,t)=>{const n=t.getUneditableElement();n?n.toEmpty():(t.children.push(...e.children),t.children.forEach((e=>{e.parent=t})),e.children=null)},j=e=>{if("code"==e.parsedom){e.parsedom="span";const t={"data-editify-code":!0};e.hasMarks()?Object.assign(e.marks,t):e.marks=t}return"function"==typeof r.customParseNode&&(e=r.customParseNode.apply(o.proxy,[e])),e},W=e=>{r.disabled||("tab"!=e.key.toLocaleLowerCase()||e.metaKey||e.shiftKey||e.ctrlKey||e.altKey||!r.tab||(e.preventDefault(),w.value.insertText(" "),w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender()),l("keydown",e))},U=e=>{if(r.disabled||k.value)return;const t=e.target;if("img"==t.nodeName.toLocaleLowerCase()||"video"==t.nodeName.toLocaleLowerCase()){const e=Number(t.getAttribute("data-editify-element"));if(Q.isNumber(e)){const t=w.value.getElementByKey(e);w.value.range||w.value.initRange(),w.value.range.anchor.moveToStart(t),w.value.range.focus.moveToEnd(t),w.value.rangeRender()}}},q=(e,t)=>{r.disabled||(R(e),l("change",e,t))},K=e=>{r.disabled||(r.border&&r.color&&!_.value&&(g.value.style.borderColor="",g.value.style.boxShadow="",A.value.use&&(f.value.$el.style.borderColor="",f.value.$el.style.boxShadow="")),l("blur",e))},Z=e=>{if(!r.disabled){if(r.border&&r.color&&!_.value){g.value.style.borderColor=r.color;const e=le.hex2rgb(r.color);A.value.use&&"inner"==A.value.mode?(g.value.style.boxShadow=`0 8px 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5),8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5), -8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5)`,f.value.$el.style.borderColor=r.color,f.value.$el.style.boxShadow=`0 -8px 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5),8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5), -8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5)`):(A.value.use,g.value.style.boxShadow=`0 0 8px rgba(${e[0]},${e[1]},${e[2]},0.5)`)}setTimeout((()=>{x.value=!0,l("focus",e)}),0)}},G=(e,t)=>{t.isOnlyHasBreak()&&e.isOnlyHasBreak()&&t.parsedom!=y.BLOCK_NODE&&(aa(t),w.value.range.anchor.moveToStart(t),w.value.range.focus.moveToStart(t),e.toEmpty()),l("insertparagraph",B.value)},J=()=>{r.disabled||(x.value=!!w.value.range,w.value.range&&(C.value=w.value.getElementsByRange(),u.value&&(clearTimeout(u.value),u.value=null),u.value=setTimeout((()=>{(O.value.use||A.value.use)&&(O.value.use&&I(),A.value.use&&f.value.handleRangeUpdate())}),200),l("rangeupdate")))},ee=e=>{e.isBlock()&&aa(e)},ne=()=>{const e=w.value.range.anchor.element.getUneditableElement();e&&e.toEmpty()},ae=()=>{D(),l("updateview")},oe=()=>{r.disabled||(w.value.collapseToEnd(),w.value.rangeRender(),Y.setScrollTop({el:p.value,number:1e6,time:0}))};return t.watch((()=>B.value),(e=>{c.value||(w.value.stack=w.value.parseHtml(e),w.value.range=null,w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender(),p.value.blur())})),t.watch((()=>k.value),(e=>{O.value.use&&(e?M():I())})),t.watch((()=>r.disabled),(e=>{e?w.value.setDisabled():w.value.setEnabled()})),t.onMounted((()=>{L(),(()=>{const e=t=>{re.on(t,`scroll.editify_${o.uid}`,(()=>{O.value.use&&m.value.show&&M()})),t.parentNode&&e(t.parentNode)};e(p.value)})(),re.on(document.documentElement,`mousedown.editify_${o.uid}`,$),re.on(document.documentElement,`mousemove.editify_${o.uid}`,F),re.on(document.documentElement,`mouseup.editify_${o.uid}`,z),re.on(document.documentElement,`click.editify_${o.uid}`,P),re.on(window,`resize.editify_${o.uid}`,D)})),t.onBeforeUnmount((()=>{(()=>{const e=t=>{re.off(t,`scroll.editify_${o.uid}`),t.parentNode&&e(t.parentNode)};e(p.value)})(),re.off(document.documentElement,`mousedown.editify_${o.uid} mousemove.editify_${o.uid} mouseup.editify_${o.uid} click.editify_${o.uid}`),re.off(window,`resize.editify_${o.uid}`),w.value.destroy()})),t.provide("editify",o),t.provide("isSourceView",k),t.provide("isFullScreen",_),t.provide("canUseMenu",x),t.provide("editor",w),t.provide("dataRangeCaches",C),t.provide("showBorder",N),n({editor:w,isSourceView:k,isFullScreen:_,canUseMenu:x,dataRangeCaches:C,textValue:T,collapseToEnd:oe,collapseToStart:()=>{r.disabled||(w.value.collapseToStart(),w.value.rangeRender(),t.nextTick((()=>{Y.setScrollTop({el:p.value,number:0,time:0})})))},undo:()=>{if(r.disabled)return;const e=w.value.history.get(-1);e&&(w.value.history.current=e.current,w.value.stack=e.stack,w.value.range=e.range,w.value.formatElementStack(),w.value.domRender(!0),w.value.rangeRender())},redo:()=>{if(r.disabled)return;const e=w.value.history.get(1);e&&(w.value.history.current=e.current,w.value.stack=e.stack,w.value.range=e.range,w.value.formatElementStack(),w.value.domRender(!0),w.value.rangeRender())}}),(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify",{fullscreen:_.value,autoheight:!_.value&&e.autoheight}]),ref_key:"elRef",ref:E},[A.value.use?(t.openBlock(),t.createBlock(Wo,{key:0,config:A.value,color:e.color,ref_key:"menuRef",ref:f},null,8,["config","color"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"bodyRef",ref:g,class:t.normalizeClass(["editify-body",{border:N.value,menu_inner:A.value.use&&"inner"==A.value.mode}]),"data-editify-uid":t.unref(o).uid},[t.createElementVNode("div",{ref_key:"contentRef",ref:p,class:t.normalizeClass(["editify-content",{placeholder:S.value,disabled:e.disabled}]),onKeydown:W,onClick:U,onCompositionstart:n[0]||(n[0]=e=>d.value=!0),onCompositionend:n[1]||(n[1]=e=>d.value=!1),"data-editify-placeholder":e.placeholder},null,42,Go),k.value?(t.openBlock(),t.createElementBlock("textarea",{key:0,value:B.value,readonly:"",class:"editify-source"},null,8,Xo)):t.createCommentVNode("",!0),t.createVNode(so,{ref_key:"toolbarRef",ref:b,modelValue:m.value.show,"onUpdate:modelValue":n[2]||(n[2]=e=>m.value.show=e),node:m.value.node,type:m.value.type,config:O.value,color:e.color},null,8,["modelValue","node","type","config","color"])],10,Zo),e.showWordLength?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["editify-footer",{fullscreen:_.value&&!k.value}]),ref_key:"footerRef",ref:v},[t.createElementVNode("div",Qo,t.toDisplayString(t.unref(i)("totalWordCount"))+t.toDisplayString(T.value.length),1)],2)):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-8c5f5909"]]),Yo="0.1.19",er=e=>{e.component(Jo.name,Jo)},tr={install:er,version:Yo};e.AlexElement=y,e.Editify=Jo,e.default=tr,e.elementIsInList=Pn,e.elementIsInTask=Hn,e.elementToList=oa,e.elementToParagraph=aa,e.elementToTask=ra,e.getCurrentParsedomElement=zn,e.getFlatElementsByRange=na,e.getParsedomElementByElement=Fn,e.getRangeText=ta,e.hasImageInRange=Qn,e.hasLinkInRange=Gn,e.hasListInRange=(e,t,n=!1)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Pn(e.range.anchor.element,n):t.flatList.some((e=>Pn(e.element,n)))),e.hasPreInRange=Wn,e.hasQuoteInRange=Un,e.hasTableInRange=Xn,e.hasTaskInRange=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Hn(e.range.anchor.element):t.flatList.some((e=>Hn(e.element)))),e.hasVideoInRange=Jn,e.insertCodeBlock=ka,e.insertImage=ya,e.insertLink=va,e.insertTable=wa,e.insertVideo=Ea,e.install=er,e.isList=Vn,e.isRangeInList=Kn,e.isRangeInPre=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"pre"):t.list.every((e=>!!Fn(e.element,"pre")))),e.isRangeInQuote=qn,e.isRangeInTask=Zn,e.isTask=jn,e.queryTextMark=ea,e.queryTextStyle=Yn,e.removeTextMark=pa,e.removeTextStyle=ga,e.setAlign=da,e.setHeading=la,e.setIndentDecrease=sa,e.setIndentIncrease=ia,e.setLineHeight=ba,e.setList=ua,e.setQuote=ca,e.setTask=ha,e.setTextMark=fa,e.setTextStyle=ma,e.version=Yo,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).editify={},e.Vue)}(this,(function(e,t){"use strict";var n=Object.defineProperty,a=(e,t,a)=>(((e,t,a)=>{t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a})(e,"symbol"!=typeof t?t+"":t,a),a);const o={formatNumber(e){return this.isNumber(e)?e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,"):e},isNumber:e=>"number"==typeof e&&!isNaN(e),add:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o+t*o)/o})),subtract:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o-t*o)/o})),mutiply:(...e)=>e.reduce(((e,t)=>{let n=0,a=e.toString(),o=t.toString();try{n+=a.split(".")[1].length}catch(r){}try{n+=o.split(".")[1].length}catch(r){}return Number(a.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,n)})),divide:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=e.toString(),r=t.toString();try{n=o.split(".")[1].length}catch(l){}try{a=r.split(".")[1].length}catch(l){}return Number(o.replace(".",""))/Number(r.replace(".",""))*Math.pow(10,a-n)}))},r={insert(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if("string"!=typeof t)throw new TypeError("The second argument must be a string");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,n)+t+e.substring(n,e.length)},delete(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!o.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,t)+e.substring(t+n,e.length)},replace(e,t,n,a){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!o.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!o.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");if("string"!=typeof a)throw new TypeError("The fourth argument must be a string");return e.substring(0,t)+a+e.substring(n,e.length)},trim(e,t){if("string"!=typeof e)throw new TypeError("The first argument must be a string");let n=e.replace(/(^\s+)|(\s+$)/g,"");return t&&(n=n.replace(/\s/g,"")),n}},l={isWindow:e=>e&&e instanceof Window,getElementPoint(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(this.isElement(t)||(t=document.body),!this.isContains(t,e))throw new Error("The second argument and the first argument have no hierarchical relationship");let n=e,a=0,o=0;for(;this.isElement(e)&&this.isContains(t,e)&&t!==e;)a+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent;return{top:a,left:o,right:t.offsetWidth-o-n.offsetWidth,bottom:t.offsetHeight-a-n.offsetHeight}},isContains(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e===t||(e.contains?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t)))},isParentNode(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e!==t&&t.parentNode===e},children(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");return[...e.querySelectorAll(t||"*")].filter((t=>t.parentNode===e))},siblings(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!e.parentNode)return[];return[...e.parentNode.querySelectorAll(t||"*")].filter((t=>t.parentNode===e.parentNode&&t!=e))},rem2px(e){if(!o.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return o.mutiply(e,parseFloat(t))},px2rem(e){if(!o.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return o.divide(e,parseFloat(t))},width(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientWidth,n=parseFloat(this.getCssStyle(e,"padding-left")),a=parseFloat(this.getCssStyle(e,"padding-right"));return o.subtract(t,n,a)},height(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientHeight,n=parseFloat(this.getCssStyle(e,"padding-top")),a=parseFloat(this.getCssStyle(e,"padding-bottom"));return o.subtract(t,n,a)},removeClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;r.trim(t).split(/\s+/).forEach((e=>{n.remove(e)}))},addClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;r.trim(t).split(/\s+/).forEach((e=>{n.add(e)}))},hasClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;return r.trim(t).split(/\s+/).every((e=>n.contains(e)))},scrollTopBottomTrigger(e,t){"string"==typeof e&&e&&(e=document.body.querySelector(e));let n=window;this.isElement(e)&&e!=document.body&&e!=document.documentElement&&(n=e),"function"==typeof e&&(t=e);let a=!0;n.addEventListener("scroll",(()=>{if(this.getScrollTop(n)<=0){if(!a)return;"function"==typeof t&&(a=!1,t({state:"top",target:n}))}else{let e={state:"bottom",target:n},r=0;if(r=n==window?window.innerHeight:n.clientHeight,o.add(this.getScrollTop(n),r)+1>=this.getScrollHeight(n)&&r!=this.getScrollHeight(n)){if(!a)return;"function"==typeof t&&(a=!1,t(e))}else a=!0}}))},getScrollWidth(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollWidth:0==document.documentElement.scrollWidth||0==document.body.scrollWidth?document.documentElement.scrollWidth||document.body.scrollWidth:document.documentElement.scrollWidth>document.body.scrollWidth?document.documentElement.scrollWidth:document.body.scrollWidth,t},getScrollHeight(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollHeight:0==document.documentElement.scrollHeight||0==document.body.scrollHeight?document.documentElement.scrollHeight||document.body.scrollHeight:document.documentElement.scrollHeight>document.body.scrollHeight?document.documentElement.scrollHeight:document.body.scrollHeight,t},setScrollTop(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,r=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(r<=0)t?document.documentElement.scrollTop=document.body.scrollTop=a:n.scrollTop=a,e();else{let l=10,i=o.divide(r,l),s=this.getScrollTop(n),c=o.divide(o.subtract(a,s),i),d=setInterval((()=>{i>0?(i--,t?document.documentElement.scrollTop=document.body.scrollTop=s=o.add(s,c):n.scrollTop=s=o.add(s,c)):(clearInterval(d),e())}),l)}}))},getScrollTop(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollTop:0==document.documentElement.scrollTop||0==document.body.scrollTop?document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,t},getScrollLeft(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollLeft:0==document.documentElement.scrollLeft||0==document.body.scrollLeft?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft>document.body.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,t},setScrollLeft(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,r=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(r<=0)t?document.documentElement.scrollLeft=document.body.scrollLeft=a:n.scrollLeft=a,e();else{let l=10,i=o.divide(r,l),s=this.getScrollLeft(n),c=o.divide(o.subtract(a,s),i),d=setInterval((()=>{i>0?(i--,t?document.documentElement.scrollLeft=document.body.scrollLeft=s=o.add(s,c):n.scrollLeft=s=o.add(s,c)):(clearInterval(d),e())}),l)}}))},getCssStyle(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n="";return n=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(e)[t]:e.currentStyle[t],n},getCssSelector(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a selector string");if(/^#{1}/.test(e))return{type:"id",value:e.substr(1)};if(/^\./.test(e))return{type:"class",value:e.substr(1)};if(/^\[(.+)\]$/.test(e)){let t="attribute",n="",a=r.trim(e,!0).substring(1,r.trim(e,!0).length-1).split("=");return 1==a.length&&(n=a[0]),2==a.length&&(n={attributeName:a[0],attributeValue:a[1].replace(/\'/g,"").replace(/\"/g,"")}),{type:t,value:n}}return{type:"tag",value:e}},getElementBounding(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.getBoundingClientRect();return{top:t.top,bottom:o.subtract(document.documentElement.clientHeight||window.innerHeight,t.bottom),left:t.left,right:o.subtract(document.documentElement.clientWidth||window.innerWidth,t.right)}},isElement:e=>e&&e instanceof Node&&1===e.nodeType,string2dom(e,t){if(!e||"string"!=typeof e)throw new TypeError("The argument must be an HTML string");let n=document.createElement(t||"div");return n.innerHTML=e,1==n.children.length?n.children[0]:Array.from(n.children)}},i="_dap-datas",s={remove(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[i]||{};null==t||""===t?e[i]={}:(delete n[t],e[i]=n)},has(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");return(e[i]||{}).hasOwnProperty(t)},get(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[i]||{};return null==t||""===t?n:n[t]},set(e,t,n){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");let a=e[i]||{};a[t]=n,e[i]=a}},c={matchingText(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=null;if("Chinese"==t&&(n=/^[\u4e00-\u9fa5]+$/),"chinese"==t&&(n=/[\u4e00-\u9fa5]/),"email"==t&&(n=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/),"username"==t&&(n=/^[a-zA-Z0-9_]{4,16}$/),"int+"==t&&(n=/^\d+$/),"int-"==t&&(n=/^-\d+$/),"int"==t&&(n=/^-?\d+$/),"pos"==t&&(n=/^\d*\.?\d+$/),"neg"==t&&(n=/^-\d*\.?\d+$/),"number"==t&&(n=/^-?\d*\.?\d+$/),"phone"==t&&(n=/^1[0-9]\d{9}$/),"idCard"==t&&(n=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/),"url"==t&&(n=/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#-]+\.?)+(\/[^\s]*)?$/),"IPv4"==t&&(n=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/),"hex"==t&&(n=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/),"rgb"==t&&(n=/^rgb\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\)$/),"rgba"==t&&(n=/^rgba\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(0?\.\d|1(\.0)?|0)\)$/),"QQ"==t&&(n=/^[1-9][0-9]{4,10}$/),"weixin"==t&&(n=/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/),"plate"==t&&(n=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/),!n)throw new Error("The second parameter is out of scope");return n.test(e)},getUrlParams(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1);if(!n){let e=window.location.hash.split("?");2==e.length&&(n=e[1])}let a=n.match(t);return a?decodeURIComponent(a[2]):null},isEmptyObject(e){return!!this.isObject(e)&&0==Object.keys(e).length},equal(e,t){if(typeof e!=typeof t)return!1;if(this.isObject(e)&&this.isObject(t)){let n=Object.getOwnPropertyNames(e),a=Object.getOwnPropertyNames(t);if(n.length!=a.length)return!1;let o=n.length,r=!0;for(let l=0;l<o;l++){let a=n[l],o=e[a],i=t[a];if(!this.equal(o,i)){r=!1;break}}return r}return e===t},isObject:e=>!("object"!=typeof e||!e),copyText(e){if(!e||"string"!=typeof e)throw new TypeError("No text to copy is defined");if(!navigator.clipboard)throw new Error("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the method won't work");return navigator.clipboard.writeText(e)},clone(e){if(this.isObject(e)){if(Array.isArray(e))return e.map((e=>this.clone(e)));let t={};for(let n in e)t[n]=this.clone(e[n]);return t}return e}},d=e=>{let t=e.split(/[\s]+/g),n=[];return t.forEach((e=>{let t=e.split("."),a={eventName:t[0]};t.length>1&&(a.guid=t[1]),n.push(a)})),n},u=(e,t,n)=>{let a=s.get(e,"dap-defined-events")||{},o=Object.keys(a),r=o.length;for(let l=0;l<r;l++){let r=o[l];a[r].type==t&&(n?r==t+"."+n&&(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0):(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0))}a=(e=>{let t={};return Object.keys(e).forEach((n=>{e[n]&&(t[n]=e[n])})),t})(a),s.set(e,"dap-defined-events",a)},h={on(e,t,n,a){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!n||"function"!=typeof n)throw new TypeError("The third argument must be a function");c.isObject(a)||(a={});d(t).forEach((t=>{((e,t,n,a,o)=>{let r=s.get(e,"dap-defined-events")||{};n||(n=s.get(e,"dap-event-guid")||0,s.set(e,"dap-event-guid",n+1)),r[n=t+"."+n]&&r[n].type==t&&e.removeEventListener(t,r[n].fn,r[n].options),e.addEventListener(t,a,o),r[n]={type:t,fn:a,options:o},s.set(e,"dap-defined-events",r)})(e,t.eventName,t.guid,n.bind(e),a)}))},off(e,t){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=s.get(e,"dap-defined-events");if(!n)return;if(!t){let t=Object.keys(n),a=t.length;for(let o=0;o<a;o++){let a=t[o];e.removeEventListener(n[a].type,n[a].fn,n[a].options)}return s.remove(e,"dap-defined-events"),void s.remove(e,"dap-event-guid")}d(t).forEach((t=>{u(e,t.eventName,t.guid)}))},get(e){if(!(e instanceof Document||l.isElement(e)||l.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let t=s.get(e,"dap-defined-events");if(t)return t}},f={getImageUrl(e){if(!(e&&e instanceof File))throw new TypeError("The argument must be a File object");return window.URL.createObjectURL(e)},dataFileToBase64:e=>new Promise(((t,n)=>{e&&e instanceof File||n(new TypeError("The argument must be a File object"));let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>{let e=a.result;t(e)}})),dataBase64toFile(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.split(","),a=n[0].match(/:(.*?);/)[1],o=atob(n[1]),r=o.length,l=new Uint8Array(r);for(;r--;)l[r]=o.charCodeAt(r);return new File([l],t,{type:a})},compressImage(e,t){const n={width:void 0,quality:.8,mimeType:"jpeg",maxSize:0,minSize:0};c.isObject(t)&&(o.isNumber(t.width)&&(n.width=t.width),o.isNumber(t.quality)&&t.quality>=0&&t.quality<=1&&(n.quality=t.quality),"jpeg"!=t.mimeType&&"webp"!=t.mimeType||(n.mimeType=t.mimeType),o.isNumber(t.maxSize)&&(n.maxSize=t.maxSize),o.isNumber(t.minSize)&&(n.minSize=t.minSize));const a=(e,t,o)=>{let r=e.toDataURL("image/"+n.mimeType,o),l=this.dataBase64toFile(r,t);if(n.maxSize>0&&l.size>1024*n.maxSize){o=o<=0?0:Number((o-.01).toFixed(2));const n=a(e,t,o);r=n.url,l=n.file,o=n.quality}return{file:l,url:r,quality:o}};return new Promise(((t,o)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>{let l=r.result,i=new Image;i.src=l,i.onload=()=>{if(n.minSize>0&&e.size<=1024*n.minSize)return void t({file:e,url:l,quality:1,width:i.width,height:i.height});let o=document.createElement("canvas"),r=o.getContext("2d");o.width=n.width||i.width,o.height=n.width?n.width/(i.width/i.height):i.height,r.drawImage(i,0,0,o.width,o.height);let s=e.name.lastIndexOf(".");const c=e.name.substring(0,s)+"."+n.mimeType;let d=a(o,c,n.quality);t({...d,width:o.width,height:o.height})},i.onerror=()=>{o(new Error("Failed to load image file"))}},r.onerror=()=>{o(new Error("Failed to load image file"))}}))}},m={language:()=>window.navigator.browserLanguage||window.navigator.language,device(){const e=window.navigator.userAgent;return{PC:!e.match(/AppleWebKit.*Mobile.*/),Mobile:!!e.match(/AppleWebKit.*Mobile.*/),iPhone:e.includes("iPhone"),Phone:e.includes("Android")&&/(?:Mobile)/.test(e)||e.includes("iPhone")||/(?:Windows Phone)/.test(e),iPad:e.includes("iPad"),Tablet:e.includes("iPad")||e.includes("Android")&&!/(?:Mobile)/.test(e)||e.includes("Firefox")&&/(?:Tablet)/.test(e),WindowsPhone:/(?:Windows Phone)/.test(e)}},browser(){const e=window.navigator.userAgent;return{Edge:!!e.match(/Edg\/([\d.]+)/),weixin:e.includes("MicroMessenger"),QQ:e.includes("QQ"),QQBrowser:e.includes("MQQBrowser"),UC:e.includes("UCBrowser"),Chrome:e.includes("Chrome"),Firefox:e.includes("Firefox"),sougou:e.toLocaleLowerCase().includes("se 2.x")||e.toLocaleLowerCase().includes("metasr")||e.toLocaleLowerCase().includes("sogou"),Safari:e.includes("Safari")&&!e.includes("Chrome")}},browserKernel(){const e=window.navigator.userAgent;return e.includes("Presto")?"opera":e.includes("AppleWebKit")?"webkit":e.includes("Gecko")&&!e.includes("KHTML")?"gecko":""},os(){const e=window.navigator.userAgent;return{Windows:e.includes("Windows"),Windows_CPU:e.toLocaleLowerCase().includes("win64")||e.toLocaleLowerCase().includes("wow64")?"x64":e.toLocaleLowerCase().includes("win32")||e.toLocaleLowerCase().includes("wow32")?"x32":"",Windows_Version:e.includes("Windows NT 6.1")||e.includes("Windows 7")?"Win7":e.includes("Windows NT 6.3")||e.includes("Windows NT 6.2")||e.includes("Windows NT 8")?"Win8":e.includes("Windows NT 10")||e.includes("Windows NT 6.4")?"Win10":"",Mac:e.includes("Macintosh"),Mac_Version:function(){if(e.includes("Macintosh")){const t=e.match(/Mac OS X ([^\s]+)\)/);if(t&&t[1])return t[1].split(/_|\./).join(".")}return""}(),ios:!!e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),ios_Version:function(){if(e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)){const t=e.match(/CPU.+OS ([^\s]+) like Mac OS X/);if(t&&t[1])return t[1].split(/_|\./).join(".")}return""}(),Android:e.includes("Android"),Android_Version:function(){const t=e.match(/Android ([^\s]+);/);return t&&t[1]?t[1].split(/_|\./).join("."):""}(),Linux:e.includes("Linux"),HarmonyOS:e.includes("HarmonyOS"),Ubuntu:e.includes("Ubuntu")}}},g=function(e){return/^[\uFEFF]+$/g.test(e)},p=function(e){return c.isObject(e)||Array.isArray(e)?JSON.parse(JSON.stringify(e)):e},b=function(e,t){return 3==t.nodeType?l.isContains(e,t.parentNode):l.isContains(e,t)},v=class e{constructor(e,t,n,o,r){a(this,"key",function(){let e=s.get(window,"data-alex-editor-key")||0;return e++,s.set(window,"data-alex-editor-key",e),e}()),a(this,"type"),a(this,"parsedom"),a(this,"marks"),a(this,"styles"),a(this,"textContent"),a(this,"children",null),a(this,"parent",null),a(this,"behavior","default"),a(this,"elm",null),this.type=e,this.parsedom=t,this.marks=n,this.styles=o,this.textContent=r}isBlock(){return"block"==this.type}isInblock(){return"inblock"==this.type}isInline(){return"inline"==this.type}isClosed(){return"closed"==this.type}isText(){return"text"==this.type}isBreak(){return this.isClosed()&&"br"==this.parsedom}isEmpty(){if(this.isText())return!this.textContent;if(this.isBlock()||this.isInblock()||this.isInline()){if(!this.hasChildren())return!0;return this.children.every((e=>e.isEmpty()))}return!1}isSpaceText(){return this.isText()&&!this.isEmpty()&&g(this.textContent)}getUneditableElement(){return this.hasMarks()&&"false"==this.marks.contenteditable?this:this.isBlock()?null:this.parent.getUneditableElement()}isEqual(t){return!!e.isElement(t)&&this.key==t.key}isContains(e){return!!this.isEqual(e)||!e.isBlock()&&this.isContains(e.parent)}isOnlyHasBreak(){if(this.hasChildren()){const e=this.children.some((e=>e.isBreak())),t=this.children.every((e=>e.isBreak()||e.isEmpty()));return e&&t}return!1}isPreStyle(){const e=this.getBlock(),t=this.getInblock();return t?"pre"==t.parsedom||(!(!t.hasStyles()||"pre"!=t.styles["white-space"]&&"pre-wrap"!=t.styles["white-space"])||t.parent.isPreStyle()):"pre"==e.parsedom||!(!e.hasStyles()||"pre"!=e.styles["white-space"]&&"pre-wrap"!=e.styles["white-space"])}hasMarks(){return!!this.marks&&(!!c.isObject(this.marks)&&!c.isEmptyObject(this.marks))}hasStyles(){return!!this.styles&&(!!c.isObject(this.styles)&&!c.isEmptyObject(this.styles))}hasChildren(){return!this.isClosed()&&!this.isText()&&(!!Array.isArray(this.children)&&!!this.children.length)}hasContains(e){return this.isContains(e)||e.isContains(this)}clone(t=!0){if("boolean"!=typeof t)throw new Error("The parameter must be a Boolean");let n=new e(this.type,this.parsedom,p(this.marks),p(this.styles),this.textContent);return n.behavior=this.behavior,t&&this.hasChildren()&&this.children.forEach((e=>{let a=e.clone(t);n.hasChildren()?n.children.push(a):n.children=[a],a.parent=n})),n}convertToBlock(){if(this.isBlock())return;let t=this.clone();this.type="block",this.parsedom=e.BLOCK_NODE,this.marks=null,this.styles=null,this.textContent=null,this.children=[t],t.parent=this}toEmpty(){if(!this.isEmpty())return this.isText()?(this.marks=null,this.styles=null,this.textContent=null,void(this.elm=null)):this.isClosed()?(this.type="text",this.parsedom=null,this.marks=null,this.styles=null,this.textContent=null,void(this.elm=null)):void(this.hasChildren()&&this.children.forEach((e=>{e.toEmpty()})))}getBlock(){return this.isBlock()?this:this.parent.getBlock()}getInblock(){return this.isInblock()?this:this.isBlock()?null:this.parent.getInblock()}getInline(){return this.isInline()?this:this.isBlock()?null:this.parent.getInline()}isEqualStyles(e){return!this.hasStyles()&&!e.hasStyles()||!!(this.hasStyles()&&e.hasStyles()&&c.equal(this.styles,e.styles))}isEqualMarks(e){return!this.hasMarks()&&!e.hasMarks()||!!(this.hasMarks()&&e.hasMarks()&&c.equal(this.marks,e.marks))}isFirst(t){if(!this.isText()&&!this.isClosed())return!1;if(t.isEqual(this))return!1;if(t.isContains(this)){const n=e.flatElements(t.children).filter((e=>e.isText()||e.isClosed()));return this.isEqual(n[0])}return!1}isLast(t){if(!this.isText()&&!this.isClosed())return!1;if(t.isEqual(this))return!1;if(t.isContains(this)){const n=e.flatElements(t.children).filter((e=>e.isText()||e.isClosed())),a=n.length;return this.isEqual(n[a-1])}return!1}__render(){let t=null;if(this.isText()){t=document.createElement(e.TEXT_NODE);const n=document.createTextNode(this.textContent);t.appendChild(n)}else t=document.createElement(this.parsedom),this.hasChildren()&&this.children.forEach((e=>{e.__render(),t.appendChild(e.elm)}));this.hasMarks()&&Object.keys(this.marks).forEach((e=>{/(^on)|(^style$)|(^face$)/g.test(e)||t.setAttribute(e,this.marks[e])})),this.hasStyles()&&Object.keys(this.styles).forEach((e=>{t.style.setProperty(e,this.styles[e])})),s.set(t,"data-alex-editor-key",this.key),this.elm=t}__fullClone(){let t=new e(this.type,this.parsedom,p(this.marks),p(this.styles),this.textContent);return t.behavior=this.behavior,t.key=this.key,t.elm=this.elm,this.hasChildren()&&this.children.forEach((e=>{let n=e.__fullClone();t.hasChildren()?t.children.push(n):t.children=[n],n.parent=t})),t}static isElement(t){return t instanceof e}static flatElements(e){const t=e=>{let n=[];const a=e.length;for(let o=0;o<a;o++)if(e[o]&&(n.push(e[o]),e[o].hasChildren())){const a=t(e[o].children);n.push(...a)}return n};return t(e)}static getSpaceElement(){return new e("text",null,null,null,"\ufeff")}};a(v,"BLOCK_NODE","p"),a(v,"TEXT_NODE","span"),a(v,"VOID_NODES",["colgroup","col"]);let y=v;class E{constructor(e,t){a(this,"anchor"),a(this,"focus"),this.anchor=e,this.focus=t}}class w{constructor(e,t){if(a(this,"element"),a(this,"offset"),this.element=e,this.offset=t,this.element.isText()||this.element.isClosed()){if(y.VOID_NODES.includes(this.element.parsedom))throw new Error("Invisible element cannot be set as focal point")}else 0==this.offset?this.moveToStart(this.element):this.moveToEnd(this.element)}static isPoint(e){return e instanceof w}isEqual(e){return!!w.isPoint(e)&&(this.element.isEqual(e.element)&&this.offset==e.offset)}moveToEnd(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isEmpty())throw new Error("The argument cannot be an empty element");if(e.isText())this.element=e,this.offset=e.textContent.length;else if(e.isClosed()){if(y.VOID_NODES.includes(e.parsedom))throw new Error("Invisible element cannot be set as focal point");this.element=e,this.offset=1}else if(e.hasChildren()){const t=y.flatElements(e.children).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))),n=t.length;if(0==n)throw new Error("There is no element to set the focus");this.moveToEnd(t[n-1])}}moveToStart(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isEmpty())throw new Error("The argument cannot be an empty element");if(e.isText())this.element=e,this.offset=0;else if(e.isClosed()){if(y.VOID_NODES.includes(e.parsedom))throw new Error("Invisible element cannot be set as focal point");this.element=e,this.offset=0}else if(e.hasChildren()){const t=y.flatElements(e.children).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)));if(0==t.length)throw new Error("There is no element to set the focus");this.moveToStart(t[0])}}}class k{constructor(){a(this,"records",[]),a(this,"current",-1)}push(e,t){this.current<this.records.length-1&&(this.records.length=this.current+1);const n=e.map((e=>e.__fullClone())),a=this.__cloneRange(n,t);this.records.push({stack:n,range:a}),this.current+=1}get(e){let t=this.current;if(-1==e){if(t<=0)return null;t-=1}else if(1==e){if(t>=this.records.length-1)return null;t+=1}const{stack:n,range:a}=this.records[t],o=n.map((e=>e.__fullClone()));return{current:t,stack:o,range:this.__cloneRange(o,a)}}updateCurrentRange(e){const t=this.records[this.current],n=this.__cloneRange(t.stack,e);this.records[this.current].range=n}__cloneRange(e,t){if(t){const n=y.flatElements(e).find((e=>e.key==t.anchor.element.key)),a=y.flatElements(e).find((e=>e.key==t.focus.element.key));if(n&&a){const e=new w(n,t.anchor.offset),o=new w(a,t.focus.offset);return new E(e,o)}}return null}}const _=[{parsedom:"p"},{parsedom:"div"},{parsedom:"table"},{parsedom:"ul"},{parsedom:"ol"},{parsedom:"h1"},{parsedom:"h2"},{parsedom:"h3"},{parsedom:"h4"},{parsedom:"h5"},{parsedom:"h6"},{parsedom:"blockquote"},{parsedom:"pre"},{parsedom:"address",parse:!0},{parsedom:"article",parse:!0},{parsedom:"aside",parse:!0},{parsedom:"nav",parse:!0},{parsedom:"section",parse:!0}],x=[{parsedom:"br"},{parsedom:"col"},{parsedom:"img"},{parsedom:"hr"},{parsedom:"video"},{parsedom:"audio"},{parsedom:"svg"},{parsedom:"canvas"}],C=[{parsedom:"li",block:!0},{parsedom:"tfoot"},{parsedom:"tbody"},{parsedom:"thead"},{parsedom:"tr"},{parsedom:"th"},{parsedom:"td"},{parsedom:"colgroup"}],B=[{parsedom:"span"},{parsedom:"a"},{parsedom:"label"},{parsedom:"code"},{parsedom:"b",parse:{"font-weight":"bold"}},{parsedom:"strong",parse:{"font-weight":"bold"}},{parsedom:"sup",parse:{"vertical-align":"super"}},{parsedom:"sub",parse:{"vertical-align":"sub"}},{parsedom:"i",parse:{"font-style":"italic"}},{parsedom:"u",parse:{"text-decoration-line":"underline"}},{parsedom:"del",parse:{"text-decoration-line":"line-through"}},{parsedom:"abbr",parse:!0},{parsedom:"acronym",parse:!0},{parsedom:"bdo",parse:!0},{parsedom:"font",parse:{"font-family":e=>e.getAttribute("face")||""}}],T=function(e){if(e.hasChildren()){e.children.filter((e=>!e.isEmpty()&&e.isBlock())).forEach((t=>{t.type="inline"==e.type?"inline":"inblock","inblock"==t.type&&(t.behavior="block")}))}},S=function(e){if(e.hasChildren()){const t=e.children.filter((e=>!e.isEmpty())),n=t.filter((e=>e.isInblock()));n.length&&n.length!=t.length&&n.forEach((e=>{e.type="inline"}))}},N=function(e){if(e.isInline()&&e.hasChildren()){e.children.filter((e=>!e.isEmpty()&&e.isInblock())).forEach((e=>{e.type="inline"}))}},O=function(e){if(e.hasChildren()){const t=e.children.filter((e=>!e.isEmpty())),n=t.filter((e=>e.isBreak()));n.length&&n.length==t.length?(this.range&&e.isContains(this.range.anchor.element)&&this.range.anchor.moveToStart(n[0]),this.range&&e.isContains(this.range.focus.element)&&this.range.focus.moveToStart(n[0]),e.children=[n[0]]):n.length&&n.forEach((e=>{e.toEmpty()}))}},A=function(e){const t=(e,t)=>{t.isText()?(e.type="text",e.parsedom=null,t.hasMarks()&&(e.hasMarks()?Object.assign(e.marks,p(t.marks)):e.marks=p(t.marks)),t.hasStyles()&&(e.hasStyles()?Object.assign(e.styles,p(t.styles)):e.styles=p(t.styles)),e.textContent=t.textContent,e.children=null,this.range&&t.isContains(this.range.anchor.element)&&(this.range.anchor.element=e),this.range&&t.isContains(this.range.focus.element)&&(this.range.focus.element=e)):(t.hasMarks()&&(e.hasMarks()?Object.assign(e.marks,p(t.marks)):e.marks=p(t.marks)),t.hasStyles()&&(e.hasStyles()?Object.assign(e.styles,p(t.styles)):e.styles=p(t.styles)),t.hasChildren()&&(e.children=[...t.children],e.children.forEach((t=>{t.parent=e}))),n(e))},n=e=>{var n,a;e.hasChildren()&&1==e.children.length&&e.children[0]&&(n=e,(a=e.children[0]).isText()&&n.isInline()?n.parsedom==y.TEXT_NODE:(n.isInline()&&a.isInline()||n.isInblock()&&a.isInblock())&&n.parsedom==a.parsedom)&&t(e,e.children[0])};n(e)},R=function(e){const t=(e,t)=>{if(e.isEmpty()||t.isEmpty()){if(t.isEmpty()){this.range&&t.isContains(this.range.anchor.element)&&(e.isEmpty()?(this.range.anchor.element=e,this.range.anchor.offset=0):this.range.anchor.moveToEnd(e)),this.range&&t.isContains(this.range.focus.element)&&(e.isEmpty()?(this.range.focus.element=e,this.range.focus.offset=0):this.range.focus.moveToEnd(e));const n=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(n,1)}else if(e.isEmpty()){this.range&&e.isContains(this.range.anchor.element)&&(t.isEmpty()?(this.range.anchor.element=t,this.range.anchor.offset=0):this.range.anchor.moveToStart(t)),this.range&&e.isContains(this.range.focus.element)&&(t.isEmpty()?(this.range.focus.element=t,this.range.focus.offset=0):this.range.focus.moveToStart(t));const n=e.parent.children.findIndex((t=>e.isEqual(t)));e.parent.children.splice(n,1)}}else if(e.isText()){this.range&&t.isEqual(this.range.anchor.element)&&(this.range.anchor.element=e,this.range.anchor.offset=e.textContent.length+this.range.anchor.offset),this.range&&t.isEqual(this.range.focus.element)&&(this.range.focus.element=e,this.range.focus.offset=e.textContent.length+this.range.focus.offset),e.textContent+=t.textContent;const n=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(n,1)}else if(e.isInline()){e.children.push(...t.children),e.children.forEach((t=>{t.parent=e})),n(e);const a=t.parent.children.findIndex((e=>t.isEqual(e)));t.parent.children.splice(a,1)}},n=e=>{if(e.hasChildren()&&e.children.length>1){let o=0;for(;o<=e.children.length-2;)n=e.children[o],a=e.children[o+1],n.isEmpty()||a.isEmpty()||(n.isText()&&a.isText()?n.isEqualStyles(a)&&n.isEqualMarks(a):n.isInline()&&a.isInline()&&n.parsedom==a.parsedom&&n.isEqualMarks(a)&&n.isEqualStyles(a))?t(e.children[o],e.children[o+1]):o++}var n,a};n(e)},{Mac:M}=m.os(),I=function(){if(0==y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))).length){const e=new y("block",y.BLOCK_NODE,null,null,null),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.stack=[e]}},L=function(e){const t=this.getPreviousElementOfPoint(e),n=this.getNextElementOfPoint(e),a=e.element.getBlock(),o=e.element.getInblock();t&&!y.VOID_NODES.includes(t.parsedom)&&o&&o.isContains(t)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&o&&o.isContains(n)?e.moveToStart(n):t&&!y.VOID_NODES.includes(t.parsedom)&&a.isContains(t)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&a.isContains(n)?e.moveToStart(n):t&&!y.VOID_NODES.includes(t.parsedom)?e.moveToEnd(t):n&&!y.VOID_NODES.includes(n.parsedom)&&e.moveToStart(n)},D=function(e){e.isInblock()&&"default"==e.behavior&&e.hasChildren()&&e.children.forEach((e=>{if(e.isInblock())D.apply(this,[e]);else if(e.toEmpty(),e.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.parent)}}))},$=function(){const e=async e=>{const t=l.getScrollHeight(e),n=l.getScrollWidth(e);if(e.clientHeight<t||e.clientWidth<n){const a=window.getSelection();if(0==a.rangeCount)return;const o=a.getRangeAt(0),r=o.getClientRects();let i=o;0==r.length&&(i=this.range.focus.element.elm);const s=i.getBoundingClientRect(),c=e.getBoundingClientRect();if(e.clientHeight<t)if(s.top<c.top){await l.setScrollTop({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollTop({el:e,number:t.top-n.top})}else if(s.bottom>c.bottom){await l.setScrollTop({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollTop({el:e,number:t.bottom-n.bottom})}if(e.clientWidth<n)if(s.left<c.left){await l.setScrollLeft({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollLeft({el:e,number:t.left-n.left+20})}else if(s.right>c.right){await l.setScrollLeft({el:e,number:0});const t=i.getBoundingClientRect(),n=e.getBoundingClientRect();l.setScrollLeft({el:e,number:t.right-n.right+20})}}};if(this.range&&this.range.focus.element.elm){let t=this.range.focus.element.elm;for(;l.isElement(t)&&t!=document.documentElement;)e(t),t=t.parentNode}},F=function(){if(0==y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))).length){const e=new y("block",y.BLOCK_NODE,null,null,null),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.stack=[e],this.range&&(this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t))}},z=function(){if(this.__isInputChinese)return;if(this.__innerSelectionChange)return;const e=window.getSelection();if(e&&e.rangeCount){const t=e.getRangeAt(0);if(b(this.$el,t.startContainer)&&b(this.$el,t.endContainer)){let e=null,n=null,a=null,o=null;if(3==t.startContainer.nodeType)e=t.startContainer.parentNode,a=t.startOffset;else if(1==t.startContainer.nodeType){const n=Array.from(t.startContainer.childNodes);n.length?(e=n[t.startOffset]?n[t.startOffset]:n[t.startOffset-1],a=n[t.startOffset]?0:1,3==e.nodeType&&(a=0==a?0:e.textContent.length,e=e.parentNode)):(e=t.startContainer,a=0)}if(3==t.endContainer.nodeType)n=t.endContainer.parentNode,o=t.endOffset;else if(1==t.endContainer.nodeType){const e=Array.from(t.endContainer.childNodes);e.length?(n=e[t.endOffset]?e[t.endOffset]:e[t.endOffset-1],o=e[t.endOffset]?0:1,3==n.nodeType&&(o=0==o?0:n.textContent.length,n=n.parentNode)):(n=t.endContainer,o=1)}const r=s.get(e,"data-alex-editor-key"),l=s.get(n,"data-alex-editor-key"),i=this.getElementByKey(r),c=this.getElementByKey(l),d=new w(i,a),u=new w(c,o);this.range?(this.range.anchor=d,this.range.focus=u):this.range=new E(d,u),this.history.updateCurrentRange(this.range),this.emit("rangeUpdate",this.range)}}},P=function(e){this.disabled||"deleteByCut"!=e.inputType&&"insertFromPaste"!=e.inputType&&"deleteByDrag"!=e.inputType&&"insertFromDrop"!=e.inputType&&(e.preventDefault(),"insertText"==e.inputType&&e.data?(this.insertText(e.data),this.formatElementStack(),this.domRender(),this.rangeRender()):"insertParagraph"==e.inputType||"insertLineBreak"==e.inputType?(this.insertParagraph(),this.formatElementStack(),this.domRender(),this.rangeRender()):"deleteContentBackward"==e.inputType&&(this.delete(),this.formatElementStack(),this.domRender(),this.rangeRender()))},H=function(e){this.disabled||(e.preventDefault(),"compositionstart"==e.type?(this.__chineseInputTimer&&(clearTimeout(this.__chineseInputTimer),this.__chineseInputTimer=null),this.__isInputChinese=!0):"compositionend"==e.type&&(e.data&&(this.insertText(e.data),this.formatElementStack(),this.domRender(),this.rangeRender()),this.__chineseInputTimer=setTimeout((()=>{this.__isInputChinese=!1}),0)))},V=function(e){if(!this.disabled&&!this.__isInputChinese)if(function(e){return M?"z"==e.key&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey:"z"==e.key&&e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}(e)){e.preventDefault();const t=this.history.get(-1);t&&(this.history.current=t.current,this.stack=t.stack,this.range=t.range,this.formatElementStack(),this.domRender(!0),this.rangeRender())}else if(function(e){return M?"z"==e.key&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey:"z"==e.key&&e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}(e)){e.preventDefault();const t=this.history.get(1);t&&(this.history.current=t.current,this.stack=t.stack,this.range=t.range,this.formatElementStack(),this.domRender(!0),this.rangeRender())}},j=async function(e){e.preventDefault(),await this.copy()},W=async function(e){e.preventDefault();await this.cut()&&!this.disabled&&(this.formatElementStack(),this.domRender(),this.rangeRender())},U=async function(e,t,n){if(e)if(this.allowPasteHtml){const t=this.parseHtml(e).filter((e=>!e.isEmpty()));if("function"==typeof this.customHtmlPaste)await this.customHtmlPaste.apply(this,[t,e]);else{for(let e=0;e<t.length;e++)this.insertElement(t[e],!1);this.emit("pasteHtml",t,e)}}else t&&("function"==typeof this.customTextPaste?await this.customTextPaste.apply(this,[t]):(this.insertText(t),this.emit("pasteText",t)));else if(t)"function"==typeof this.customTextPaste?await this.customTextPaste.apply(this,[t]):(this.insertText(t),this.emit("pasteText",t));else{let e=n.length;for(let t=0;t<e;t++)if(n[t].type.startsWith("image/"))if("function"==typeof this.customImagePaste)await this.customImagePaste.apply(this,[n[t]]);else{const e=await f.dataFileToBase64(n[t]),a=new y("closed","img",{src:e},null,null);this.insertElement(a),this.emit("pasteImage",e)}else if(n[t].type.startsWith("video/"))if("function"==typeof this.customVideoPaste)await this.customVideoPaste.apply(this,[n[t]]);else{const e=await f.dataFileToBase64(n[t]),a=new y("closed","video",{src:e},null,null);this.insertElement(a),this.emit("pasteVideo",e)}else"function"==typeof this.customFilePaste&&await this.customFilePaste.apply(this,[n[t]])}},q=async function(e){if(e.preventDefault(),this.disabled)return;if(!this.range)return;if(!this.allowPaste)return;const t=e;if(t.clipboardData){const e=t.clipboardData.getData("text/html"),n=t.clipboardData.getData("text/plain"),a=t.clipboardData.files;await U.apply(this,[e,n,a]),this.formatElementStack(),this.domRender(),this.rangeRender()}},K=async function(e){if(e.preventDefault(),"drop"==e.type){if(this.disabled)return;if(!this.range)return;if(!this.allowPaste)return;const t=e;if(t.dataTransfer){const e=t.dataTransfer.getData("text/html"),n=t.dataTransfer.getData("text/plain"),a=t.dataTransfer.files;await U.apply(this,[e,n,a]),this.formatElementStack(),this.domRender(),this.rangeRender()}}},Z=function(){this.disabled||this.emit("focus",this.value)},G=function(){this.disabled||this.emit("blur",this.value)};class X{constructor(e,t){a(this,"$el"),a(this,"disabled"),a(this,"value"),a(this,"renderRules"),a(this,"allowCopy"),a(this,"allowPaste"),a(this,"allowCut"),a(this,"allowPasteHtml"),a(this,"customTextPaste"),a(this,"customHtmlPaste"),a(this,"customImagePaste"),a(this,"customVideoPaste"),a(this,"customFilePaste"),a(this,"customMerge"),a(this,"customParseNode"),a(this,"useClipboard",window.ClipboardItem?!!navigator.clipboard||(console.warn("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the editor's copy, paste, and cut functions cannot be used"),!1):(console.warn("window.ClipboardItem must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the editor's copy, paste, and cut functions cannot be used"),!1)),a(this,"history",new k),a(this,"stack"),a(this,"range",null),a(this,"__guid",function(){let e=s.get(window,"data-alex-editor-guid")||0;return e++,s.set(window,"data-alex-editor-guid",e),e}()),a(this,"__events",{}),a(this,"__firstRender",!0),a(this,"__isInputChinese",!1),a(this,"__innerSelectionChange",!1),a(this,"__chineseInputTimer",null),this.$el=function(e){if("string"==typeof e&&e&&(e=document.body.querySelector(e)),!l.isElement(e))throw new Error("You must specify a dom container to initialize the editor");if(s.get(e,"data-alex-editor-init"))throw new Error("The element node has been initialized to the editor");return s.set(e,"data-alex-editor-init",!0),e}(e);const n=function(e){let t={disabled:!1,renderRules:[],value:"",allowCopy:!0,allowPaste:!0,allowCut:!0,allowPasteHtml:!1,customTextPaste:null,customHtmlPaste:null,customImagePaste:null,customVideoPaste:null,customFilePaste:null,customMerge:null,customParseNode:null};return c.isObject(e)&&("boolean"==typeof e.disabled&&(t.disabled=e.disabled),Array.isArray(e.renderRules)&&(t.renderRules=e.renderRules),"string"==typeof e.value&&e.value&&(t.value=e.value),"boolean"==typeof e.allowCopy&&(t.allowCopy=e.allowCopy),"boolean"==typeof e.allowPaste&&(t.allowPaste=e.allowPaste),"boolean"==typeof e.allowCut&&(t.allowCut=e.allowCut),"boolean"==typeof e.allowPasteHtml&&(t.allowPasteHtml=e.allowPasteHtml),"function"==typeof e.customTextPaste&&(t.customTextPaste=e.customTextPaste),"function"==typeof e.customHtmlPaste&&(t.customHtmlPaste=e.customHtmlPaste),"function"==typeof e.customImagePaste&&(t.customImagePaste=e.customImagePaste),"function"==typeof e.customVideoPaste&&(t.customVideoPaste=e.customVideoPaste),"function"==typeof e.customFilePaste&&(t.customFilePaste=e.customFilePaste),"function"==typeof e.customMerge&&(t.customMerge=e.customMerge),"function"==typeof e.customParseNode&&(t.customParseNode=e.customParseNode)),t}(t);this.disabled=n.disabled,this.value=n.value,this.renderRules=n.renderRules,this.allowCopy=n.allowCopy,this.allowPaste=n.allowPaste,this.allowCut=n.allowCut,this.allowPasteHtml=n.allowPasteHtml,this.customTextPaste=n.customTextPaste,this.customHtmlPaste=n.customHtmlPaste,this.customImagePaste=n.customImagePaste,this.customVideoPaste=n.customVideoPaste,this.customFilePaste=n.customFilePaste,this.customMerge=n.customMerge,this.customParseNode=n.customParseNode,this.stack=this.parseHtml(this.value),I.apply(this),this.disabled?this.setDisabled():this.setEnabled(),h.on(document,`selectionchange.alex_editor_${this.__guid}`,z.bind(this)),h.on(this.$el,"beforeinput.alex_editor",P.bind(this)),h.on(this.$el,"compositionstart.alex_editor compositionupdate.alex_editor compositionend.alex_editor",H.bind(this)),h.on(this.$el,"keydown.alex_editor",V.bind(this)),h.on(this.$el,"cut.alex_editor",W.bind(this)),h.on(this.$el,"paste.alex_editor",q.bind(this)),h.on(this.$el,"copy.alex_editor",j.bind(this)),h.on(this.$el,"dragstart.alex_editor drop.alex_editor",K.bind(this)),h.on(this.$el,"focus.alex_editor",Z.bind(this)),h.on(this.$el,"blur.alex_editor",G.bind(this))}initRange(){const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)))[0],t=new w(e,0),n=new w(e,0);this.range=new E(t,n)}async copy(e=!1){if(!this.useClipboard)return;if(!this.range)return;if(!this.allowCopy)return;let t=this.getElementsByRange().list;if(0==t.length)return;let n="",a="";t.forEach((e=>{const t=e.element.clone();e.offset&&(t.textContent=t.textContent.substring(e.offset[0],e.offset[1])),t.__render(),n+=t.elm.outerHTML,a+=t.elm.innerText}));const o=new window.ClipboardItem({"text/html":new Blob([n],{type:"text/html"}),"text/plain":new Blob([a],{type:"text/plain"})});return await navigator.clipboard.write([o]),e||this.emit("copy",a,n),{text:a,html:n}}async cut(){if(!this.useClipboard)return;if(!this.range)return;if(!this.allowCut)return;const e=await this.copy(!0);return e&&(this.disabled||this.delete(),this.emit("cut",e.text,e.html)),e}delete(){if(!this.disabled&&this.range){if(this.range.anchor.isEqual(this.range.focus)){const e=this.getPreviousElementOfPoint(this.range.anchor),t=this.range.anchor.element.getBlock(),n=this.range.anchor.element.getInblock();if(n)if(0==this.range.anchor.offset)if(e){if(n.isContains(e))return this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),void this.delete();if("block"==n.behavior){const t=e.getBlock(),a=e.getInblock();a?"block"==a.behavior&&this.merge(n,a):this.merge(n,t)}}else this.emit("deleteInStart",n);else if(this.range.anchor.element.isSpaceText()){if(this.range.anchor.element.toEmpty(),!n.isEmpty())return this.range.anchor.offset=0,this.range.focus.offset=0,void this.delete();{const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(this.range.anchor.element.isText()){const e=this.range.anchor.element.textContent;this.range.anchor.offset-=1;const t=g(e[this.range.anchor.offset]);if(this.range.anchor.element.textContent=e.substring(0,this.range.anchor.offset)+e.substring(this.range.focus.offset),this.range.focus.offset=this.range.anchor.offset,t)return void this.delete();if(n.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const t=this.range.anchor.element.isBreak();if(this.range.anchor.element.toEmpty(),n.isEmpty())if(t&&"default"!=n.behavior){if(!e){const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const e=new y("closed","br",null,null,null);this.addElementTo(e,n),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(0==this.range.anchor.offset)if(e){if(t.isContains(e))return this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),void this.delete();{const n=e.getInblock(),a=e.getBlock();n?"block"==n.behavior&&this.merge(t,n):this.merge(t,a)}}else this.emit("deleteInStart",t);else if(this.range.anchor.element.isSpaceText()){if(this.range.anchor.element.toEmpty(),!t.isEmpty())return this.range.anchor.offset=0,this.range.focus.offset=0,void this.delete();{const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else if(this.range.anchor.element.isText()){const e=this.range.anchor.element.textContent;this.range.anchor.offset-=1;const n=g(e[this.range.anchor.offset]);if(this.range.anchor.element.textContent=e.substring(0,this.range.anchor.offset)+e.substring(this.range.focus.offset),this.range.focus.offset=this.range.anchor.offset,n)return void this.delete();if(t.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}else{const n=this.range.anchor.element.isBreak();if(this.range.anchor.element.toEmpty(),t.isEmpty()&&(!n||!e)){const e=new y("closed","br",null,null,null);this.addElementTo(e,t),this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e)}}}else{const e=this.getElementsByRange().list.filter((e=>!y.VOID_NODES.includes(e.element.parsedom))),t=this.range.anchor.element.getInblock(),n=this.range.focus.element.getInblock(),a=this.range.anchor.element.getBlock(),o=this.range.focus.element.getBlock();t&&n&&t.isEqual(n)?e.forEach((e=>{if(e.offset?e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]):e.element.toEmpty(),t.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,t)}})):t&&n?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==t.behavior&&"block"==n.behavior&&this.merge(n,t)):t?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==t.behavior&&this.merge(o,t)):n?(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),"block"==n.behavior&&this.merge(n,a)):a.isEqual(o)?e.forEach((e=>{if(e.offset?e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]):e.element.toEmpty(),a.isEmpty()){const e=new y("closed","br",null,null,null);this.addElementTo(e,a)}})):(e.forEach((e=>{if(e.offset)e.element.textContent=e.element.textContent.substring(0,e.offset[0])+e.element.textContent.substring(e.offset[1]);else if(e.element.isInblock()&&"default"==e.element.behavior)D.apply(this,[e.element]);else if(e.element.toEmpty(),e.element.parent&&(e.element.parent.isInblock()||e.element.parent.isBlock())&&e.element.parent.isEmpty()){const t=new y("closed","br",null,null,null);this.addElementTo(t,e.element.parent)}})),this.merge(o,a))}this.range.anchor.element.isEmpty()&&L.apply(this,[this.range.anchor]),this.range.focus.element=this.range.anchor.element,this.range.focus.offset=this.range.anchor.offset,F.apply(this),this.emit("deleteComplete")}}insertText(e){if(!this.disabled&&this.range){if(!e||"string"!=typeof e)throw new Error("The argument must be a string");if(this.range.anchor.isEqual(this.range.focus))if(this.range.anchor.element.isPreStyle()||(e=e.replace(/\s/g,(()=>{const e=document.createElement("span");return e.innerHTML="&nbsp;",e.innerText}))),this.range.anchor.element.isText()){let t=this.range.anchor.element.textContent;this.range.anchor.element.textContent=t.substring(0,this.range.anchor.offset)+e+t.substring(this.range.anchor.offset),this.range.anchor.offset=this.range.anchor.offset+e.length,this.range.focus.offset=this.range.anchor.offset}else{const t=new y("text",null,null,null,e);0==this.range.anchor.offset?this.addElementBefore(t,this.range.anchor.element):this.addElementAfter(t,this.range.anchor.element),this.range.anchor.moveToEnd(t),this.range.focus.moveToEnd(t)}else this.delete(),this.insertText(e)}}insertParagraph(){if(!this.disabled&&this.range)if(this.range.anchor.isEqual(this.range.focus)){const e=this.getPreviousElementOfPoint(this.range.anchor),t=this.getNextElementOfPoint(this.range.anchor),n=this.range.anchor.element.getBlock(),a=this.range.anchor.element.getInblock(),o=this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1;if(a){if(this.range.anchor.element.isPreStyle()){this.insertText("\n");const e=y.getSpaceElement();this.insertElement(e),this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),this.emit("insertParagraph",a,a)}else if("block"==a.behavior)if(0!=this.range.anchor.offset||e&&a.isContains(e))if(this.range.anchor.offset!=o||t&&a.isContains(t)){const e=a.clone();this.addElementAfter(e,a);const t=y.flatElements(a.children).findIndex((e=>this.range.anchor.element.isEqual(e)));this.range.focus.moveToEnd(a),this.delete();const n=y.flatElements(e.children);this.range.focus.element=n[t],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(e),this.delete(),this.emit("insertParagraph",e,a)}else{const e=a.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementAfter(e,a),this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t),this.emit("insertParagraph",e,a)}else{const e=a.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementBefore(e,a),this.emit("insertParagraph",a,e)}}else if(this.range.anchor.element.isPreStyle()){this.insertText("\n");const e=y.getSpaceElement();this.insertElement(e),this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e),this.emit("insertParagraph",n,n)}else if(0!=this.range.anchor.offset||e&&n.isContains(e))if(this.range.anchor.offset!=o||t&&n.isContains(t)){const e=n.clone();this.addElementAfter(e,n);const t=y.flatElements(n.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=this.range.anchor.offset;this.range.focus.moveToEnd(n),this.delete();const o=y.flatElements(e.children);this.range.focus.element=o[t],this.range.focus.offset=a,this.range.anchor.moveToStart(e),this.delete(),this.emit("insertParagraph",e,n)}else{const e=n.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementAfter(e,n),this.range.anchor.moveToStart(t),this.range.focus.moveToStart(t),this.emit("insertParagraph",e,n)}else{const e=n.clone(!1),t=new y("closed","br",null,null,null);this.addElementTo(t,e),this.addElementBefore(e,n),this.emit("insertParagraph",n,e)}}else this.delete(),this.insertParagraph()}insertElement(e,t=!0){if(!this.disabled&&this.range){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(!e.isEmpty())if(this.range.anchor.isEqual(this.range.focus)){const n=this.getPreviousElementOfPoint(this.range.anchor),a=this.getNextElementOfPoint(this.range.anchor),o=this.range.anchor.element.getBlock(),r=this.range.anchor.element.getInblock(),l=this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1;if(e.isInblock()&&"block"==e.behavior&&r&&"block"==r.behavior)if(r.isOnlyHasBreak()&&t)this.addElementBefore(e,r),r.toEmpty();else if(0!=this.range.anchor.offset||n&&r.isContains(n))if(this.range.anchor.offset!=l||a&&r.isContains(a)){const t=r.clone();this.addElementAfter(t,r),this.range.focus.moveToEnd(r),this.delete();const n=y.flatElements(r.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementBefore(e,t)}else this.addElementAfter(e,r);else this.addElementBefore(e,r);else if(e.isInblock()&&r)if(r.isOnlyHasBreak())this.addElementTo(e,r,0);else if(0!=this.range.anchor.offset||n&&r.isContains(n))if(this.range.anchor.offset!=l||a&&r.isContains(a)){const t=r.clone();this.addElementAfter(t,r),this.range.focus.moveToEnd(r),this.delete();const n=y.flatElements(r.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementTo(e,t),this.merge(t,r)}else this.addElementTo(e,r,r.children.length);else this.addElementTo(e,r,0);else if(e.isInblock())if(o.isOnlyHasBreak())this.addElementTo(e,o,0);else if(0!=this.range.anchor.offset||n&&o.isContains(n))if(this.range.anchor.offset!=l||a&&o.isContains(a)){const t=o.clone();this.addElementAfter(t,o),this.range.focus.moveToEnd(o),this.delete();const n=y.flatElements(o.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementTo(e,t),this.merge(t,o)}else this.addElementTo(e,o,o.children.length);else this.addElementTo(e,o,0);else if(e.isBlock())if(o.isOnlyHasBreak()&&t)this.addElementBefore(e,o),o.toEmpty();else if(0!=this.range.anchor.offset||n&&o.isContains(n))if(this.range.anchor.offset!=l||a&&o.isContains(a)){const t=o.clone();this.addElementAfter(t,o),this.range.focus.moveToEnd(o),this.delete();const n=y.flatElements(o.children).findIndex((e=>this.range.anchor.element.isEqual(e))),a=y.flatElements(t.children);this.range.focus.element=a[n],this.range.focus.offset=this.range.anchor.offset,this.range.anchor.moveToStart(t),this.delete(),this.addElementBefore(e,t)}else this.addElementAfter(e,o);else this.addElementBefore(e,o);else if(this.range.anchor.element.isText()){let t=this.range.anchor.element.textContent,n=this.range.anchor.element.clone();this.range.anchor.element.textContent=t.substring(0,this.range.anchor.offset),n.textContent=t.substring(this.range.anchor.offset),this.addElementAfter(n,this.range.anchor.element),this.addElementBefore(e,n)}else 0==this.range.anchor.offset?this.addElementBefore(e,this.range.anchor.element):this.addElementAfter(e,this.range.anchor.element);this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e)}else this.delete(),this.insertElement(e,t)}}formatElementStack(){const e=(t,n,a)=>{"boolean"!=typeof a&&(a=!1);let o=0;for(;o<t.length;)t[o]?t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):(n.apply(this,[t[o]]),t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):(!t[o].isBlock()&&a&&t[o].convertToBlock(),t[o].hasChildren()&&e(t[o].children,n),t[o].isEmpty()?(this.range&&t[o].isContains(this.range.anchor.element)&&L.apply(this,[this.range.anchor]),this.range&&t[o].isContains(this.range.focus.element)&&L.apply(this,[this.range.focus]),t.splice(o,1)):o++)):t.splice(o,1)};let t=this.renderRules.filter((e=>"function"==typeof e));[T,S,N,O,A,R,A,...t].forEach((t=>{e(this.stack,t,!0)})),F.apply(this)}domRender(e=!1){this.emit("beforeRender");const t=document.createDocumentFragment();this.stack.forEach((e=>{e.__render(),t.appendChild(e.elm)})),this.$el.innerHTML="",this.$el.appendChild(t);const n=this.value;this.value=this.$el.innerHTML,(this.__firstRender||n!=this.value)&&(this.__firstRender||this.emit("change",this.value,n),e||this.history.push(this.stack,this.range)),this.__firstRender&&(this.__firstRender=!1),this.emit("afterRender")}rangeRender(){if(!this.disabled){if(this.range){const e=e=>{let t=null,n=null;if(e.element.isText())t=e.element.elm.childNodes[0],n=e.offset;else{t=e.element.parent.elm;const a=e.element.parent.children.findIndex((t=>e.element.isEqual(t)));n=e.offset+a}return{node:t,offset:n}};this.__innerSelectionChange=!0;const t=e(this.range.anchor),n=e(this.range.focus),a=window.getSelection();if(a){a.removeAllRanges();const e=document.createRange();e.setStart(t.node,t.offset),e.setEnd(n.node,n.offset),a.addRange(e)}}else{const e=window.getSelection();e&&e.removeAllRanges()}setTimeout((()=>{$.apply(this),this.__innerSelectionChange=!1,this.history.updateCurrentRange(this.range),this.emit("rangeUpdate",this.range)}),0)}}parseHtml(e){if(!e)throw new Error("You need to give an html content to convert");const t=document.createElement("div");t.innerHTML=e;let n=[];return Array.from(t.childNodes).forEach((e=>{if(1==e.nodeType||3==e.nodeType){const t=this.parseNode(e);n.push(t)}})),n}parseNode(e){if(!(e instanceof Node))throw new Error("The argument must be an node");if(1!=e.nodeType&&3!=e.nodeType)throw new Error("The argument must be an element node or text node");if(3==e.nodeType)return new y("text",null,null,null,e.textContent);const t=function(e){let t={};const n=e.attributes.length;for(let a=0;a<n;a++){const n=e.attributes[a];/(^on)|(^style$)|(^face$)/g.test(n.nodeName)||(t[n.nodeName]=n.nodeValue)}return t}(e),n=function(e){let t={};const n=e.getAttribute("style");if(n){let e=0,a=0,o=[];for(;e<n.length;)";"==n[e]&&"base64,"!=n.substring(e+1,e+8)&&(o.push(n.substring(a,e)),a=e+1),e==n.length-1&&a<e&&o.push(n.substring(a,e)),e++;o.forEach((e=>{const n=e.indexOf(":"),a=e.substring(0,n).trim(),o=e.substring(n+1).trim();t[a]=o}))}return t}(e),a=e.nodeName.toLocaleLowerCase();if("style"==a||"meta"==a||"script"==a||"link"==a)return new y("text",null,null,null,null);const o=_.find((e=>e.parsedom==a)),r=C.find((e=>e.parsedom==a)),l=B.find((e=>e.parsedom==a)),i=x.find((e=>e.parsedom==a));let s=null,d={type:"inblock",parsedom:a,marks:t,styles:n,behavior:"default"};if(o)d.type="block",o.parse&&(d.parsedom=y.BLOCK_NODE);else if(r)d.type="inblock",r.block&&(d.behavior="block");else if(l){if(d.type="inline",l.parse&&(d.parsedom=y.TEXT_NODE,c.isObject(l.parse)))for(let c in l.parse)"function"==typeof l.parse[c]?d.styles[c]=l.parse[c].apply(this,[e]):d.styles[c]=l.parse[c]}else i?d.type="closed":(d.type="inline",d.parsedom="span");return s=new y(d.type,d.parsedom,d.marks,d.styles,null),s.behavior=d.behavior,i||Array.from(e.childNodes).forEach((e=>{if(1==e.nodeType||3==e.nodeType){const t=this.parseNode(e);t.parent=s,s.hasChildren()?s.children.push(t):s.children=[t]}})),"function"==typeof this.customParseNode&&(s=this.customParseNode.apply(this,[s])),s}merge(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(!e.isBlock()&&!e.isInblock()||!t.isBlock()&&!t.isInblock())throw new Error('Elements that are not "block" or "inblock" cannot be merged');"function"==typeof this.customMerge?this.customMerge.apply(this,[e,t]):(t.children.push(...e.children),t.children.forEach((e=>{e.parent=t})),e.children=null)}getElementByKey(e){if(!e)throw new Error("You need to specify a key to do the query");const t=n=>{let a=null;const o=n.length;for(let r=0;r<o;r++){const o=n[r];if(o&&o.key===e){a=o;break}if(o&&o.hasChildren()){const e=t(o.children);if(e){a=e;break}}}return a};return t(this.stack)}getPreviousElement(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isBlock()){const t=this.stack.findIndex((t=>e.isEqual(t)));return t<=0?null:this.stack[t-1].isEmpty()?this.getPreviousElement(this.stack[t-1]):this.stack[t-1]}{const t=e.parent.children.findIndex((t=>e.isEqual(t)));return t<=0?null:e.parent.children[t-1].isEmpty()?this.getPreviousElement(e.parent.children[t-1]):e.parent.children[t-1]}}getNextElement(e){if(!y.isElement(e))throw new Error("The argument must be an AlexElement instance");if(e.isBlock()){const t=this.stack.findIndex((t=>e.isEqual(t)));return t>=this.stack.length-1?null:this.stack[t+1].isEmpty()?this.getNextElement(this.stack[t+1]):this.stack[t+1]}{const t=e.parent.children.findIndex((t=>e.isEqual(t)));return t>=e.parent.children.length-1?null:e.parent.children[t+1].isEmpty()?this.getNextElement(e.parent.children[t+1]):e.parent.children[t+1]}}getPreviousElementOfPoint(e){if(!w.isPoint(e))throw new Error("The argument must be an AlexPoint instance");const t=e=>{let n=null;for(let a=e.length-1;a>=0;a--){const o=e[a];if(!o.isEmpty()){if(o.isText()||o.isClosed()){n=o;break}if(n=t(o.children),n)break}}return n},n=e=>{const a=this.getPreviousElement(e);return a?a.isEmpty()?n(a):a.isText()||a.isClosed()?a:t(a.children):e.parent?n(e.parent):null};return n(e.element)}getNextElementOfPoint(e){if(!w.isPoint(e))throw new Error("The argument must be an AlexPoint instance");const t=e=>{let n=null;const a=e.length;for(let o=0;o<a;o++){const a=e[o];if(!a.isEmpty()){if(a.isText()||a.isClosed()){n=a;break}if(n=t(a.children),n)break}}return n},n=e=>{const a=this.getNextElement(e);return a?a.isEmpty()?n(a):a.isText()||a.isClosed()?a:t(a.children):e.parent?n(e.parent):null};return n(e.element)}getElementsByRange(){if(!this.range)return{list:[],flatList:[]};if(this.range.anchor.isEqual(this.range.focus))return{list:[],flatList:[]};if(this.range.anchor.element.isEqual(this.range.focus.element)){const e=0==this.range.anchor.offset&&this.range.focus.offset==(this.range.anchor.element.isText()?this.range.anchor.element.textContent.length:1);return{list:[{element:this.range.anchor.element,offset:!e&&[this.range.anchor.offset,this.range.focus.offset]}],flatList:[{element:this.range.anchor.element,offset:!e&&[this.range.anchor.offset,this.range.focus.offset]}]}}const e=(()=>{let e=[];const t=0==this.range.anchor.offset,n=this.range.focus.offset==(this.range.focus.element.isText()?this.range.focus.element.textContent.length:1),a=this.range.anchor.element.getBlock(),o=this.range.focus.element.getBlock(),r=this.stack.findIndex((e=>a.isEqual(e))),l=this.stack.findIndex((e=>o.isEqual(e)));let i=y.flatElements(this.stack.slice(r,l+1));const s=function(e){let t=e.element;for(;t.parent&&e.element.isFirst(t.parent);)t=t.parent;return t}(this.range.anchor),c=i.findIndex((e=>e.isEqual(s||this.range.anchor.element))),d=i.findIndex((e=>e.isEqual(this.range.focus.element)));(c>0||d<i.length-1)&&(i=i.slice(c,d+1));const u=i.length;for(let h=0;h<u;h++)if(this.range.anchor.element.isEqual(i[h]))t?e.push({element:this.range.anchor.element,offset:!1}):this.range.anchor.element.isText()&&this.range.anchor.offset<this.range.anchor.element.textContent.length&&e.push({element:this.range.anchor.element,offset:[this.range.anchor.offset,this.range.anchor.element.textContent.length]});else if(i[h].isContains(this.range.anchor.element)){const a=this.range.anchor.element.isFirst(i[h]),o=i[h].isContains(this.range.focus.element),r=this.range.focus.element.isLast(i[h]);(t&&a&&o&&r&&n||t&&a&&!o)&&e.push({element:i[h],offset:!1})}else if(this.range.focus.element.isEqual(i[h]))n?e.push({element:this.range.focus.element,offset:!1}):this.range.focus.offset>0&&e.push({element:this.range.focus.element,offset:[0,this.range.focus.offset]});else if(i[h].isContains(this.range.focus.element)){this.range.focus.element.isLast(i[h])&&n&&e.push({element:i[h],offset:!1})}else e.push({element:i[h],offset:!1});return e})();return{list:(e=>{let t=[],n=[],a=[];const o=e.length;for(let r=0;r<o;r++)if(e[r].element.isBlock())t.push(e[r]),n.push(e[r].element);else{const o=e[r].element.getBlock();let l=!1;for(let e=n.length-1;e>=0;e--)if(n[e].isEqual(o)){l=!0;break}if(!l){a.some((t=>t.isContains(e[r].element)))||(t.push(e[r]),(e[r].element.isInblock()||e[r].element.isInline())&&a.push(e[r].element))}}return t})(e),flatList:e}}addElementTo(e,t,n=0){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if("number"!=typeof n||isNaN(n)||n<0)throw new Error("The third argument must be an integer not less than 0");t.hasChildren()?n>=t.children.length?t.children.push(e):t.children.splice(n,0,e):t.children=[e],e.parent=t}addElementBefore(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(t.isBlock()){const n=this.stack.findIndex((e=>t.isEqual(e)));this.stack.splice(n,0,e),e.parent=null}else{const n=t.parent.children.findIndex((e=>t.isEqual(e)));this.addElementTo(e,t.parent,n)}}addElementAfter(e,t){if(!y.isElement(e))throw new Error("The first argument must be an AlexElement instance");if(!y.isElement(t))throw new Error("The second argument must be an AlexElement instance");if(t.isBlock()){const n=this.stack.findIndex((e=>t.isEqual(e)));n>=this.stack.length-1?this.stack.push(e):this.stack.splice(n+1,0,e),e.parent=null}else{const n=t.parent.children.findIndex((e=>t.isEqual(e)));this.addElementTo(e,t.parent,n+1)}}collapseToStart(e){if(this.disabled)return;let t=!1;if(this.range||(this.initRange(),t=!0),y.isElement(e))this.range.anchor.moveToStart(e),this.range.focus.moveToStart(e);else{const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom)));if(0==e.length)throw new Error("There is no element to set the focus");this.range.anchor.moveToStart(e[0]),this.range.focus.moveToStart(e[0])}t&&this.history.updateCurrentRange(this.range)}collapseToEnd(e){if(this.disabled)return;let t=!1;if(this.range||(this.initRange(),t=!0),y.isElement(e))this.range.anchor.moveToEnd(e),this.range.focus.moveToEnd(e);else{const e=y.flatElements(this.stack).filter((e=>!e.isEmpty()&&!y.VOID_NODES.includes(e.parsedom))),t=e.length;if(0==t)throw new Error("There is no element to set the focus");this.range.anchor.moveToEnd(e[t-1]),this.range.focus.moveToEnd(e[t-1])}t&&this.history.updateCurrentRange(this.range)}setDisabled(){this.disabled=!0,this.$el.removeAttribute("contenteditable")}setEnabled(){this.disabled=!1,this.$el.setAttribute("contenteditable","true")}emit(e,...t){return!!Array.isArray(this.__events[e])&&(this.__events[e].forEach((e=>{e.apply(this,[...t])})),!0)}on(e,t){this.__events[e]||(this.__events[e]=[]),this.__events[e].push(t)}destroy(){this.setDisabled(),h.off(document,`selectionchange.alex_editor_${this.__guid}`),h.off(this.$el,"beforeinput.alex_editor compositionstart.alex_editor compositionupdate.alex_editor compositionend.alex_editor keydown.alex_editor cut.alex_editor paste.alex_editor copy.alex_editor dragstart.alex_editor drop.alex_editor focus.alex_editor blur.alex_editor")}}const Q={formatNumber(e){return this.isNumber(e)?e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,"):e},isNumber:e=>"number"==typeof e&&!isNaN(e),add:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o+t*o)/o})),subtract:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=0;try{n=e.toString().split(".")[1].length}catch(r){}try{a=t.toString().split(".")[1].length}catch(r){}return o=Math.pow(10,Math.max(n,a)),(e*o-t*o)/o})),mutiply:(...e)=>e.reduce(((e,t)=>{let n=0,a=e.toString(),o=t.toString();try{n+=a.split(".")[1].length}catch(r){}try{n+=o.split(".")[1].length}catch(r){}return Number(a.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,n)})),divide:(...e)=>e.reduce(((e,t)=>{let n=0,a=0,o=e.toString(),r=t.toString();try{n=o.split(".")[1].length}catch(l){}try{a=r.split(".")[1].length}catch(l){}return Number(o.replace(".",""))/Number(r.replace(".",""))*Math.pow(10,a-n)}))},J={insert(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if("string"!=typeof t)throw new TypeError("The second argument must be a string");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,n)+t+e.substring(n,e.length)},delete(e,t,n){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!Q.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");return e.substring(0,t)+e.substring(t+n,e.length)},replace(e,t,n,a){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!Q.isNumber(t))throw new TypeError("The second argument must be a number");if(t<0)throw new Error("The second argument cannot be less than 0");if(!Q.isNumber(n))throw new TypeError("The third argument must be a number");if(n<0)throw new Error("The third argument cannot be less than 0");if("string"!=typeof a)throw new TypeError("The fourth argument must be a string");return e.substring(0,t)+a+e.substring(n,e.length)},trim(e,t){if("string"!=typeof e)throw new TypeError("The first argument must be a string");let n=e.replace(/(^\s+)|(\s+$)/g,"");return t&&(n=n.replace(/\s/g,"")),n}},Y={isWindow:e=>e&&e instanceof Window,getElementPoint(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(this.isElement(t)||(t=document.body),!this.isContains(t,e))throw new Error("The second argument and the first argument have no hierarchical relationship");let n=e,a=0,o=0;for(;this.isElement(e)&&this.isContains(t,e)&&t!==e;)a+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent;return{top:a,left:o,right:t.offsetWidth-o-n.offsetWidth,bottom:t.offsetHeight-a-n.offsetHeight}},isContains(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e===t||(e.contains?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t)))},isParentNode(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!this.isElement(t))throw new TypeError("The second argument must be an element");return e!==t&&t.parentNode===e},children(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");return[...e.querySelectorAll(t||"*")].filter((t=>t.parentNode===e))},siblings(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(t&&"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!e.parentNode)return[];return[...e.parentNode.querySelectorAll(t||"*")].filter((t=>t.parentNode===e.parentNode&&t!=e))},rem2px(e){if(!Q.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return Q.mutiply(e,parseFloat(t))},px2rem(e){if(!Q.isNumber(e))throw new TypeError("The argument must be a number");let t=this.getCssStyle(document.documentElement,"font-size");return Q.divide(e,parseFloat(t))},width(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientWidth,n=parseFloat(this.getCssStyle(e,"padding-left")),a=parseFloat(this.getCssStyle(e,"padding-right"));return Q.subtract(t,n,a)},height(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.clientHeight,n=parseFloat(this.getCssStyle(e,"padding-top")),a=parseFloat(this.getCssStyle(e,"padding-bottom"));return Q.subtract(t,n,a)},removeClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;J.trim(t).split(/\s+/).forEach((e=>{n.remove(e)}))},addClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;J.trim(t).split(/\s+/).forEach((e=>{n.add(e)}))},hasClass(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.classList;return J.trim(t).split(/\s+/).every((e=>n.contains(e)))},scrollTopBottomTrigger(e,t){"string"==typeof e&&e&&(e=document.body.querySelector(e));let n=window;this.isElement(e)&&e!=document.body&&e!=document.documentElement&&(n=e),"function"==typeof e&&(t=e);let a=!0;n.addEventListener("scroll",(()=>{if(this.getScrollTop(n)<=0){if(!a)return;"function"==typeof t&&(a=!1,t({state:"top",target:n}))}else{let e={state:"bottom",target:n},o=0;if(o=n==window?window.innerHeight:n.clientHeight,Q.add(this.getScrollTop(n),o)+1>=this.getScrollHeight(n)&&o!=this.getScrollHeight(n)){if(!a)return;"function"==typeof t&&(a=!1,t(e))}else a=!0}}))},getScrollWidth(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollWidth:0==document.documentElement.scrollWidth||0==document.body.scrollWidth?document.documentElement.scrollWidth||document.body.scrollWidth:document.documentElement.scrollWidth>document.body.scrollWidth?document.documentElement.scrollWidth:document.body.scrollWidth,t},getScrollHeight(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.documentElement&&e!=document.body?e.scrollHeight:0==document.documentElement.scrollHeight||0==document.body.scrollHeight?document.documentElement.scrollHeight||document.body.scrollHeight:document.documentElement.scrollHeight>document.body.scrollHeight?document.documentElement.scrollHeight:document.body.scrollHeight,t},setScrollTop(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,o=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(o<=0)t?document.documentElement.scrollTop=document.body.scrollTop=a:n.scrollTop=a,e();else{let r=10,l=Q.divide(o,r),i=this.getScrollTop(n),s=Q.divide(Q.subtract(a,i),l),c=setInterval((()=>{l>0?(l--,t?document.documentElement.scrollTop=document.body.scrollTop=i=Q.add(i,s):n.scrollTop=i=Q.add(i,s)):(clearInterval(c),e())}),r)}}))},getScrollTop(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollTop:0==document.documentElement.scrollTop||0==document.body.scrollTop?document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,t},getScrollLeft(e){"string"==typeof e&&e&&(e=document.body.querySelector(e));let t=0;return t=this.isElement(e)&&e!=document.body&&e!=document.documentElement&&e!=window?e.scrollLeft:0==document.documentElement.scrollLeft||0==document.body.scrollLeft?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft>document.body.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,t},setScrollLeft(e){let t=!1,n=e.el;"string"==typeof n&&n&&(n=document.body.querySelector(n));let a=e.number||0,o=e.time||0;return this.isElement(n)&&n!=document.body&&n!=document.documentElement&&n!=window||(t=!0),new Promise((e=>{if(o<=0)t?document.documentElement.scrollLeft=document.body.scrollLeft=a:n.scrollLeft=a,e();else{let r=10,l=Q.divide(o,r),i=this.getScrollLeft(n),s=Q.divide(Q.subtract(a,i),l),c=setInterval((()=>{l>0?(l--,t?document.documentElement.scrollLeft=document.body.scrollLeft=i=Q.add(i,s):n.scrollLeft=i=Q.add(i,s)):(clearInterval(c),e())}),r)}}))},getCssStyle(e,t){if(!this.isElement(e))throw new TypeError("The first argument must be an element");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n="";return n=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(e)[t]:e.currentStyle[t],n},getCssSelector(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a selector string");if(/^#{1}/.test(e))return{type:"id",value:e.substr(1)};if(/^\./.test(e))return{type:"class",value:e.substr(1)};if(/^\[(.+)\]$/.test(e)){let t="attribute",n="",a=J.trim(e,!0).substring(1,J.trim(e,!0).length-1).split("=");return 1==a.length&&(n=a[0]),2==a.length&&(n={attributeName:a[0],attributeValue:a[1].replace(/\'/g,"").replace(/\"/g,"")}),{type:t,value:n}}return{type:"tag",value:e}},getElementBounding(e){"string"==typeof e&&e&&(e=document.body.querySelector(e)),this.isElement(e)||(e=document.body);let t=e.getBoundingClientRect();return{top:t.top,bottom:Q.subtract(document.documentElement.clientHeight||window.innerHeight,t.bottom),left:t.left,right:Q.subtract(document.documentElement.clientWidth||window.innerWidth,t.right)}},isElement:e=>e&&e instanceof Node&&1===e.nodeType,string2dom(e,t){if(!e||"string"!=typeof e)throw new TypeError("The argument must be an HTML string");let n=document.createElement(t||"div");return n.innerHTML=e,1==n.children.length?n.children[0]:Array.from(n.children)}},ee="_dap-datas",te={remove(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[ee]||{};null==t||""===t?e[ee]={}:(delete n[t],e[ee]=n)},has(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");return(e[ee]||{}).hasOwnProperty(t)},get(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=e[ee]||{};return null==t||""===t?n:n[t]},set(e,t,n){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(null==t||""===t)throw new TypeError("The second parameter must be a unique key");let a=e[ee]||{};a[t]=n,e[ee]=a}},ne={matchingText(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=null;if("Chinese"==t&&(n=/^[\u4e00-\u9fa5]+$/),"chinese"==t&&(n=/[\u4e00-\u9fa5]/),"email"==t&&(n=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/),"username"==t&&(n=/^[a-zA-Z0-9_]{4,16}$/),"int+"==t&&(n=/^\d+$/),"int-"==t&&(n=/^-\d+$/),"int"==t&&(n=/^-?\d+$/),"pos"==t&&(n=/^\d*\.?\d+$/),"neg"==t&&(n=/^-\d*\.?\d+$/),"number"==t&&(n=/^-?\d*\.?\d+$/),"phone"==t&&(n=/^1[0-9]\d{9}$/),"idCard"==t&&(n=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/),"url"==t&&(n=/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#-]+\.?)+(\/[^\s]*)?$/),"IPv4"==t&&(n=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/),"hex"==t&&(n=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/),"rgb"==t&&(n=/^rgb\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\)$/),"rgba"==t&&(n=/^rgba\((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s?(0?\.\d|1(\.0)?|0)\)$/),"QQ"==t&&(n=/^[1-9][0-9]{4,10}$/),"weixin"==t&&(n=/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/),"plate"==t&&(n=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/),!n)throw new Error("The second parameter is out of scope");return n.test(e)},getUrlParams(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1);if(!n){let e=window.location.hash.split("?");2==e.length&&(n=e[1])}let a=n.match(t);return a?decodeURIComponent(a[2]):null},isEmptyObject(e){return!!this.isObject(e)&&0==Object.keys(e).length},equal(e,t){if(typeof e!=typeof t)return!1;if(this.isObject(e)&&this.isObject(t)){let n=Object.getOwnPropertyNames(e),a=Object.getOwnPropertyNames(t);if(n.length!=a.length)return!1;let o=n.length,r=!0;for(let l=0;l<o;l++){let a=n[l],o=e[a],i=t[a];if(!this.equal(o,i)){r=!1;break}}return r}return e===t},isObject:e=>!("object"!=typeof e||!e),copyText(e){if(!e||"string"!=typeof e)throw new TypeError("No text to copy is defined");if(!navigator.clipboard)throw new Error("navigator.clipboard must be obtained in a secure environment, such as localhost, 127.0.0.1, or https, so the method won't work");return navigator.clipboard.writeText(e)},clone(e){if(this.isObject(e)){if(Array.isArray(e))return e.map((e=>this.clone(e)));let t={};for(let n in e)t[n]=this.clone(e[n]);return t}return e}},ae=e=>{let t=e.split(/[\s]+/g),n=[];return t.forEach((e=>{let t=e.split("."),a={eventName:t[0]};t.length>1&&(a.guid=t[1]),n.push(a)})),n},oe=(e,t,n)=>{let a=te.get(e,"dap-defined-events")||{},o=Object.keys(a),r=o.length;for(let l=0;l<r;l++){let r=o[l];a[r].type==t&&(n?r==t+"."+n&&(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0):(e.removeEventListener(a[r].type,a[r].fn,a[r].options),a[r]=void 0))}a=(e=>{let t={};return Object.keys(e).forEach((n=>{e[n]&&(t[n]=e[n])})),t})(a),te.set(e,"dap-defined-events",a)},re={on(e,t,n,a){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");if(!n||"function"!=typeof n)throw new TypeError("The third argument must be a function");ne.isObject(a)||(a={});ae(t).forEach((t=>{((e,t,n,a,o)=>{let r=te.get(e,"dap-defined-events")||{};n||(n=te.get(e,"dap-event-guid")||0,te.set(e,"dap-event-guid",n+1)),r[n=t+"."+n]&&r[n].type==t&&e.removeEventListener(t,r[n].fn,r[n].options),e.addEventListener(t,a,o),r[n]={type:t,fn:a,options:o},te.set(e,"dap-defined-events",r)})(e,t.eventName,t.guid,n.bind(e),a)}))},off(e,t){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let n=te.get(e,"dap-defined-events");if(!n)return;if(!t){let t=Object.keys(n),a=t.length;for(let o=0;o<a;o++){let a=t[o];e.removeEventListener(n[a].type,n[a].fn,n[a].options)}return te.remove(e,"dap-defined-events"),void te.remove(e,"dap-event-guid")}ae(t).forEach((t=>{oe(e,t.eventName,t.guid)}))},get(e){if(!(e instanceof Document||Y.isElement(e)||Y.isWindow(e)))throw new TypeError("The first argument must be an element node or window or document");let t=te.get(e,"dap-defined-events");if(t)return t}},le={rgb2hsv(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");let t=0,n=0,a=0,o=e[0]>=255?255:e[0],r=e[1]>=255?255:e[1],l=e[2]>=255?255:e[2];o=o<=0?0:o,r=r<=0?0:r,l=l<=0?0:l;let i=Math.max(o,r,l),s=Math.min(o,r,l);return a=i/255,n=0===i?0:1-s/i,i===s?t=0:i===o&&r>=l?t=(r-l)/(i-s)*60+0:i===o&&r<l?t=(r-l)/(i-s)*60+360:i===r?t=(l-o)/(i-s)*60+120:i===l&&(t=(o-r)/(i-s)*60+240),[t,100*n,100*a]},hsv2rgb(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");let t=e[0]>=360||e[0]<=0?0:e[0],n=e[1]>=100?100:e[1];n=n<=0?0:n;let a=e[2]>=100?100:e[2];a=a<=0?0:a,n/=100,a/=100;let o=0,r=0,l=0,i=parseInt(t/60%6+""),s=t/60-i,c=a*(1-n),d=a*(1-s*n),u=a*(1-(1-s)*n);switch(i){case 0:o=a,r=u,l=c;break;case 1:o=d,r=a,l=c;break;case 2:o=c,r=a,l=u;break;case 3:o=c,r=d,l=a;break;case 4:o=u,r=c,l=a;break;case 5:o=a,r=c,l=d}return o=parseInt(255*o+""),r=parseInt(255*r+""),l=parseInt(255*l+""),[o,r,l]},rgb2hex(e){if(!Array.isArray(e)||3!=e.length)throw new TypeError("Invalid argument");return"#"+((1<<24)+(e[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1)},hex2rgb(e){if(!e||"string"!=typeof e)throw new TypeError("The argument must be a string");let t=e.toLowerCase();if(!ne.matchingText(t,"hex"))throw new TypeError("The argument must be a hexadecimal color value");if(4===t.length){let e="#";for(let n=1;n<4;n+=1)e+=t.slice(n,n+1).concat(t.slice(n,n+1));t=e}let n=[];for(let a=1;a<7;a+=2)n.push(parseInt("0x"+t.slice(a,a+2)));return n}},ie={getImageUrl(e){if(!(e&&e instanceof File))throw new TypeError("The argument must be a File object");return window.URL.createObjectURL(e)},dataFileToBase64:e=>new Promise(((t,n)=>{e&&e instanceof File||n(new TypeError("The argument must be a File object"));let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>{let e=a.result;t(e)}})),dataBase64toFile(e,t){if(!e||"string"!=typeof e)throw new TypeError("The first argument must be a string");if(!t||"string"!=typeof t)throw new TypeError("The second argument must be a string");let n=e.split(","),a=n[0].match(/:(.*?);/)[1],o=atob(n[1]),r=o.length,l=new Uint8Array(r);for(;r--;)l[r]=o.charCodeAt(r);return new File([l],t,{type:a})},compressImage(e,t){const n={width:void 0,quality:.8,mimeType:"jpeg",maxSize:0,minSize:0};ne.isObject(t)&&(Q.isNumber(t.width)&&(n.width=t.width),Q.isNumber(t.quality)&&t.quality>=0&&t.quality<=1&&(n.quality=t.quality),"jpeg"!=t.mimeType&&"webp"!=t.mimeType||(n.mimeType=t.mimeType),Q.isNumber(t.maxSize)&&(n.maxSize=t.maxSize),Q.isNumber(t.minSize)&&(n.minSize=t.minSize));const a=(e,t,o)=>{let r=e.toDataURL("image/"+n.mimeType,o),l=this.dataBase64toFile(r,t);if(n.maxSize>0&&l.size>1024*n.maxSize){o=o<=0?0:Number((o-.01).toFixed(2));const n=a(e,t,o);r=n.url,l=n.file,o=n.quality}return{file:l,url:r,quality:o}};return new Promise(((t,o)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>{let l=r.result,i=new Image;i.src=l,i.onload=()=>{if(n.minSize>0&&e.size<=1024*n.minSize)return void t({file:e,url:l,quality:1,width:i.width,height:i.height});let o=document.createElement("canvas"),r=o.getContext("2d");o.width=n.width||i.width,o.height=n.width?n.width/(i.width/i.height):i.height,r.drawImage(i,0,0,o.width,o.height);let s=e.name.lastIndexOf(".");const c=e.name.substring(0,s)+"."+n.mimeType;let d=a(o,c,n.quality);t({...d,width:o.width,height:o.height})},i.onerror=()=>{o(new Error("Failed to load image file"))}},r.onerror=()=>{o(new Error("Failed to load image file"))}}))}};function se(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ce(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{const n=e[t],a=typeof n;"object"!==a&&"function"!==a||Object.isFrozen(n)||ce(n)})),e}class de{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function ue(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function he(e,...t){const n=Object.create(null);for(const a in e)n[a]=e[a];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const fe=e=>!!e.scope;class me{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=ue(e)}openNode(e){if(!fe(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){fe(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const ge=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class pe{constructor(){this.rootNode=ge(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=ge({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{pe._collapse(e)})))}}class be extends pe{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new me(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ve(e){return e?"string"==typeof e?e:e.source:null}function ye(e){return ke("(?=",e,")")}function Ee(e){return ke("(?:",e,")*")}function we(e){return ke("(?:",e,")?")}function ke(...e){return e.map((e=>ve(e))).join("")}function _e(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>ve(e))).join("|")+")"}function xe(e){return new RegExp(e.toString()+"|").exec("").length-1}const Ce=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Be(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n;let a=ve(e),o="";for(;a.length>0;){const e=Ce.exec(a);if(!e){o+=a;break}o+=a.substring(0,e.index),a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?o+="\\"+String(Number(e[1])+t):(o+=e[0],"("===e[0]&&n++)}return o})).map((e=>`(${e})`)).join(t)}const Te="[a-zA-Z]\\w*",Se="[a-zA-Z_]\\w*",Ne="\\b\\d+(\\.\\d+)?",Oe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",Re={begin:"\\\\[\\s\\S]",relevance:0},Me={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Re]},Ie={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Re]},Le=function(e,t,n={}){const a=he({scope:"comment",begin:e,end:t,contains:[]},n);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const o=_e("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:ke(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},De=Le("//","$"),$e=Le("/\\*","\\*/"),Fe=Le("#","$"),ze={scope:"number",begin:Ne,relevance:0},Pe={scope:"number",begin:Oe,relevance:0},He={scope:"number",begin:Ae,relevance:0},Ve={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Re,{begin:/\[/,end:/\]/,relevance:0,contains:[Re]}]},je={scope:"title",begin:Te,relevance:0},We={scope:"title",begin:Se,relevance:0},Ue={begin:"\\.\\s*"+Se,relevance:0};var qe=Object.freeze({__proto__:null,APOS_STRING_MODE:Me,BACKSLASH_ESCAPE:Re,BINARY_NUMBER_MODE:He,BINARY_NUMBER_RE:Ae,COMMENT:Le,C_BLOCK_COMMENT_MODE:$e,C_LINE_COMMENT_MODE:De,C_NUMBER_MODE:Pe,C_NUMBER_RE:Oe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:Fe,IDENT_RE:Te,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:Ue,NUMBER_MODE:ze,NUMBER_RE:Ne,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:Ie,REGEXP_MODE:Ve,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=ke(t,/.*\b/,e.binary,/\b.*/)),he({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:je,UNDERSCORE_IDENT_RE:Se,UNDERSCORE_TITLE_MODE:We});function Ke(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function Ze(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function Ge(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Ke,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Xe(e,t){Array.isArray(e.illegal)&&(e.illegal=_e(...e.illegal))}function Qe(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Je(e,t){void 0===e.relevance&&(e.relevance=1)}const Ye=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]})),e.keywords=n.keywords,e.begin=ke(n.beforeMatch,ye(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},et=["of","and","for","in","not","or","if","then","parent","list","value"],tt="keyword";function nt(e,t,n=tt){const a=Object.create(null);return"string"==typeof e?o(n,e.split(" ")):Array.isArray(e)?o(n,e):Object.keys(e).forEach((function(n){Object.assign(a,nt(e[n],t,n))})),a;function o(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");a[n[0]]=[e,at(n[0],n[1])]}))}}function at(e,t){return t?Number(t):function(e){return et.includes(e.toLowerCase())}(e)?0:1}const ot={},rt=e=>{console.error(e)},lt=(e,...t)=>{console.log(`WARN: ${e}`,...t)},it=(e,t)=>{ot[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ot[`${e}/${t}`]=!0)},st=new Error;function ct(e,t,{key:n}){let a=0;const o=e[n],r={},l={};for(let i=1;i<=t.length;i++)l[i+a]=o[i],r[i+a]=!0,a+=xe(t[i-1]);e[n]=l,e[n]._emit=r,e[n]._multi=!0}function dt(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw rt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),st;if("object"!=typeof e.beginScope||null===e.beginScope)throw rt("beginScope must be object"),st;ct(e,e.begin,{key:"beginScope"}),e.begin=Be(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw rt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),st;if("object"!=typeof e.endScope||null===e.endScope)throw rt("endScope must be object"),st;ct(e,e.end,{key:"endScope"}),e.end=Be(e.end,{joinWith:""})}}(e)}function ut(e){function t(t,n){return new RegExp(ve(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=xe(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=t(Be(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),a=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,a)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=he(e.classNameAliases||{}),function n(o,r){const l=o;if(o.isCompiled)return l;[Ze,Qe,dt,Ye].forEach((e=>e(o,r))),e.compilerExtensions.forEach((e=>e(o,r))),o.__beforeBegin=null,[Ge,Xe,Je].forEach((e=>e(o,r))),o.isCompiled=!0;let i=null;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),i=o.keywords.$pattern,delete o.keywords.$pattern),i=i||/\w+/,o.keywords&&(o.keywords=nt(o.keywords,e.case_insensitive)),l.keywordPatternRe=t(i,!0),r&&(o.begin||(o.begin=/\B|\b/),l.beginRe=t(l.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),o.end&&(l.endRe=t(l.end)),l.terminatorEnd=ve(l.end)||"",o.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),o.illegal&&(l.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return he(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(ht(e))return he(e,{starts:e.starts?he(e.starts):null});if(Object.isFrozen(e))return he(e);return e}("self"===e?o:e)}))),o.contains.forEach((function(e){n(e,l)})),o.starts&&n(o.starts,r),l.matcher=function(e){const t=new a;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(l),l}(e)}function ht(e){return!!e&&(e.endsWithParent||ht(e.starts))}class ft extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const mt=ue,gt=he,pt=Symbol("nomatch"),bt=function(e){const t=Object.create(null),n=Object.create(null),a=[];let o=!0;const r="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]};let i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:be};function s(e){return i.noHighlightRe.test(e)}function c(e,t,n){let a="",o="";"object"==typeof t?(a=e,n=t.ignoreIllegals,o=t.language):(it("10.7.0","highlight(lang, code, ...args) has been deprecated."),it("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,a=t),void 0===n&&(n=!0);const r={code:a,language:o};v("before:highlight",r);const l=r.result?r.result:d(r.language,r.code,n);return l.code=r.code,v("after:highlight",l),l}function d(e,n,a,l){const s=Object.create(null);function c(){if(!C.keywords)return void T.addText(S);let e=0;C.keywordPatternRe.lastIndex=0;let t=C.keywordPatternRe.exec(S),n="";for(;t;){n+=S.substring(e,t.index);const o=k.case_insensitive?t[0].toLowerCase():t[0],r=(a=o,C.keywords[a]);if(r){const[e,a]=r;if(T.addText(n),n="",s[o]=(s[o]||0)+1,s[o]<=7&&(N+=a),e.startsWith("_"))n+=t[0];else{const n=k.classNameAliases[e]||e;f(t[0],n)}}else n+=t[0];e=C.keywordPatternRe.lastIndex,t=C.keywordPatternRe.exec(S)}var a;n+=S.substring(e),T.addText(n)}function h(){null!=C.subLanguage?function(){if(""===S)return;let e=null;if("string"==typeof C.subLanguage){if(!t[C.subLanguage])return void T.addText(S);e=d(C.subLanguage,S,!0,B[C.subLanguage]),B[C.subLanguage]=e._top}else e=u(S,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(N+=e.relevance),T.__addSublanguage(e._emitter,e.language)}():c(),S=""}function f(e,t){""!==e&&(T.startScope(t),T.addText(e),T.endScope())}function m(e,t){let n=1;const a=t.length-1;for(;n<=a;){if(!e._emit[n]){n++;continue}const a=k.classNameAliases[e[n]]||e[n],o=t[n];a?f(o,a):(S=o,c(),S=""),n++}}function p(e,t){return e.scope&&"string"==typeof e.scope&&T.openNode(k.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(f(S,k.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),S=""):e.beginScope._multi&&(m(e.beginScope,t),S="")),C=Object.create(e,{parent:{value:C}}),C}function b(e,t,n){let a=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(a){if(e["on:end"]){const n=new de(e);e["on:end"](t,n),n.isMatchIgnored&&(a=!1)}if(a){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return b(e.parent,t,n)}function v(e){return 0===C.matcher.regexIndex?(S+=e[0],1):(R=!0,0)}function y(e){const t=e[0],a=n.substring(e.index),o=b(C,e,a);if(!o)return pt;const r=C;C.endScope&&C.endScope._wrap?(h(),f(t,C.endScope._wrap)):C.endScope&&C.endScope._multi?(h(),m(C.endScope,e)):r.skip?S+=t:(r.returnEnd||r.excludeEnd||(S+=t),h(),r.excludeEnd&&(S=t));do{C.scope&&T.closeNode(),C.skip||C.subLanguage||(N+=C.relevance),C=C.parent}while(C!==o.parent);return o.starts&&p(o.starts,e),r.returnEnd?0:t.length}let E={};function w(t,r){const l=r&&r[0];if(S+=t,null==l)return h(),0;if("begin"===E.type&&"end"===r.type&&E.index===r.index&&""===l){if(S+=n.slice(r.index,r.index+1),!o){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=E.rule,t}return 1}if(E=r,"begin"===r.type)return function(e){const t=e[0],n=e.rule,a=new de(n),o=[n.__beforeBegin,n["on:begin"]];for(const r of o)if(r&&(r(e,a),a.isMatchIgnored))return v(t);return n.skip?S+=t:(n.excludeBegin&&(S+=t),h(),n.returnBegin||n.excludeBegin||(S=t)),p(n,e),n.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=new Error('Illegal lexeme "'+l+'" for mode "'+(C.scope||"<unnamed>")+'"');throw e.mode=C,e}if("end"===r.type){const e=y(r);if(e!==pt)return e}if("illegal"===r.type&&""===l)return 1;if(A>1e5&&A>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return S+=l,l.length}const k=g(e);if(!k)throw rt(r.replace("{}",e)),new Error('Unknown language: "'+e+'"');const _=ut(k);let x="",C=l||_;const B={},T=new i.__emitter(i);!function(){const e=[];for(let t=C;t!==k;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach((e=>T.openNode(e)))}();let S="",N=0,O=0,A=0,R=!1;try{if(k.__emitTokens)k.__emitTokens(n,T);else{for(C.matcher.considerAll();;){A++,R?R=!1:C.matcher.considerAll(),C.matcher.lastIndex=O;const e=C.matcher.exec(n);if(!e)break;const t=w(n.substring(O,e.index),e);O=e.index+t}w(n.substring(O))}return T.finalize(),x=T.toHTML(),{language:e,value:x,relevance:N,illegal:!1,_emitter:T,_top:C}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:e,value:mt(n),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:O,context:n.slice(O-100,O+100),mode:M.mode,resultSoFar:x},_emitter:T};if(o)return{language:e,value:mt(n),illegal:!1,relevance:0,errorRaised:M,_emitter:T,_top:C};throw M}}function u(e,n){n=n||i.languages||Object.keys(t);const a=function(e){const t={value:mt(e),illegal:!1,relevance:0,_top:l,_emitter:new i.__emitter(i)};return t._emitter.addText(e),t}(e),o=n.filter(g).filter(b).map((t=>d(t,e,!1)));o.unshift(a);const r=o.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(g(e.language).supersetOf===t.language)return 1;if(g(t.language).supersetOf===e.language)return-1}return 0})),[s,c]=r,u=s;return u.secondBest=c,u}function h(e){let t=null;const a=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=i.languageDetectRe.exec(t);if(n){const t=g(n[1]);return t||(lt(r.replace("{}",n[1])),lt("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>s(e)||g(e)))}(e);if(s(a))return;if(v("before:highlightElement",{el:e,language:a}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);if(e.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),i.throwUnescapedHTML)){throw new ft("One of your code blocks includes unescaped HTML.",e.innerHTML)}t=e;const o=t.textContent,l=a?c(o,{language:a,ignoreIllegals:!0}):u(o);e.innerHTML=l.value,e.dataset.highlighted="yes",function(e,t,a){const o=t&&n[t]||a;e.classList.add("hljs"),e.classList.add(`language-${o}`)}(e,a,l.language),e.result={language:l.language,re:l.relevance,relevance:l.relevance},l.secondBest&&(e.secondBest={language:l.secondBest.language,relevance:l.secondBest.relevance}),v("after:highlightElement",{el:e,result:l,text:o})}let f=!1;function m(){if("loading"===document.readyState)return void(f=!0);document.querySelectorAll(i.cssSelector).forEach(h)}function g(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function p(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function b(e){const t=g(e);return t&&!t.disableAutodetect}function v(e,t){const n=e;a.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){f&&m()}),!1),Object.assign(e,{highlight:c,highlightAuto:u,highlightAll:m,highlightElement:h,highlightBlock:function(e){return it("10.7.0","highlightBlock will be removed entirely in v12.0"),it("10.7.0","Please use highlightElement now."),h(e)},configure:function(e){i=gt(i,e)},initHighlighting:()=>{m(),it("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){m(),it("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(n,a){let r=null;try{r=a(e)}catch(i){if(rt("Language definition for '{}' could not be registered.".replace("{}",n)),!o)throw i;rt(i),r=l}r.name||(r.name=n),t[n]=r,r.rawDefinition=a.bind(null,e),r.aliases&&p(r.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:g,registerAliases:p,autoDetection:b,inherit:gt,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),a.push(e)},removePlugin:function(e){const t=a.indexOf(e);-1!==t&&a.splice(t,1)}}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString="11.9.0",e.regex={concat:ke,lookahead:ye,either:_e,optional:we,anyNumberOfTimes:Ee};for(const y in qe)"object"==typeof qe[y]&&ce(qe[y]);return Object.assign(e,qe),e},vt=bt({});vt.newInstance=()=>bt({});var yt=vt;vt.HighlightJS=vt,vt.default=vt;const Et=se(yt);const wt="[A-Za-z$_][0-9A-Za-z$_]*",kt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],_t=["true","false","null","undefined","NaN","Infinity"],xt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ct=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Bt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Tt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],St=[].concat(Bt,xt,Ct);var Nt="[0-9](_*[0-9])*",Ot=`\\.(${Nt})`,At="[0-9a-fA-F](_*[0-9a-fA-F])*",Rt={className:"number",variants:[{begin:`(\\b(${Nt})((${Ot})|\\.)?|(${Ot}))[eE][+-]?(${Nt})[fFdD]?\\b`},{begin:`\\b(${Nt})((${Ot})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ot})[fFdD]?\\b`},{begin:`\\b(${Nt})[fFdD]\\b`},{begin:`\\b0[xX]((${At})\\.?|(${At})?\\.(${At}))[pP][+-]?(${Nt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${At})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Mt(e,t,n){return-1===n?"":e.replace(t,(a=>Mt(e,t,n-1)))}const It="[A-Za-z$_][0-9A-Za-z$_]*",Lt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Dt=["true","false","null","undefined","NaN","Infinity"],$t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ft=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Pt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ht=[].concat(zt,$t,Ft);const Vt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],jt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Wt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Ut=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],qt=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const Kt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Zt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Gt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Xt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Qt=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),Jt=Gt.concat(Xt);const Yt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],en=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],tn=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],nn=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],an=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function on(e){return e?"string"==typeof e?e:e.source:null}function rn(e){return ln("(?=",e,")")}function ln(...e){return e.map((e=>on(e))).join("")}function sn(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>on(e))).join("|")+")"}const cn=e=>ln(/\b/,e,/\w$/.test(e)?/\b/:/\B/),dn=["Protocol","Type"].map(cn),un=["init","self"].map(cn),hn=["Any","Self"],fn=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],mn=["false","nil","true"],gn=["assignment","associativity","higherThan","left","lowerThan","none","right"],pn=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],bn=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],vn=sn(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),yn=sn(vn,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),En=ln(vn,yn,"*"),wn=sn(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),kn=sn(wn,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),_n=ln(wn,kn,"*"),xn=ln(/[A-Z]/,kn,"*"),Cn=["attached","autoclosure",ln(/convention\(/,sn("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",ln(/objc\(/,_n,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Bn=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];var Tn="[0-9](_*[0-9])*",Sn=`\\.(${Tn})`,Nn="[0-9a-fA-F](_*[0-9a-fA-F])*",On={className:"number",variants:[{begin:`(\\b(${Tn})((${Sn})|\\.)?|(${Sn}))[eE][+-]?(${Tn})[fFdD]?\\b`},{begin:`\\b(${Tn})((${Sn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Sn})[fFdD]?\\b`},{begin:`\\b(${Tn})[fFdD]\\b`},{begin:`\\b0[xX]((${Nn})\\.?|(${Nn})?\\.(${Nn}))[pP][+-]?(${Tn})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Nn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};Et.registerLanguage("plaintext",(function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),Et.registerLanguage("json",(function(e){const t=["true","false","null"],n={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),Et.registerLanguage("javascript",(function(e){const t=e.regex,n=wt,a="<>",o="</>",r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let o;">"===a&&(((e,{after:t})=>{const n="</"+e[0].slice(1);return-1!==e.input.indexOf(n,t)})(e,{after:n})||t.ignoreMatch());const r=e.input.substring(n);((o=r.match(/^\s*=/))||(o=r.match(/^\s+extends\s+/))&&0===o.index)&&t.ignoreMatch()}},l={$pattern:wt,keyword:kt,literal:_t,built_in:St,"variable.language":Tt},i="[0-9](_?[0-9])*",s=`\\.(${i})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${i})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},f={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},m={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},g={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},p={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,f,m,g,{match:/\$\d+/},d];u.contains=b.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(b)});const v=[].concat(p,u.contains),y=v.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(v)}]),E={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y},w={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...xt,...Ct]}},_={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},x={match:t.concat(/\b/,(C=[...Bt,"super","import"],t.concat("(?!",C.join("|"),")")),n,t.lookahead(/\(/)),className:"title.function",relevance:0};var C;const B={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},T={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},S="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(S)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:y,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,f,m,g,p,{match:/\$\d+/},d,k,{className:"attr",begin:n+t.lookahead(":"),relevance:0},N,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,e.REGEXP_MODE,{className:"function",begin:S,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a,end:o},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},w,T,{match:/\$[(.]/}]}})),Et.registerLanguage("java",(function(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+Mt("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),o={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},r={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,Rt,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},Rt,r]}})),Et.registerLanguage("typescript",(function(e){const t=function(e){const t=e.regex,n=It,a="<>",o="</>",r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let o;">"===a&&(((e,{after:t})=>{const n="</"+e[0].slice(1);return-1!==e.input.indexOf(n,t)})(e,{after:n})||t.ignoreMatch());const r=e.input.substring(n);((o=r.match(/^\s*=/))||(o=r.match(/^\s+extends\s+/))&&0===o.index)&&t.ignoreMatch()}},l={$pattern:It,keyword:Lt,literal:Dt,built_in:Ht,"variable.language":Pt},i="[0-9](_?[0-9])*",s=`\\.(${i})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${i})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},f={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},m={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},g={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},p={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,f,m,g,{match:/\$\d+/},d];u.contains=b.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(b)});const v=[].concat(p,u.contains),y=v.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(v)}]),E={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y},w={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...$t,...Ft]}},_={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},x={match:t.concat(/\b/,(C=[...zt,"super","import"],t.concat("(?!",C.join("|"),")")),n,t.lookahead(/\(/)),className:"title.function",relevance:0};var C;const B={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},T={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},S="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(S)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:y,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,f,m,g,p,{match:/\$\d+/},d,k,{className:"attr",begin:n+t.lookahead(":"),relevance:0},N,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,e.REGEXP_MODE,{className:"function",begin:S,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:y}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a,end:o},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},w,T,{match:/\$[(.]/}]}}(e),n=It,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[t.exports.CLASS_REFERENCE]},r={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[t.exports.CLASS_REFERENCE]},l={$pattern:It,keyword:Lt.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:Dt,built_in:Ht.concat(a),"variable.language":Pt},i={className:"meta",begin:"@"+n},s=(e,t,n)=>{const a=e.contains.findIndex((e=>e.label===t));if(-1===a)throw new Error("can not find mode to replace");e.contains.splice(a,1,n)};return Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(i),t.contains=t.contains.concat([i,o,r]),s(t,"shebang",e.SHEBANG()),s(t,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t})),Et.registerLanguage("python",(function(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},r={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},i={begin:/\{\{/,relevance:0},s={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r,i,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,i,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,i,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i,l]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,u=`\\b|${a.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${u})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${u})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${u})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${u})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${u})`},{begin:`\\b(${c})[jJ](?=${u})`}]},f={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",r,h,s,e.HASH_COMMENT_MODE]}]};return l.contains=[s,h,r],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[r,h,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},s,f,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,m,s]}]}})),Et.registerLanguage("php",(function(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),o=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),r={scope:"variable",match:"\\$+"+a},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},i=e.inherit(e.APOS_STRING_MODE,{illegal:null}),s="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),i,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},u=["false","null","true"],h=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],f=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={keyword:h,literal:(e=>{const t=[];return e.forEach((e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())})),t})(u),built_in:f},g=e=>e.map((e=>e.replace(/\|\d+$/,""))),p={variants:[{match:[/new/,t.concat(s,"+"),t.concat("(?!",g(f).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},b=t.concat(a,"\\b(?!\\()"),v={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),b],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,t.concat(/::/,t.lookahead(/(?!class\b)/)),b],scope:{1:"title.class",3:"variable.constant"}},{match:[o,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},y={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},E={relevance:0,begin:/\(/,end:/\)/,keywords:m,contains:[y,r,v,e.C_BLOCK_COMMENT_MODE,c,d,p]},w={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",g(h).join("\\b|"),"|",g(f).join("\\b|"),"\\b)"),a,t.concat(s,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[E]};E.contains.push(w);const k=[y,v,e.C_BLOCK_COMMENT_MODE,c,d,p];return{case_insensitive:!1,keywords:m,contains:[{begin:t.concat(/#\[\s*/,o),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]},contains:["self",...k]},...k,{scope:"meta",match:o}]},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,v,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},p,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m,contains:["self",r,v,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]}})),Et.registerLanguage("css",(function(e){const t=e.regex,n=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Wt.join("|")+")"},{begin:":(:)?("+Ut.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+qt.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:jt.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Vt.join("|")+")\\b"}]}})),Et.registerLanguage("less",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=Jt,a="[\\w-]+",o="("+a+"|@\\{"+a+"\\})",r=[],l=[],i=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},s=function(e,t,n){return{className:e,begin:t,relevance:n}},c={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Zt.join(" ")},d={begin:"\\(",end:"\\)",contains:l,keywords:c,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i("'"),i('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,d,s("variable","@@?"+a,10),s("variable","@\\{"+a+"\\}"),s("built_in","~?`[^`]*?`"),{className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const u=l.concat({begin:/\{/,end:/\}/,contains:r}),h={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},f={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qt.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},m={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:l,relevance:0}},g={className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a}],starts:{end:"[;}]",returnEnd:!0,contains:u}},p={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,s("keyword","all\\b"),s("variable","@\\{"+a+"\\}"),{begin:"\\b("+Kt.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,s("selector-tag",o,0),s("selector-id","#"+o),s("selector-class","\\."+o,0),s("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Gt.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Xt.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:u},{begin:"!important"},t.FUNCTION_DISPATCH]},b={begin:a+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[p]};return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,g,b,f,p,h,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}})),Et.registerLanguage("scss",(function(e){const t=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=nn,a=tn,o="@[a-z-]+",r={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Yt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+a.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},r,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+an.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,r,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:o,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:en.join(" ")},contains:[{begin:o,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}})),Et.registerLanguage("html",(function(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=e.inherit(o,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),i=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,i,l,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,r,i,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:s}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Et.registerLanguage("markdown",(function(e){const t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[]}),l=e.inherit(o,{contains:[]});a.contains.push(l),o.contains.push(r);let i=[t,n];return[a,o,r,l].forEach((e=>{e.contains=e.contains.concat(i)})),i=i.concat(a,o),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},t,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a,o,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},n,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),Et.registerLanguage("objectivec",(function(e){const t=/[a-zA-Z@][a-zA-Z0-9_]*/,n={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+n.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}})),Et.registerLanguage("swift",(function(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,n],o={match:[/\./,sn(...dn,...un)],className:{2:"keyword"}},r={match:ln(/\./,sn(...fn)),relevance:0},l=fn.filter((e=>"string"==typeof e)).concat(["_|0"]),i={variants:[{className:"keyword",match:sn(...fn.filter((e=>"string"!=typeof e)).concat(hn).map(cn),...un)}]},s={$pattern:sn(/\b\w+/,/#\w+/),keyword:l.concat(pn),literal:mn},c=[o,r,i],d=[{match:ln(/\./,sn(...bn)),relevance:0},{className:"built_in",match:ln(/\b/,sn(...bn),/(?=\()/)}],u={match:/->/,relevance:0},h=[u,{className:"operator",relevance:0,variants:[{match:En},{match:`\\.(\\.|${yn})+`}]}],f="([0-9]_*)+",m="([0-9a-fA-F]_*)+",g={className:"number",relevance:0,variants:[{match:`\\b(${f})(\\.(${f}))?([eE][+-]?(${f}))?\\b`},{match:`\\b0x(${m})(\\.(${m}))?([pP][+-]?(${f}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},p=(e="")=>({className:"subst",variants:[{match:ln(/\\/,e,/[0\\tnr"']/)},{match:ln(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),b=(e="")=>({className:"subst",match:ln(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(e="")=>({className:"subst",label:"interpol",begin:ln(/\\/,e,/\(/),end:/\)/}),y=(e="")=>({begin:ln(e,/"""/),end:ln(/"""/,e),contains:[p(e),b(e),v(e)]}),E=(e="")=>({begin:ln(e,/"/),end:ln(/"/,e),contains:[p(e),v(e)]}),w={className:"string",variants:[y(),y("#"),y("##"),y("###"),E(),E("#"),E("##"),E("###")]},k=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],_={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:k},x=e=>{const t=ln(e,/\//),n=ln(/\//,e);return{begin:t,end:n,contains:[...k,{scope:"comment",begin:`#(?!.*${n})`,end:/$/}]}},C={scope:"regexp",variants:[x("###"),x("##"),x("#"),_]},B={match:ln(/`/,_n,/`/)},T=[B,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${kn}+`}],S=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Bn,contains:[...h,g,w]}]}},{scope:"keyword",match:ln(/@/,sn(...Cn))},{scope:"meta",match:ln(/@/,_n)}],N={match:rn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:ln(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,kn,"+")},{className:"type",match:xn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:ln(/\s+&\s+/,rn(xn)),relevance:0}]},O={begin:/</,end:/>/,keywords:s,contains:[...a,...c,...S,u,N]};N.contains.push(O);const A={begin:/\(/,end:/\)/,relevance:0,keywords:s,contains:["self",{match:ln(_n,/\s*:/),keywords:"_|0",relevance:0},...a,C,...c,...d,...h,g,w,...T,...S,N]},R={begin:/</,end:/>/,keywords:"repeat each",contains:[...a,N]},M={begin:/\(/,end:/\)/,keywords:s,contains:[{begin:sn(rn(ln(_n,/\s*:/)),rn(ln(_n,/\s+/,_n,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:_n}]},...a,...c,...h,g,w,...S,N,A],endsParent:!0,illegal:/["']/},I={match:[/(func|macro)/,/\s+/,sn(B.match,_n,En)],className:{1:"keyword",3:"title.function"},contains:[R,M,t],illegal:[/\[/,/%/]},L={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[R,M,t],illegal:/\[|%/},D={match:[/operator/,/\s+/,En],className:{1:"keyword",3:"title"}},$={begin:[/precedencegroup/,/\s+/,xn],className:{1:"keyword",3:"title"},contains:[N],keywords:[...gn,...mn],end:/}/};for(const F of w.variants){const e=F.contains.find((e=>"interpol"===e.label));e.keywords=s;const t=[...c,...d,...h,g,w,...T];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:s,contains:[...a,I,L,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:s,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c]},D,$,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},C,...c,...d,...h,g,w,...T,...S,N,A]}})),Et.registerLanguage("dart",(function(e){const t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},n={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"},a={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]}]};n.contains=[e.C_NUMBER_MODE,a];const o=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=o.map((e=>`${e}?`));return{name:"Dart",keywords:{keyword:["abstract","as","assert","async","await","base","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","interface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","sealed","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","when","while","with","yield"],built_in:o.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/},contains:[a,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}})),Et.registerLanguage("nginx",(function(e){const t=e.regex,n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},a={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:a.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}\\{]"}})),Et.registerLanguage("go",(function(e){const t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,illegal:/["']/}]}]}})),Et.registerLanguage("http",(function(e){const t="HTTP/([32]|1\\.[01])",n={className:"attribute",begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},a=[n,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+t+" \\d{3})",end:/$/,contains:[{className:"meta",begin:t},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},{begin:"(?=^[A-Z]+ (.*?) "+t+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:t},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},e.inherit(n,{relevance:0})]}})),Et.registerLanguage("ruby",(function(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=t.concat(a,/(::\w+)*/),r={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},l={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},s=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u="[0-9](_?[0-9])*",h={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},f={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:r}]},m=[d,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:r},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[f]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:n}],relevance:0},h,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,s),relevance:0}].concat(i,s);c.contains=m,f.contains=m;const g=[{begin:/^\s*=>/,starts:{end:"$",contains:m}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:r,contains:m}}];return s.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(g).concat(s).concat(m)}})),Et.registerLanguage("c",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",r="("+a+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},u=t.optional(o)+e.IDENT_RE+"\\s*\\(",h={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},f=[c,l,n,e.C_BLOCK_COMMENT_MODE,s,i],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:h,contains:f.concat([{begin:/\(/,end:/\)/,keywords:h,contains:f.concat(["self"]),relevance:0}]),relevance:0},g={begin:"("+r+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,i,s,l,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,i,s,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:h,disableAutodetect:!0,illegal:"</",contains:[].concat(m,g,f,[c,{begin:e.IDENT_RE+"::",keywords:h},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:i,keywords:h}}})),Et.registerLanguage("cpp",(function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},u=t.optional(o)+e.IDENT_RE+"\\s*\\(",h={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},f={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},m=[f,c,l,n,e.C_BLOCK_COMMENT_MODE,s,i],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:h,contains:m.concat([{begin:/\(/,end:/\)/,keywords:h,contains:m.concat(["self"]),relevance:0}]),relevance:0},p={className:"function",begin:"("+r+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[i,s]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,i,s,l,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,i,s,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:h,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(g,p,f,m,[c,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:h,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:h},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),Et.registerLanguage("csharp",(function(e){const t={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},r=e.inherit(o,{illegal:/\n/}),l={className:"subst",begin:/\{/,end:/\}/,keywords:t},i=e.inherit(l,{illegal:/\n/}),s={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,i]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]},d=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},i]});l.contains=[c,s,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],i.contains=[d,s,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const u={variants:[c,s,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},f=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},u,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+f+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,h],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[u,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}})),Et.registerLanguage("sql",(function(e){const t=e.regex,n=e.COMMENT("--","$"),a=["true","false","unknown"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],l=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],i=r,s=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={begin:t.concat(/\b/,t.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:t,when:n}={}){const a=n;return t=t||[],e.map((e=>e.match(/\|\d+$/)||t.includes(e)?e:a(e)?`${e}|0`:e))}(s,{when:e=>e.length<3}),literal:a,type:o,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:t.either(...l),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:s.concat(l),literal:a,type:o}},{className:"type",begin:t.either("double precision","large object","with timezone","without timezone")},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),Et.registerLanguage("shell",(function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),Et.registerLanguage("r",(function(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),Et.registerLanguage("kotlin",(function(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,a]}]};a.contains.push(r);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},i={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}]},s=On,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},u=d;return u.variants[1].contains=[d],d.variants[1].contains=[u],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,l,i,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,l,i,r,e.C_NUMBER_MODE]},c]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,i]},r,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},s]}})),Et.registerLanguage("rust",(function(e){const t=e.regex,n={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e.IDENT_RE,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{begin:"\\b0x([A-Fa-f0-9_]+)"+a},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+a}],relevance:0},{begin:[/fn/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,e.UNDERSCORE_IDENT_RE,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:o,type:r}},{className:"punctuation",begin:"->"},n]}})),Et.configure({cssSelector:"pre",classPrefix:"editify-hljs-",ignoreUnescapedHTML:!0});const An=[{label:"Plain Text",value:"plaintext"},{label:"JSON",value:"json"},{label:"JavaScript",value:"javascript"},{label:"Java",value:"java"},{label:"TypeScript",value:"typescript"},{label:"Python",value:"python"},{label:"PHP",value:"php"},{label:"CSS",value:"css"},{label:"Less",value:"less"},{label:"Scss",value:"scss"},{label:"HTML",value:"html"},{label:"Markdown",value:"markdown"},{label:"Objective-C",value:"objectivec"},{label:"Swift",value:"swift"},{label:"Dart",value:"dart"},{label:"Nginx",value:"nginx"},{label:"HTTP",value:"http"},{label:"Go",value:"go"},{label:"Ruby",value:"ruby"},{label:"C",value:"c"},{label:"C++",value:"cpp"},{label:"C#",value:"csharp"},{label:"SQL",value:"sql"},{label:"Shell",value:"shell"},{label:"R",value:"r"},{label:"Kotlin",value:"kotlin"},{label:"Rust",value:"rust"}],Rn={"data-editify-list":["div"],"data-editify-value":["div"],"data-editify-code":["span"],"data-editify-task":["div"],contenteditable:"*",src:["img","video"],autoplay:["video"],loop:["video"],muted:["video"],href:["a"],target:["a"],alt:["img"],controls:["video"],name:"*",disabled:"*",colspan:["td"]},Mn={"text-indent":"*","text-align":"*"},In=function(e,t){if(!ne.isObject(e)&&ne.isObject(t))return null;for(let n in t)ne.isObject(t[n])&&!Array.isArray(t[n])&&ne.isObject(e[n])&&!Array.isArray(e[n])?e[n]=In(e[n],t[n]):e[n]=t[n];return e},Ln=function(e,t,n){if(null==n||null==n)return e.hasOwnProperty(t);let a=e[t];if(null==a||null==a)return!1;if("string"==typeof n&&(n=n.toLocaleLowerCase()),"string"==typeof a&&(a=a.toLocaleLowerCase()),"string"==typeof n&&n&&(ne.matchingText(n,"rgb")||ne.matchingText(n,"rgba"))&&(n=J.trim(n,!0)),"string"==typeof a&&a&&(ne.matchingText(a,"rgb")||ne.matchingText(a,"rgba"))&&(a=J.trim(a,!0)),"string"==typeof n&&n&&ne.matchingText(n,"hex")){const e=le.hex2rgb(n);n=`rgb(${e[0]},${e[1]},${e[2]})`}if("string"==typeof a&&a&&ne.matchingText(a,"hex")){const e=le.hex2rgb(a);a=`rgb(${e[0]},${e[1]},${e[2]})`}return a==n},Dn=function(e){return ne.isObject(e)||Array.isArray(e)?JSON.parse(JSON.stringify(e)):e},$n=function(e){return{heading:[{label:e("text"),value:"p"},{label:e("h1"),value:"h1",style:{fontSize:"26px",fontWeight:"bold"}},{label:e("h2"),value:"h2",style:{fontSize:"24px",fontWeight:"bold"}},{label:e("h3"),value:"h3",style:{fontSize:"22px",fontWeight:"bold"}},{label:e("h4"),value:"h4",style:{fontSize:"20px",fontWeight:"bold"}},{label:e("h5"),value:"h5",style:{fontSize:"18px",fontWeight:"bold"}},{label:e("h6"),value:"h6",style:{fontSize:"16px",fontWeight:"bold"}}],indent:[{label:e("indentIncrease"),value:"indent-increase",icon:"indent-increase"},{label:e("indentDecrease"),value:"indent-decrease",icon:"indent-decrease"}],align:[{label:e("alignLeft"),value:"left",icon:"align-left"},{label:e("alignRight"),value:"right",icon:"align-right"},{label:e("alignCenter"),value:"center",icon:"align-center"},{label:e("alignJustify"),value:"justify",icon:"align-justify"}],fontSize:[{label:e("defaultSize"),value:""},{label:"12px",value:"12px"},{label:"14px",value:"14px"},{label:"16px",value:"16px"},{label:"18px",value:"18px"},{label:"20px",value:"20px"},{label:"24px",value:"24px"},{label:"28px",value:"28px"},{label:"32px",value:"32px"},{label:"36px",value:"36px"},{label:"40px",value:"40px"}],fontFamily:[{label:e("defaultFontFamily"),value:""},{label:"黑体",value:"黑体,黑体-简"},{label:"华文仿宋",value:"华文仿宋"},{label:"楷体",value:"楷体,楷体-简"},{label:"华文楷体",value:"华文楷体"},{label:"宋体",value:"宋体,宋体-简"},{label:"Arial",value:"Arial"},{label:"Consolas",value:"Consolas,monospace"}],lineHeight:[{label:e("defaultLineHeight"),value:""},1,1.15,1.5,2,2.5,3],foreColor:["#000000","#505050","#808080","#BBBBBB","#CCCCCC","#EEEEEE","#F7F7F7","#FFFFFF","#EC1A0A","#FF9900","#FFFF00","#07C160","#00FFFF","#0B73DE","#9C00FF","#FF00FF","#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE","#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD","#e45649","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5","#CE0000","#E79439","#EFC631","#50a14f","#4A7B8C","#03A8F3","#634AA5","#A54A7B","#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842","#630000","#7B3900","#986801","#295218","#083139","#003163","#21104A","#4A1031"],backColor:["#000000","#505050","#808080","#BBBBBB","#CCCCCC","#EEEEEE","#F7F7F7","#FFFFFF","#EC1A0A","#FF9900","#FFFF00","#07C160","#00FFFF","#0B73DE","#9C00FF","#FF00FF","#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE","#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD","#e45649","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5","#CE0000","#E79439","#EFC631","#50a14f","#4A7B8C","#03A8F3","#634AA5","#A54A7B","#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842","#630000","#7B3900","#986801","#295218","#083139","#003163","#21104A","#4A1031"]}},Fn=(e,t)=>e.isBlock()?e.parsedom==t?e:null:e.isText()||e.parsedom!=t?Fn(e.parent,t):e,zn=(e,t,n)=>{if(!e.range)return null;if(e.range.anchor.element.isEqual(e.range.focus.element))return Fn(e.range.anchor.element,n);const a=t.list.map((e=>Fn(e.element,n)));if(a.some((e=>null==e)))return null;if(1==a.length)return a[0];let o=!0;for(let r=1;r<a.length;r++)if(!a[r].isEqual(a[0])){o=!1;break}return o?a[0]:null},Pn=(e,t)=>!!Vn(e,t)||!!e.parent&&Pn(e.parent,t),Hn=e=>!!jn(e)||!!e.parent&&Hn(e.parent),Vn=function(e,t=!1){return!e.isEmpty()&&("div"==e.parsedom&&e.hasMarks()&&e.marks["data-editify-list"]==(t?"ol":"ul"))},jn=function(e){return!e.isEmpty()&&("div"==e.parsedom&&e.hasMarks()&&e.marks.hasOwnProperty("data-editify-task"))},Wn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"pre"):t.flatList.some((e=>!!Fn(e.element,"pre")))),Un=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"blockquote"):t.flatList.some((e=>!!Fn(e.element,"blockquote")))),qn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"blockquote"):t.list.every((e=>!!Fn(e.element,"blockquote")))),Kn=(e,t,n=!1)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Pn(e.range.anchor.element,n):t.list.every((e=>Pn(e.element,n)))),Zn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Hn(e.range.anchor.element):t.list.every((e=>Hn(e.element)))),Gn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"a"):t.flatList.some((e=>!!Fn(e.element,"a")))),Xn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"table"):t.flatList.some((e=>!!Fn(e.element,"table")))),Qn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"img"):t.flatList.some((e=>!!Fn(e.element,"img")))),Jn=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"video"):t.flatList.some((e=>!!Fn(e.element,"video")))),Yn=(e,t,n,a)=>{if(!e.range)return!1;if(e.range.anchor.isEqual(e.range.focus))return!(!e.range.anchor.element.isText()||!e.range.anchor.element.hasStyles())&&Ln(e.range.anchor.element.styles,n,a);let o=t.flatList.filter((e=>e.element.isText()));return 0!=o.length&&o.every((e=>!!e.element.hasStyles()&&Ln(e.element.styles,n,a)))},ea=(e,t,n,a)=>{if(!e.range)return!1;if(e.range.anchor.isEqual(e.range.focus))return!(!e.range.anchor.element.isText()||!e.range.anchor.element.hasMarks())&&Ln(e.range.anchor.element.marks,n,a);let o=t.flatList.filter((e=>e.element.isText()));return 0!=o.length&&o.every((e=>!!e.element.hasMarks()&&Ln(e.element.marks,n,a)))},ta=e=>{let t="";return e.flatList.forEach((e=>{e.element.isText()&&(e.offset?t+=e.element.textContent.substring(e.offset[0],e.offset[1]):t+=e.element.textContent||"")})),t},na=(e,t)=>{if(!e.range)return[];let n=t.flatList.length,a=[];for(let o=0;o<n;o++){const r=t.flatList[o];if(r.offset){let t=null;if(0==r.offset[0]&&r.offset[1]<r.element.textContent.length){const n=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[1]),n.textContent=n.textContent.substring(r.offset[1]),e.addElementAfter(n,r.element),t=r.element}else if(r.offset[1]==r.element.textContent.length&&r.offset[0]>0){const n=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[0]),n.textContent=n.textContent.substring(r.offset[0]),e.addElementAfter(n,r.element),t=n}else if(r.offset[0]>0&&r.offset[1]<r.element.textContent.length){const n=r.element.clone(),a=r.element.clone();r.element.textContent=r.element.textContent.substring(0,r.offset[0]),n.textContent=n.textContent.substring(r.offset[0],r.offset[1]),a.textContent=a.textContent.substring(r.offset[1]),e.addElementAfter(n,r.element),e.addElementAfter(a,n),t=n}t&&(0==o&&e.range.anchor.moveToStart(t),o==n-1&&e.range.focus.moveToEnd(t),a.push(t))}else a.push(r.element)}return a},aa=function(e){e.marks=null,e.styles=null,e.parsedom=y.BLOCK_NODE},oa=function(e,t=!1){Vn(e,t)||(aa(e),e.parsedom="div",e.hasMarks()||(e.marks={}),e.marks["data-editify-list"]=t?"ol":"ul")},ra=function(e){jn(e)||(aa(e),e.parsedom="div",e.hasMarks()||(e.marks={}),e.marks["data-editify-task"]="uncheck")},la=(e,t,n,a)=>{if(!e.range)return;if(!$n(n).heading.map((e=>e.value)).includes(a))throw new Error("The parameter supports only h1-h6 and p");if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),t.parsedom=a}else t.list.forEach((e=>{if(e.element.isBlock())aa(e.element),e.element.parsedom=a;else{const t=e.element.getBlock();aa(t),t.parsedom=a}}))},ia=(e,t)=>{if(!e.range)return;const n=e=>{if(e.hasStyles())if(e.styles.hasOwnProperty("text-indent")){let t=e.styles["text-indent"];t=t.endsWith("em")?parseFloat(t):0,e.styles["text-indent"]=`${t+2}em`}else e.styles["text-indent"]="2em";else e.styles={"text-indent":"2em"}};if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}else t.list.forEach((e=>{const t=e.element.getBlock(),a=e.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}))},sa=(e,t)=>{if(!e.range)return;const n=e=>{if(e.hasStyles()&&e.styles.hasOwnProperty("text-indent")){let t=e.styles["text-indent"];t=t.endsWith("em")?parseFloat(t):0,e.styles["text-indent"]=(t-2>=0?t-2:0)+"em"}};if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}else t.list.forEach((e=>{const t=e.element.getBlock(),a=e.element.getInblock();a&&"block"==a.behavior&&!a.isPreStyle()?n(a):t.isPreStyle()||n(t)}))},ca=(e,t)=>{if(!e.range)return;const n=qn(e,t);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),n||(t.parsedom="blockquote")}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{aa(e),n||(e.parsedom="blockquote")}))}},da=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a?a.hasStyles()?a.styles["text-align"]=n:a.styles={"text-align":n}:t.hasStyles()?t.styles["text-align"]=n:t.styles={"text-align":n}}else t.list.forEach((e=>{if(e.element.isBlock()||e.element.isInblock())e.element.hasStyles()?e.element.styles["text-align"]=n:e.element.styles={"text-align":n};else{const t=e.element.getBlock(),a=e.element.getInblock();a?a.hasStyles()?a.styles["text-align"]=n:a.styles={"text-align":n}:t.hasStyles()?t.styles["text-align"]=n:t.styles={"text-align":n}}}))},ua=(e,t,n)=>{if(!e.range)return;const a=Kn(e,t,n);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();a?aa(t):oa(t,n)}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{a?aa(e):oa(e,n)}))}},ha=(e,t)=>{if(!e.range)return;const n=Zn(e,t);if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();n?aa(t):ra(t)}else{let e=[];t.list.forEach((t=>{const n=t.element.getBlock();e.some((e=>n.isEqual(e)))||e.push(n)})),e.forEach((e=>{n?aa(e):ra(e)}))}},fa=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus))if(e.range.anchor.element.isSpaceText())e.range.anchor.element.hasStyles()?Object.assign(e.range.anchor.element.styles,Dn(n)):e.range.anchor.element.styles=Dn(n);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),t.hasStyles()?Object.assign(t.styles,Dn(n)):t.styles=Dn(n),e.insertElement(t)}else{const t=y.getSpaceElement();t.styles=Dn(n),e.insertElement(t)}else{na(e,t).forEach((e=>{e.isText()&&(e.hasStyles()?Object.assign(e.styles,Dn(n)):e.styles=Dn(n))}))}},ma=(e,t,n)=>{if(e.range){if(!ne.isObject(n))throw new Error("The argument must be an object");if(e.range.anchor.isEqual(e.range.focus))if(e.range.anchor.element.isSpaceText())e.range.anchor.element.hasMarks()?Object.assign(e.range.anchor.element.marks,Dn(n)):e.range.anchor.element.marks=Dn(n);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),t.hasMarks()?Object.assign(t.marks,Dn(n)):t.marks=Dn(n),e.insertElement(t)}else{const t=y.getSpaceElement();t.marks=Dn(n),e.insertElement(t)}else{na(e,t).forEach((e=>{e.isText()&&(e.hasMarks()?Object.assign(e.marks,Dn(n)):e.marks=Dn(n))}))}}},ga=(e,t,n)=>{if(!e.range)return;const a=e=>{if(Array.isArray(n)){if(e.hasStyles()){let t={};Object.keys(e.styles).forEach((a=>{n.includes(a)||(t[a]=e.styles[a])})),e.styles=t}}else e.styles=null};if(e.range.anchor.isEqual(e.range.focus)){if(e.range.anchor.element.isSpaceText())a(e.range.anchor.element);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),a(t),e.insertElement(t)}}else{na(e,t).forEach((e=>{e.isText()&&a(e)}))}},pa=(e,t,n)=>{if(!e.range)return;const a=e=>{if(Array.isArray(n)){if(e.hasMarks()){let t={};Object.keys(e.marks).forEach((a=>{n.includes(a)||(t[a]=e.marks[a])})),e.marks=t}}else e.marks=null};if(e.range.anchor.isEqual(e.range.focus)){if(e.range.anchor.element.isSpaceText())a(e.range.anchor.element);else if(e.range.anchor.element.isText()){const t=y.getSpaceElement();t.styles=Dn(e.range.anchor.element.styles),t.marks=Dn(e.range.anchor.element.marks),a(t),e.insertElement(t)}}else{na(e,t).forEach((e=>{e.isText()&&a(e)}))}},ba=(e,t,n)=>{if(e.range)if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock(),a=e.range.anchor.element.getInblock();a?a.hasStyles()?a.styles["line-height"]=n:a.styles={"line-height":n}:t.hasStyles()?t.styles["line-height"]=n:t.styles={"line-height":n}}else t.list.forEach((e=>{if(e.element.isBlock()||e.element.isInblock())e.element.hasStyles()?e.element.styles["line-height"]=n:e.element.styles={"line-height":n};else{const t=e.element.getBlock(),a=e.element.getInblock();a?a.hasStyles()?a.styles["line-height"]=n:a.styles={"line-height":n}:t.hasStyles()?t.styles["line-height"]=n:t.styles={"line-height":n}}}))},va=(e,t,n,a)=>{if(!e.range)return;t||(t=n);const o={href:n};a&&(o.target="_blank");const r=new y("inline","a",o,null,null),l=new y("text",null,null,null,t);e.addElementTo(l,r),e.insertElement(r)},ya=(e,t)=>{if(!e.range)return;const n=new y("closed","img",{src:t},null,null);e.insertElement(n)},Ea=(e,t)=>{if(!e.range)return;const n=new y("closed","video",{src:t},null,null);e.insertElement(n);const a=y.getSpaceElement(),o=y.getSpaceElement();e.addElementAfter(o,n),e.addElementBefore(a,n),e.range.anchor.moveToEnd(o),e.range.focus.moveToEnd(o)},wa=(e,t,n)=>{if(!e.range)return;const a=new y("block","table",null,null,null),o=new y("inblock","tbody",null,null,null);e.addElementTo(o,a);for(let i=0;i<t;i++){const t=new y("inblock","tr",null,null,null);for(let a=0;a<n;a++){const n=new y("inblock","td",null,null,null),a=new y("closed","br",null,null,null);e.addElementTo(a,n),e.addElementTo(n,t)}e.addElementTo(t,o)}e.insertElement(a);const r=new y("block",y.BLOCK_NODE,null,null,null),l=new y("closed","br",null,null,null);e.addElementTo(l,r),e.addElementAfter(r,a),e.range.anchor.moveToStart(o),e.range.focus.moveToStart(o)},ka=(e,t)=>{if(!e.range)return;const n=zn(e,t,"pre");if(n){let t="";y.flatElements(n.children).filter((e=>e.isText())).forEach((e=>{t+=e.textContent}));t.split("\n").forEach((t=>{const a=new y("block",y.BLOCK_NODE,null,null,null),o=new y("text",null,null,null,t);e.addElementTo(o,a),e.addElementBefore(a,n)})),n.toEmpty()}else if(e.range.anchor.isEqual(e.range.focus)){const t=e.range.anchor.element.getBlock();aa(t),t.parsedom="pre";const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);e.addElementTo(a,n),e.addElementAfter(n,t)}else{e.range.anchor.moveToStart(t.list[0].element.getBlock()),e.range.focus.moveToEnd(t.list[t.list.length-1].element.getBlock());const n=t.flatList.filter((e=>e.element.isText())),a={};n.forEach((e=>{a[e.element.getBlock().key]?a[e.element.getBlock().key].push(e.element.clone()):a[e.element.getBlock().key]=[e.element.clone()]}));const o=new y("block","pre",null,null,null);Object.keys(a).forEach(((t,n)=>{if(n>0){const t=new y("text",null,null,null,"\n");o.hasChildren()?e.addElementTo(t,o,o.children.length):e.addElementTo(t,o)}a[t].forEach((t=>{o.hasChildren()?e.addElementTo(t,o,o.children.length):e.addElementTo(t,o)}))})),e.delete(),e.insertElement(o);const r=new y("block",y.BLOCK_NODE,null,null,null),l=new y("closed","br",null,null,null);e.addElementTo(l,r),e.addElementAfter(r,o)}},_a=function(e,t){if("table"==t.parsedom){const n={"data-editify-element":t.key};t.hasMarks()?Object.assign(t.marks,n):t.marks=n;const a={"white-space":"pre-wrap","word-break":"break-word"};t.hasStyles()?Object.assign(t.styles,a):t.styles=a;const o=y.flatElements(t.children),r=o.filter((e=>"tr"==e.parsedom));let l=o.find((e=>"colgroup"==e.parsedom));if(l)l.children.forEach((e=>{e.hasMarks()?e.marks.width||(e.marks.width="auto"):e.marks={width:"auto"}}));else{l=new y("inblock","colgroup",null,null,null);for(let t=function(e){const t=e.children||[];let n=0;return t.forEach((e=>{if(e.hasMarks()&&e.marks.hasOwnProperty("colspan")){const t=Number(e.marks.colspan);isNaN(t)||(n+=t)}else n+=1})),n}(r[0])-1;t>=0;t--){const t=new y("closed","col",{width:"auto"},null,null);e.addElementTo(t,l)}}t.children=[];const i=new y("inblock","tbody",null,null,null);r.reverse().forEach((t=>{e.addElementTo(t,i)})),e.addElementTo(i,t),e.addElementTo(l,t)}"th"==t.parsedom&&(t.parsedom="td")},xa=function(e,t,n,a){if("pre"==t.parsedom){const o={"data-editify-element":t.key};if(t.hasMarks()?Object.assign(t.marks,o):t.marks=o,n&&t.hasChildren()){let n=t.marks["data-editify-hljs"]||"";if(n&&a){a.some((e=>ne.isObject(e)?e.value==n:e==n))||(n="")}const o=y.flatElements(t.children).filter((e=>e.isText()&&!e.isEmpty())),r=function(e,t){return t?Et.highlight(e,{language:t,ignoreIllegals:!0}).value:Et.highlightAuto(e).value}(o.reduce(((e,t)=>e+t.textContent),""),n);if(r){const n=e.parseHtml(r);t.children=n,n.forEach((e=>{e.parent=t})),((e,t,n,a)=>{if(e.range){if(e.range.anchor.element.getBlock().isEqual(t)){const t=n.findIndex((t=>e.range.anchor.element.isEqual(t))),o=n.filter(((e,n)=>n<t)).reduce(((e,t)=>e+t.textContent.length),0)+e.range.anchor.offset,r=y.flatElements(a).filter((e=>e.isText()&&!e.isEmpty()));let l=0,i=0;for(;l<r.length;){let t=i+r[l].textContent.length;if(o>=i&&o<=t){e.range.anchor.element=r[l],e.range.anchor.offset=o-i;break}l++,i=t}}if(e.range.focus.element.getBlock().isEqual(t)){const t=n.findIndex((t=>e.range.focus.element.isEqual(t))),o=n.filter(((e,n)=>n<t)).reduce(((e,t)=>e+t.textContent.length),0)+e.range.focus.offset,r=y.flatElements(a).filter((e=>e.isText()&&!e.isEmpty()));let l=0,i=0;for(;l<r.length;){let t=i+r[l].textContent.length;if(o>=i&&o<=t){e.range.focus.element=r[l],e.range.focus.offset=o-i;break}l++,i=t}}}})(e,t,o,n)}}}},Ca={placement:{type:String,default:"top",validator:e=>["top","left","right","bottom"].includes(e)},color:{type:String,default:null},background:{type:String,default:null}},Ba=["data-editify-placement"],Ta=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n},Sa=Ta(t.defineComponent({name:"Triangle",__name:"triangle",props:Ca,setup(e){const n=e,a=t.computed((()=>"top"==n.placement?{borderBottomColor:n.color||""}:"bottom"==n.placement?{borderTopColor:n.color||""}:"left"==n.placement?{borderRightColor:n.color||""}:"right"==n.placement?{borderLeftColor:n.color||""}:{})),o=t.computed((()=>"top"==n.placement?{borderBottomColor:n.background||""}:"bottom"==n.placement?{borderTopColor:n.background||""}:"left"==n.placement?{borderRightColor:n.background||""}:"right"==n.placement?{borderLeftColor:n.background||""}:{}));return(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:"editify-triangle",style:t.normalizeStyle(a.value),"data-editify-placement":e.placement},[t.createElementVNode("div",{class:"editify-triangle-el",style:t.normalizeStyle(o.value)},null,4)],12,Ba))}}),[["__scopeId","data-v-e1abc967"]]),Na={modelValue:{type:Boolean,default:!1},node:{type:[String,HTMLElement],default:null},border:{type:Boolean,default:!1},borderColor:{type:String,default:null},background:{type:String,default:null},color:{type:String,default:null},placement:{type:String,default:"bottom",validator:e=>["top","bottom","top-start","top-end","bottom-start","bottom-end"].includes(e)},showTriangle:{type:Boolean,default:!1},zIndex:{type:Number,default:10},animation:{type:String,default:null,validator:e=>["translate","fade",null].includes(e)},useRange:{type:Boolean,default:!1}},Oa=["data-editify-placement"],Aa=Ta(t.defineComponent({name:"Layer",__name:"layer",props:Na,emits:["update:modelValue","show","shown","hidden"],setup(e,{expose:n,emit:a}){const o=t.getCurrentInstance(),r=e,l=a,i=t.ref(null),s=t.ref(null),c=t.ref(null),d=t.ref(null),u=t.computed((()=>"bottom-start"==i.value||"bottom"==i.value||"bottom-end"==i.value?"top":"top-start"==i.value||"top"==i.value||"top-end"==i.value?"bottom":"left-start"==i.value||"left"==i.value||"left-end"==i.value?"right":"right-start"==i.value||"right"==i.value||"right-end"==i.value?"left":"top")),h=t.computed((()=>({borderColor:r.border&&r.borderColor||"",background:r.background||"",color:r.color||""}))),f=()=>r.node?Y.isElement(r.node)?r.node:document.body.querySelector(r.node):null,m=()=>{i.value=null;const e=window.getSelection();if(e&&e.rangeCount){const n=e.getRangeAt(0).getClientRects();if(n.length){const e=n[0],a=n[n.length-1],o=Y.getElementBounding(c.value.offsetParent),l=document.documentElement.clientHeight||window.innerHeight,u=document.documentElement.clientWidth||window.innerWidth;"top"==r.placement||"top-start"==r.placement||"top-end"==r.placement?e.top>=0&&e.top>=o.top&&e.top>=c.value.offsetHeight?i.value=r.placement:l-a.bottom>=0&&l-a.bottom>=o.bottom&&l-a.bottom>=c.value.offsetHeight&&(i.value="top"==r.placement?"bottom":"top-start"==r.placement?"bottom-start":"bottom-end"):"bottom"!=r.placement&&"bottom-start"!=r.placement&&"bottom-end"!=r.placement||(l-a.bottom>=0&&l-a.bottom>=o.bottom&&l-a.bottom>=c.value.offsetHeight?i.value=r.placement:e.top>=0&&e.top>=o.top&&e.top>=c.value.offsetHeight&&(i.value="bottom"==r.placement?"top":"bottom-start"==r.placement?"top-start":"top-end")),"top"==i.value?u-e.right+e.width/2<c.value.offsetWidth/2?i.value="top-end":e.left+e.width/2<c.value.offsetWidth/2&&(i.value="top-start"):"bottom"==i.value?u-a.right+a.width/2<c.value.offsetWidth/2?i.value="bottom-end":a.left+a.width/2<c.value.offsetWidth/2&&(i.value="bottom-start"):"top-start"==i.value?u-e.right+e.width<c.value.offsetWidth&&(u-e.right+e.width/2>=c.value.offsetWidth/2?i.value="top":i.value="top-end"):"bottom-start"==i.value?u-a.right+a.width<c.value.offsetWidth&&(u-a.right+a.width/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-end"):"top-end"==i.value?e.left+e.width<c.value.offsetWidth&&(e.left+e.width/2>=c.value.offsetWidth/2?i.value="top":i.value="top-start"):"bottom-end"==i.value&&a.left+a.width<c.value.offsetWidth&&(a.left+a.width/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-start"),t.nextTick((()=>{"top"==i.value?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-start"==i.value?(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-end"==i.value?(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px",c.value.style.top=e.top-o.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"bottom"==i.value?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):"bottom-start"==i.value?(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):"bottom-end"==i.value?(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px",c.value.style.top="auto",c.value.style.bottom=l-a.bottom-o.bottom-c.value.offsetHeight+"px"):(c.value.style.top="auto",c.value.style.bottom=(o.bottom<0?-o.bottom:0)+"px","top"==r.placement?u-e.right+e.width/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):e.left+e.width/2<c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"bottom"==r.placement?u-a.right+a.width/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"):a.left+a.width/2<c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"top-start"==r.placement?u-e.right+e.width<c.value.offsetWidth?u-e.right+e.width/2>=c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):"bottom-start"==r.placement?u-a.right+a.width<c.value.offsetWidth?u-a.right+a.width/2>=c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"):(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):"top-end"==r.placement?e.left+e.width<c.value.offsetWidth?e.left+e.width/2>=c.value.offsetWidth/2?(c.value.style.left=e.left-o.left+e.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=e.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-e.right-o.right+"px"):"bottom-end"==r.placement&&(a.left+a.width<c.value.offsetWidth?a.left+a.width/2>=c.value.offsetWidth/2?(c.value.style.left=a.left-o.left+a.width/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=a.left-o.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=u-a.right-o.right+"px"))),r.showTriangle&&(()=>{const e=window.getSelection();if(e&&e.rangeCount){const t=e.getRangeAt(0).getClientRects();if(t.length){const e=t[0],n=t[t.length-1];"top"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.width?e.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.width?e.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"bottom"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>n.width?n.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>n.width?n.width:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=1-d.value.$el.offsetHeight+"px",d.value.$el.style.bottom="auto")}}})()}))}}},g=()=>{const e=f();if(!Y.isElement(e))return;i.value=null;const n=Y.getElementBounding(e),a=Y.getElementBounding(c.value.offsetParent);"top"==r.placement||"top-start"==r.placement||"top-end"==r.placement?n.top>=0&&n.top>=a.top&&n.top>=c.value.offsetHeight?i.value=r.placement:n.bottom>=0&&n.bottom>=a.bottom&&n.bottom>=c.value.offsetHeight&&(i.value="top"==r.placement?"bottom":"top-start"==r.placement?"bottom-start":"bottom-end"):"bottom"!=r.placement&&"bottom-start"!=r.placement&&"bottom-end"!=r.placement||(n.bottom>=0&&n.bottom>=a.bottom&&n.bottom>=c.value.offsetHeight?i.value=r.placement:n.top>=0&&n.top>=a.top&&n.top>=c.value.offsetHeight&&(i.value="bottom"==r.placement?"top":"bottom-start"==r.placement?"top-start":"top-end")),"top"==i.value?n.right+e.offsetWidth/2<c.value.offsetWidth/2?i.value="top-end":n.left+e.offsetWidth/2<c.value.offsetWidth/2&&(i.value="top-start"):"top-start"==i.value?n.right+e.offsetWidth<c.value.offsetWidth&&(n.right+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="top":i.value="top-end"):"top-end"==i.value?n.left+e.offsetWidth<c.value.offsetWidth&&(n.left+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="top":i.value="top-start"):"bottom"==i.value?n.right+e.offsetWidth/2<c.value.offsetWidth/2?i.value="bottom-end":n.left+e.offsetWidth/2<c.value.offsetWidth/2&&(i.value="bottom-start"):"bottom-start"==i.value?n.right+e.offsetWidth<c.value.offsetWidth&&(n.right+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-end"):"bottom-end"==i.value&&n.left+e.offsetWidth<c.value.offsetWidth&&(n.left+e.offsetWidth/2>=c.value.offsetWidth/2?i.value="bottom":i.value="bottom-start"),t.nextTick((()=>{"top"==i.value?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-start"==i.value?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"top-end"==i.value?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px",c.value.style.top=n.top-a.top-c.value.offsetHeight+"px",c.value.style.bottom="auto"):"bottom"==i.value?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):"bottom-start"==i.value?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):"bottom-end"==i.value?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px",c.value.style.top="auto",c.value.style.bottom=n.bottom-a.bottom-c.value.offsetHeight+"px"):(c.value.style.top="auto",c.value.style.bottom=(a.bottom<0?-a.bottom:0)+"px","top"==r.placement||"bottom"==r.placement?n.right+e.offsetWidth/2<c.value.offsetWidth/2?(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"):n.left+e.offsetWidth/2<c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):"top-start"==r.placement||"bottom-start"==r.placement?n.right+e.offsetWidth<c.value.offsetWidth?n.right+e.offsetWidth/2>=c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"):(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):"top-end"!=r.placement&&"bottom-end"!=r.placement||(n.left+e.offsetWidth<c.value.offsetWidth?n.left+e.offsetWidth/2>=c.value.offsetWidth/2?(c.value.style.left=n.left-a.left+e.offsetWidth/2-c.value.offsetWidth/2+"px",c.value.style.right="auto"):(c.value.style.left=n.left-a.left+"px",c.value.style.right="auto"):(c.value.style.left="auto",c.value.style.right=n.right-a.right+"px"))),r.showTriangle&&(()=>{const e=f();Y.isElement(e)&&("top"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"top-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top=s.value.offsetHeight-1+"px",d.value.$el.style.bottom="auto"):"bottom"==i.value?(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-start"==i.value?(d.value.$el.style.left=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):"bottom-end"==i.value?(d.value.$el.style.left="auto",d.value.$el.style.right=(s.value.offsetWidth>e.offsetWidth?e.offsetWidth:s.value.offsetWidth)/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.top="auto",d.value.$el.style.bottom=s.value.offsetHeight-1+"px"):(d.value.$el.style.left=s.value.offsetWidth/2-d.value.$el.offsetWidth/2+"px",d.value.$el.style.right="auto",d.value.$el.style.top=1-d.value.$el.offsetHeight+"px",d.value.$el.style.bottom="auto"))})()}))},p=()=>{r.useRange?m():g()},b=e=>{p(),l("show",e)},v=e=>{l("shown",e)},y=e=>{l("hidden",e)},E=()=>{r.modelValue&&l("update:modelValue",!1)},w=e=>{Y.isElement(c.value)&&(Y.isContains(c.value.offsetParent,e.target)||r.modelValue&&l("update:modelValue",!1))};return t.onMounted((()=>{r.modelValue&&p(),re.on(window,`click.editify_layer_${o.uid}`,w),re.on(window,`resize.editify_layer_${o.uid}`,E)})),t.onBeforeUnmount((()=>{re.off(window,`click.editify_layer_${o.uid} resize.editify_layer_${o.uid}`)})),n({setPosition:p}),(e,n)=>(t.openBlock(),t.createBlock(t.Transition,{name:e.animation?"editify-layer-"+e.animation:"editify-layer",onEnter:b,onAfterEnter:v,onAfterLeave:y},{default:t.withCtx((()=>[e.modelValue?(t.openBlock(),t.createElementBlock("div",{key:0,class:"editify-layer","data-editify-placement":i.value||null,style:t.normalizeStyle({zIndex:e.zIndex}),ref_key:"elRef",ref:c},[e.showTriangle?(t.openBlock(),t.createBlock(Sa,{key:0,color:e.border&&e.borderColor?e.borderColor:e.background,background:e.background,placement:u.value,ref_key:"triangleRef",ref:d},null,8,["color","background","placement"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"wrapRef",ref:s,class:t.normalizeClass(["editify-layer-wrap",{"editify-border":e.border}]),style:t.normalizeStyle(h.value)},[t.renderSlot(e.$slots,"default",{},void 0,!0)],6)],12,Oa)):t.createCommentVNode("",!0)])),_:3},8,["name"]))}}),[["__scopeId","data-v-09578d83"]]),Ra={content:{type:String,default:""},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},Ma={class:"editify-tooltip-content"},Ia=Ta(t.defineComponent({name:"Tooltip",__name:"tooltip",props:Ra,setup(e){const n=e,a=t.ref(!1),o=t.ref(null),r=()=>{n.disabled||(a.value=!0)},l=()=>{n.disabled||(a.value=!1)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-tooltip",{"editify-block":e.block}])},[t.createElementVNode("div",{ref_key:"targetRef",ref:o,class:"editify-tooltip-target",onMouseenter:r,onMouseleave:l},[t.renderSlot(e.$slots,"default",{},void 0,!0)],544),t.createVNode(Aa,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=e=>a.value=e),node:o.value,border:"","border-color":"#000",background:"#000","show-triangle":"",color:"#fff",placement:"bottom",animation:"fade","z-index":10},{default:t.withCtx((()=>[t.createElementVNode("div",Ma,t.toDisplayString(e.content),1)])),_:1},8,["modelValue","node"])],2))}}),[["__scopeId","data-v-7b5e30d1"]]),La={value:{type:String,default:""}},Da=Ta(t.defineComponent({name:"Icon",__name:"icon",props:La,setup:e=>(e,n)=>(t.openBlock(),t.createElementBlock("i",{class:t.normalizeClass(["editify-icon","editify-icon-"+e.value])},null,2))}),[["__scopeId","data-v-6e00035b"]]),$a={type:{type:String,default:"default",validator:e=>["default","select","display"].includes(e)},name:{type:String,default:""},title:{type:String,default:""},tooltip:{type:Boolean,default:!1},rightBorder:{type:Boolean,default:!1},leftBorder:{type:Boolean,default:!1},color:{type:String,default:""},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},selectConfig:{type:Object,default:null},displayConfig:{type:Object,default:null},hideScroll:{type:Boolean,default:!1}},Fa={class:"editify-button"},za={key:0,class:"editify-button-slot"},Pa={key:1},Ha={key:1,class:"editify-button-options"},Va=["onClick"],ja={key:1,class:"editify-button-option-flex"},Wa=Ta(t.defineComponent({name:"Button",__name:"button",props:$a,emits:["operate","layerShow","layerShown","layerHidden"],setup(e,{expose:n,emit:a}){const o=e,r=a,l=t.ref(!1),i=t.ref(null),s=t.ref(null),c=t.ref(null),d=t.computed((()=>{let e=[],t="",n="";return ne.isObject(o.selectConfig)&&(Array.isArray(o.selectConfig.options)&&(e=o.selectConfig.options.map((e=>ne.isObject(e)?{label:e.label,value:e.value,icon:e.icon,style:e.style}:{label:e,value:e}))),"number"==typeof o.selectConfig.width&&(t=o.selectConfig.width),"number"==typeof o.selectConfig.maxHeight&&(n=o.selectConfig.maxHeight)),{options:e,width:t,maxHeight:n}})),u=t.computed((()=>{let e=[],t="",n="",a="";if(ne.isObject(o.displayConfig)){if("string"!=typeof o.displayConfig.value&&"number"!=typeof o.displayConfig.value||(a=o.displayConfig.value),Array.isArray(o.displayConfig.options)){e=o.displayConfig.options.map((e=>ne.isObject(e)?{label:e.label,value:e.value,icon:e.icon,style:e.style}:{label:e,value:e})),!e.find((e=>e.value==a))&&e[0]&&(a=e[0].value)}"number"==typeof o.displayConfig.width&&(t=o.displayConfig.width),"number"==typeof o.displayConfig.maxHeight&&(n=o.displayConfig.maxHeight)}return{options:e,width:t,maxHeight:n,value:a}})),h=t.computed((()=>"select"==o.type?d.value.options:u.value.options)),f=t.computed((()=>{const e=u.value.options.find((e=>e.value==u.value.value));return e?e.label:""})),m=t.computed((()=>le.hex2rgb(o.color))),g=t.computed((()=>{if(o.disabled)return{};if(o.color){if(o.active||"down"==i.value)return{color:o.color,backgroundColor:`rgba(${m.value[0]},${m.value[1]},${m.value[2]},0.15)`};if("hover"==i.value)return{color:`rgba(${m.value[0]},${m.value[1]},${m.value[2]},0.9)`,backgroundColor:`rgba(${m.value[0]},${m.value[1]},${m.value[2]},0.05)`}}return{}})),p=()=>{o.disabled||("default"==o.type?r("operate",o.name):l.value=!l.value)};return n({show:l,status:i}),(e,n)=>(t.openBlock(),t.createElementBlock("div",Fa,[t.createElementVNode("div",{class:t.normalizeClass(["editify-button-wrap",{"editify-right-border":e.rightBorder,"editify-left-border":e.leftBorder}])},[t.createVNode(Ia,{content:e.title,disabled:!e.tooltip},{default:t.withCtx((()=>[t.createElementVNode("div",{ref_key:"btnRef",ref:s,style:t.normalizeStyle(g.value),class:t.normalizeClass(["editify-button-el",{"editify-disabled":e.disabled,"editify-active":e.active}]),onMouseenter:n[0]||(n[0]=e=>i.value="hover"),onMouseleave:n[1]||(n[1]=e=>i.value=null),onMousedown:n[2]||(n[2]=e=>i.value="down"),onMouseup:n[3]||(n[3]=e=>i.value="hover"),onClick:p},["default"==e.type||"select"==e.type?(t.openBlock(),t.createElementBlock("div",za,[t.renderSlot(e.$slots,"default",{},void 0,!0)])):"display"==e.type?(t.openBlock(),t.createElementBlock("div",Pa,t.toDisplayString(f.value),1)):t.createCommentVNode("",!0),"select"==e.type||"display"==e.type?(t.openBlock(),t.createBlock(Da,{key:2,value:"caret-down",class:t.normalizeClass(["editify-button-caret",{"editify-rotate":l.value}])},null,8,["class"])):t.createCommentVNode("",!0)],38)])),_:3},8,["content","disabled"]),t.createVNode(Aa,{ref_key:"layerRef",ref:c,modelValue:l.value,"onUpdate:modelValue":n[4]||(n[4]=e=>l.value=e),node:s.value,border:"",fade:"",placement:"bottom-start","z-index":12,animation:"translate",onShow:n[5]||(n[5]=e=>r("layerShow")),onShown:n[6]||(n[6]=e=>r("layerShown")),onHidden:n[7]||(n[7]=e=>r("layerHidden"))},{default:t.withCtx((()=>[t.createElementVNode("div",{class:"editify-button-layer",style:t.normalizeStyle({width:("select"==e.type?d.value.width:u.value.width)+"px",maxHeight:("select"==e.type?d.value.maxHeight:u.value.maxHeight)+"px",overflow:e.hideScroll?"visible":""})},[e.$slots.layer?t.renderSlot(e.$slots,"layer",{key:0,options:h.value},void 0,!0):(t.openBlock(),t.createElementBlock("div",Ha,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(n=>(t.openBlock(),t.createElementBlock("div",{onClick:e=>(e=>{o.disabled||(r("operate",o.name,e.value),l.value=!1)})(n),class:t.normalizeClass(["editify-button-option",{"editify-active":"display"==e.type&&n.value==u.value.value}]),style:t.normalizeStyle(n.style||"")},[e.$slots.option?t.renderSlot(e.$slots,"option",{key:0,item:n},void 0,!0):(t.openBlock(),t.createElementBlock("div",ja,[n.icon?(t.openBlock(),t.createBlock(Da,{key:0,value:n.icon},null,8,["value"])):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(n.label),1)]))],14,Va)))),256))]))],4)])),_:3},8,["modelValue","node"])],2)]))}}),[["__scopeId","data-v-3656b737"]]),Ua={disabled:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array],default:!1},label:{type:String,default:null},value:{type:[Object,Number,String,Array],default:""},round:{type:Boolean,default:!1},placement:{type:String,default:"right",validator:e=>["left","right"].includes(e)},color:{type:String,default:"",validator:e=>ne.matchingText(e,"hex")}},qa=["data-editify-placement","textContent"],Ka=["value","disabled","checked"],Za=["data-editify-placement","textContent"],Ga=Ta(t.defineComponent({name:"Checkbox",__name:"checkbox",props:Ua,emits:["update:modelValue","change"],setup(e,{emit:n}){const a=e,o=n,r=t.computed((()=>"boolean"==typeof a.modelValue?a.modelValue:!!Array.isArray(a.modelValue)&&a.modelValue.some((e=>ne.equal(e,a.value))))),l=t.computed((()=>{let e={};return a.color&&r.value&&!a.disabled&&(e.backgroundColor=a.color,e.borderColor=a.color),e})),i=e=>{if(Array.isArray(a.modelValue)){let t=[...a.modelValue];e.target.checked&&!r.value?t.push(a.value):r.value&&(t=t.filter((e=>!ne.equal(e,a.value)))),o("update:modelValue",t),o("change",t)}else"boolean"==typeof a.modelValue&&(o("update:modelValue",e.target.checked),o("change",e.target.checked))};return(e,n)=>(t.openBlock(),t.createElementBlock("label",{class:t.normalizeClass(["editify-checkbox",{"editify-disabled":e.disabled}])},["left"==e.placement&&e.label?(t.openBlock(),t.createElementBlock("span",{key:0,class:"editify-checkbox-label","data-editify-placement":e.placement,textContent:t.toDisplayString(e.label)},null,8,qa)):t.createCommentVNode("",!0),t.createElementVNode("input",{onChange:i,value:e.value,disabled:e.disabled,checked:r.value,type:"checkbox"},null,40,Ka),t.createElementVNode("span",{class:t.normalizeClass(["editify-checkbox-item",{"editify-reverse":!e.color,"editify-round":e.round,"editify-checked":r.value&&!e.disabled}]),style:t.normalizeStyle(l.value)},[t.createVNode(Da,{value:"check",style:t.normalizeStyle({opacity:r.value?"":0})},null,8,["style"])],6),"right"==e.placement&&e.label?(t.openBlock(),t.createElementBlock("span",{key:1,class:"editify-checkbox-label","data-editify-placement":e.placement,textContent:t.toDisplayString(e.label)},null,8,Za)):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-d99c609b"]]),Xa={data:{type:Array,default:function(){return[]}},value:{type:String,default:null},color:{type:String,default:""},tooltip:{type:Boolean,default:!1}},Qa={class:"editify-colors"},Ja={class:"editify-colors-list"},Ya=["onClick"],eo=Ta(t.defineComponent({name:"Colors",__name:"colors",props:Xa,emits:["change"],setup(e,{emit:n}){const a=n,o=t.inject("$editTrans"),r=e=>{a("change",e.value)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",Qa,[t.createElementVNode("div",{class:"editify-colors-header",onClick:n[0]||(n[0]=e=>r({value:""}))},[t.createVNode(Da,{value:"remove"}),t.createElementVNode("span",null,t.toDisplayString(t.unref(o)("defaultColor")),1)]),t.createElementVNode("div",Ja,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data,(n=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-color",{"editify-active":e.value==n.value}]),style:t.normalizeStyle({borderColor:e.value==n.value?e.color:""})},[t.createVNode(Ia,{block:"",content:n.label,disabled:!e.tooltip},{default:t.withCtx((()=>[t.createElementVNode("div",{onClick:e=>r(n),class:"editify-color-el",style:t.normalizeStyle({background:n.value})},null,12,Ya)])),_:2},1032,["content","disabled"])],6)))),256))])]))}}),[["__scopeId","data-v-514d2263"]]),to={modelValue:{type:Boolean,default:!1},node:{type:[String,Node],default:null},type:{type:String,default:"text",validator:e=>["text","table","link","codeBlock","image","video"].includes(e)},config:{type:Object,default:null},color:{type:String,default:""}},no={key:0,class:"editify-toolbar-link"},ao={class:"editify-toolbar-link-label"},oo=["placeholder"],ro={class:"editify-toolbar-link-footer"},lo={class:"editify-toolbar-link-operations"},io=["href"],so=Ta(t.defineComponent({name:"Toolbar",__name:"toolbar",props:to,emits:["update:modelValue"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("editify"),l=t.inject("editor"),i=t.inject("dataRangeCaches"),s=t.inject("$editTrans"),c=t.ref(null),d=t.ref(null),u=t.ref(null),h=t.ref(null),f=t.ref({url:"",newOpen:!1}),m=t.ref({controls:!1,loop:!1,autoplay:!1,muted:!1}),g=t.ref({show:a.config.codeBlock.languages.show,displayConfig:{options:a.config.codeBlock.languages.options,value:"",width:a.config.codeBlock.languages.width,maxHeight:a.config.codeBlock.languages.maxHeight},leftBorder:a.config.codeBlock.languages.leftBorder,rightBorder:a.config.codeBlock.languages.rightBorder,active:!1,disabled:!1}),p=t.ref({show:a.config.text.heading.show,displayConfig:{options:a.config.text.heading.options,value:"",width:a.config.text.heading.width,maxHeight:a.config.text.heading.maxHeight},defaultValue:a.config.text.heading.defaultValue,leftBorder:a.config.text.heading.leftBorder,rightBorder:a.config.text.heading.rightBorder,active:!1,disabled:!1}),b=t.ref({show:a.config.text.align.show,selectConfig:{options:a.config.text.align.options,width:a.config.text.align.width,maxHeight:a.config.text.align.maxHeight},leftBorder:a.config.text.align.leftBorder,rightBorder:a.config.text.align.rightBorder,active:!1,disabled:!1}),v=t.ref({show:a.config.text.orderList.show,leftBorder:a.config.text.orderList.leftBorder,rightBorder:a.config.text.orderList.rightBorder,active:!1,disabled:!1}),E=t.ref({show:a.config.text.unorderList.show,leftBorder:a.config.text.unorderList.leftBorder,rightBorder:a.config.text.unorderList.rightBorder,active:!1,disabled:!1}),w=t.ref({show:a.config.text.task.show,leftBorder:a.config.text.task.leftBorder,rightBorder:a.config.text.task.rightBorder,active:!1,disabled:!1}),k=t.ref({show:a.config.text.bold.show,leftBorder:a.config.text.bold.leftBorder,rightBorder:a.config.text.bold.rightBorder,active:!1,disabled:!1}),_=t.ref({show:a.config.text.italic.show,leftBorder:a.config.text.italic.leftBorder,rightBorder:a.config.text.italic.rightBorder,active:!1,disabled:!1}),x=t.ref({show:a.config.text.strikethrough.show,leftBorder:a.config.text.strikethrough.leftBorder,rightBorder:a.config.text.strikethrough.rightBorder,active:!1,disabled:!1}),C=t.ref({show:a.config.text.underline.show,leftBorder:a.config.text.underline.leftBorder,rightBorder:a.config.text.underline.rightBorder,active:!1,disabled:!1}),B=t.ref({show:a.config.text.code.show,leftBorder:a.config.text.code.leftBorder,rightBorder:a.config.text.code.rightBorder,active:!1,disabled:!1}),T=t.ref({show:a.config.text.super.show,leftBorder:a.config.text.super.leftBorder,rightBorder:a.config.text.super.rightBorder,active:!1,disabled:!1}),S=t.ref({show:a.config.text.sub.show,leftBorder:a.config.text.sub.leftBorder,rightBorder:a.config.text.sub.rightBorder,active:!1,disabled:!1}),N=t.ref({show:a.config.text.fontSize.show,displayConfig:{options:a.config.text.fontSize.options,value:"",width:a.config.text.fontSize.width,maxHeight:a.config.text.fontSize.maxHeight},defaultValue:a.config.text.fontSize.defaultValue,leftBorder:a.config.text.fontSize.leftBorder,rightBorder:a.config.text.fontSize.rightBorder,active:!1,disabled:!1}),O=t.ref({show:a.config.text.fontFamily.show,displayConfig:{options:a.config.text.fontFamily.options,value:"",width:a.config.text.fontFamily.width,maxHeight:a.config.text.fontFamily.maxHeight},defaultValue:a.config.text.fontFamily.defaultValue,leftBorder:a.config.text.fontFamily.leftBorder,rightBorder:a.config.text.fontFamily.rightBorder,active:!1,disabled:!1}),A=t.ref({show:a.config.text.lineHeight.show,displayConfig:{options:a.config.text.lineHeight.options,value:"",width:a.config.text.lineHeight.width,maxHeight:a.config.text.lineHeight.maxHeight},defaultValue:a.config.text.lineHeight.defaultValue,leftBorder:a.config.text.lineHeight.leftBorder,rightBorder:a.config.text.lineHeight.rightBorder,active:!1,disabled:!1}),R=t.ref({show:a.config.text.foreColor.show,selectConfig:{options:a.config.text.foreColor.options},leftBorder:a.config.text.foreColor.leftBorder,rightBorder:a.config.text.foreColor.rightBorder,value:"",active:!1,disabled:!1}),M=t.ref({show:a.config.text.backColor.show,selectConfig:{options:a.config.text.backColor.options},leftBorder:a.config.text.backColor.leftBorder,rightBorder:a.config.text.backColor.rightBorder,value:"",active:!1,disabled:!1}),I=t.ref({show:a.config.text.formatClear.show,leftBorder:a.config.text.formatClear.leftBorder,rightBorder:a.config.text.formatClear.rightBorder,active:!1,disabled:!1}),L=t.computed({get:()=>a.modelValue,set(e){o("update:modelValue",e)}}),D=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},$=e=>{e.currentTarget.style.borderColor=""},F=()=>{ga(l.value,i.value),pa(l.value,i.value),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},z=e=>{fa(l.value,i.value,{"background-color":e}),h.value.show=!1,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},P=e=>{fa(l.value,i.value,{color:e}),u.value.show=!1,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},H=(e,t)=>{ba(l.value,i.value,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},V=(e,t)=>{fa(l.value,i.value,{"font-family":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},j=(e,t)=>{fa(l.value,i.value,{"font-size":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},W=()=>{Yn(l.value,i.value,"vertical-align","super")?ga(l.value,i.value,["vertical-align"]):fa(l.value,i.value,{"vertical-align":"super"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},U=()=>{Yn(l.value,i.value,"vertical-align","sub")?ga(l.value,i.value,["vertical-align"]):fa(l.value,i.value,{"vertical-align":"sub"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},q=()=>{ea(l.value,i.value,"data-editify-code")?pa(l.value,i.value,["data-editify-code"]):ma(l.value,i.value,{"data-editify-code":!0}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},K=()=>{Yn(l.value,i.value,"text-decoration","underline")||Yn(l.value,i.value,"text-decoration-line","underline")?ga(l.value,i.value,["text-decoration","text-decoration-line"]):fa(l.value,i.value,{"text-decoration":"underline"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Z=()=>{Yn(l.value,i.value,"text-decoration","line-through")||Yn(l.value,i.value,"text-decoration-line","line-through")?ga(l.value,i.value,["text-decoration","text-decoration-line"]):fa(l.value,i.value,{"text-decoration":"line-through"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},G=e=>{ua(l.value,i.value,"orderList"==e),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},X=()=>{ha(l.value,i.value),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Q=()=>{Yn(l.value,i.value,"font-style","italic")?ga(l.value,i.value,["font-style"]):fa(l.value,i.value,{"font-style":"italic"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},J=()=>{Yn(l.value,i.value,"font-weight","bold")||Yn(l.value,i.value,"font-weight","700")?ga(l.value,i.value,["font-weight"]):fa(l.value,i.value,{"font-weight":"bold"}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},Y=(e,t)=>{la(l.value,i.value,s,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},ee=(e,t)=>{da(l.value,i.value,t),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},te=e=>{const t=l.value.range.anchor.element;m.value[e]?delete t.marks[e]:t.marks[e]=!0,m.value[e]=!m.value[e],l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},ae=e=>{const t=l.value.range.anchor.element;if(t){const n={width:e};t.hasStyles()?t.styles=Object.assign(t.styles,n):t.styles=n,l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},oe=()=>{if(!f.value.url)return;const e=zn(l.value,i.value,"a");e&&(e.marks.href=f.value.url,f.value.newOpen?e.marks.target="_blank":delete e.marks.target),l.value.formatElementStack(),l.value.domRender()},re=()=>{const e=zn(l.value,i.value,"a");e&&(e.parsedom=y.TEXT_NODE,delete e.marks.target,delete e.marks.href,delete e.marks["data-editify-element"]),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()},le=(e,t)=>{const n=zn(l.value,i.value,"pre");n&&(Object.assign(n.marks,{"data-editify-hljs":t}),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender())},ie=(e="up")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"pre");if(t){const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);l.value.addElementTo(a,n),"up"==e?l.value.addElementBefore(n,t):l.value.addElementAfter(n,t),l.value.range.anchor.moveToEnd(n),l.value.range.focus.moveToEnd(n),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()}},se=(e="left")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"table"),n=zn(l.value,i.value,"td"),a=zn(l.value,i.value,"tbody");if(n&&t&&a){const o=a.children,r=n.parent.children.findIndex((e=>e.isEqual(n)));o.forEach((t=>{const a=n.clone(!1),o=new y("closed","br",null,null,null);l.value.addElementTo(o,a),"left"==e?l.value.addElementTo(a,t,r):l.value.addElementTo(a,t,r+1)}));const i=t.children.find((e=>"colgroup"==e.parsedom)),s=new y("closed","col",null,null,null);if("left"==e?l.value.addElementTo(s,i,r):l.value.addElementTo(s,i,r+1),l.value.formatElementStack(),"left"==e){const e=l.value.getPreviousElement(n);l.value.range.anchor.moveToStart(e),l.value.range.focus.moveToStart(e)}else{const e=l.value.getNextElement(n);l.value.range.anchor.moveToStart(e),l.value.range.focus.moveToStart(e)}l.value.domRender(),l.value.rangeRender()}},ce=(e="up")=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const t=zn(l.value,i.value,"table"),n=zn(l.value,i.value,"tr");if(t&&n){const t=n.clone();t.children.forEach((e=>{e.children=[];const t=new y("closed","br",null,null,null);l.value.addElementTo(t,e)})),"up"==e?l.value.addElementBefore(t,n):l.value.addElementAfter(t,n),l.value.formatElementStack(),l.value.range.anchor.moveToStart(t),l.value.range.focus.moveToStart(t),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},de=(e="up")=>{const t=zn(l.value,i.value,"table");if(t){const n=new y("block",y.BLOCK_NODE,null,null,null),a=new y("closed","br",null,null,null);l.value.addElementTo(a,n),"up"==e?l.value.addElementBefore(n,t):l.value.addElementAfter(n,t),l.value.range.anchor.moveToEnd(n),l.value.range.focus.moveToEnd(n),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender()}},ue=e=>{const t=zn(l.value,i.value,e);t&&(t.toEmpty(),l.value.formatElementStack(),l.value.domRender(),l.value.rangeRender())},he=()=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const e=zn(l.value,i.value,"table"),t=zn(l.value,i.value,"tr");if(e&&t){if(1==t.parent.children.length)return void ue("table");const e=l.value.getPreviousElement(t),n=l.value.getNextElement(t);t.toEmpty(),l.value.formatElementStack(),e?(l.value.range.anchor.moveToEnd(e.children[0]),l.value.range.focus.moveToEnd(e.children[0])):(l.value.range.anchor.moveToEnd(n.children[0]),l.value.range.focus.moveToEnd(n.children[0])),l.value.domRender(),l.value.rangeRender(),setTimeout((()=>{c.value.setPosition()}),0)}},fe=()=>{l.value.range.anchor.isEqual(l.value.range.focus)||(l.value.range.anchor.element=l.value.range.focus.element,l.value.range.anchor.offset=l.value.range.focus.offset);const e=zn(l.value,i.value,"td"),t=zn(l.value,i.value,"tbody"),n=zn(l.value,i.value,"table");if(e&&n&&t){const a=t.children;if(1==e.parent.children.length)return void ue("table");const o=l.value.getPreviousElement(e),r=l.value.getNextElement(e),i=e.parent.children.findIndex((t=>t.isEqual(e)));a.forEach((e=>{e.children[i].toEmpty()}));n.children.find((e=>"colgroup"==e.parsedom)).children[i].toEmpty(),l.value.formatElementStack(),o?(l.value.range.anchor.moveToEnd(o),l.value.range.focus.moveToEnd(o)):(l.value.range.anchor.moveToEnd(r),l.value.range.focus.moveToEnd(r)),l.value.domRender(),l.value.rangeRender()}},me=()=>{if("codeBlock"==a.type){const e=zn(l.value,i.value,"pre");e&&(g.value.displayConfig.value=e.marks["data-editify-hljs"]||"")}else if("link"==a.type){const e=zn(l.value,i.value,"a");e&&(f.value.url=e.marks.href,f.value.newOpen="_blank"==e.marks.target)}else if("video"==a.type){const e=zn(l.value,i.value,"video");e&&(m.value.autoplay=!!e.marks.autoplay,m.value.loop=!!e.marks.loop,m.value.controls=!!e.marks.controls,m.value.muted=!!e.marks.muted)}else if("text"==a.type){const e=e=>"function"==typeof a.config.extraDisabled&&a.config.extraDisabled.apply(r.proxy,[e])||!1,t=p.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),i.value.list.every((e=>e.element.isBlock()?e.element.parsedom==t:e.element.getBlock().parsedom==t))}));p.value.displayConfig.value=t?ne.isObject(t)?t.value:t:p.value.defaultValue,p.value.disabled=e("heading"),b.value.disabled=e("align"),v.value.active=Kn(l.value,i.value,!0),v.value.disabled=e("orderList"),E.value.active=Kn(l.value,i.value,!1),E.value.disabled=e("unorderList"),w.value.active=Zn(l.value,i.value),w.value.disabled=e("task"),k.value.active=Yn(l.value,i.value,"font-weight","bold")||Yn(l.value,i.value,"font-weight","700"),k.value.disabled=e("bold"),_.value.active=Yn(l.value,i.value,"font-style","italic"),_.value.disabled=e("italic"),x.value.active=Yn(l.value,i.value,"text-decoration","line-through")||Yn(l.value,i.value,"text-decoration-line","line-through"),x.value.disabled=e("strikethrough"),C.value.active=Yn(l.value,i.value,"text-decoration","underline")||Yn(l.value,i.value,"text-decoration-line","underline"),C.value.disabled=e("underline"),B.value.active=ea(l.value,i.value,"data-editify-code"),B.value.disabled=e("code"),T.value.active=Yn(l.value,i.value,"vertical-align","super"),T.value.disabled=e("super"),S.value.active=Yn(l.value,i.value,"vertical-align","sub"),S.value.disabled=e("sub");const n=N.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"font-size",e.value):Yn(l.value,i.value,"font-size",e)));N.value.displayConfig.value=n?ne.isObject(n)?n.value:n:N.value.defaultValue,N.value.disabled=e("fontSize");const o=O.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"font-family",e.value):Yn(l.value,i.value,"font-family",e)));O.value.displayConfig.value=o?ne.isObject(o)?o.value:o:O.value.defaultValue,O.value.disabled=e("fontFamily");const s=A.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),i.value.list.every((e=>{if(e.element.isBlock()||e.element.isInblock())return e.element.hasStyles()&&e.element.styles["line-height"]==t;const n=e.element.getBlock(),a=e.element.getInblock();return a?a.hasStyles()&&a.styles["line-height"]==t:n.hasStyles()&&n.styles["line-height"]==t}))}));A.value.displayConfig.value=s?ne.isObject(s)?s.value:s:A.value.defaultValue,A.value.disabled=e("lineHeight");const c=R.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"color",e.value):Yn(l.value,i.value,"color",e)));R.value.value=c?ne.isObject(c)?c.value:c:"",R.value.disabled=e("foreColor");const d=M.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(l.value,i.value,"background-color",e.value):Yn(l.value,i.value,"background-color",e)));M.value.value=d?ne.isObject(d)?d.value:d:"",M.value.disabled=e("backColor"),I.value.disabled=e("formatClear")}};return(e,n)=>(t.openBlock(),t.createBlock(Aa,{modelValue:L.value,"onUpdate:modelValue":n[21]||(n[21]=e=>L.value=e),ref_key:"layerRef",ref:c,node:e.node,border:"",placement:"bottom-start",onShow:me,useRange:"text"==e.type,"z-index":10},{default:t.withCtx((()=>[t.createElementVNode("div",{class:"editify-toolbar",ref_key:"toolbarRef",ref:d,style:t.normalizeStyle(e.config.style)},["link"==e.type?(t.openBlock(),t.createElementBlock("div",no,[t.createElementVNode("div",ao,t.toDisplayString(t.unref(s)("linkAddress")),1),t.withDirectives(t.createElementVNode("input",{onChange:oe,onFocus:D,onBlur:$,placeholder:t.unref(s)("linkUrlEnterPlaceholder"),"onUpdate:modelValue":n[0]||(n[0]=e=>f.value.url=e),type:"url"},null,40,oo),[[t.vModelText,f.value.url,void 0,{trim:!0}]]),t.createElementVNode("div",ro,[t.createVNode(Ga,{onChange:oe,modelValue:f.value.newOpen,"onUpdate:modelValue":n[1]||(n[1]=e=>f.value.newOpen=e),label:t.unref(s)("newWindowOpen"),color:e.color,size:10},null,8,["modelValue","label","color"]),t.createElementVNode("div",lo,[t.createElementVNode("span",{onClick:re},t.toDisplayString(t.unref(s)("removeLink")),1),t.createElementVNode("a",{href:f.value.url,target:"_blank",style:t.normalizeStyle({color:e.color})},t.toDisplayString(t.unref(s)("viewLink")),13,io)])])])):"image"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(Wa,{onOperate:n[2]||(n[2]=e=>ae("30%")),name:"set30Width",title:t.unref(s)("width30"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 30% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[3]||(n[3]=e=>ae("50%")),name:"set50Width",title:t.unref(s)("width50"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 50% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{rightBorder:"",onOperate:n[4]||(n[4]=e=>ae("100%")),name:"set100Width",title:t.unref(s)("width100"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 100% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[5]||(n[5]=e=>ae("auto")),name:"setAutoWidth",title:t.unref(s)("auto"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"auto-width"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[6]||(n[6]=e=>ue("img")),name:"deleteImage",title:t.unref(s)("deleteImage"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete"})])),_:1},8,["title","tooltip","color"])],64)):"video"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(Wa,{onOperate:n[7]||(n[7]=e=>ae("30%")),name:"set30Width",title:t.unref(s)("width30"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 30% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[8]||(n[8]=e=>ae("50%")),name:"set50Width",title:t.unref(s)("width50"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 50% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[9]||(n[9]=e=>ae("100%")),name:"set100Width",title:t.unref(s)("width100"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createTextVNode(" 100% ")])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{rightBorder:"",onOperate:n[10]||(n[10]=e=>ae("auto")),name:"setAutoWidth",title:t.unref(s)("auto"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"auto-width"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"autoplay",title:m.value.autoplay?t.unref(s)("disabledAutoplay"):t.unref(s)("autoplay"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:m.value.autoplay?"autoplay":"stop"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"loop",title:m.value.loop?t.unref(s)("disabledLoop"):t.unref(s)("loop"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:m.value.loop?"loop":"single"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:te,name:"muted",title:m.value.muted?t.unref(s)("unmuted"):t.unref(s)("muted"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:m.value.muted?"muted":"unmuted"},null,8,["value"])])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{leftBorder:"",onOperate:te,name:"controls",title:t.unref(s)("controls"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"controls"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[11]||(n[11]=e=>ue("video")),name:"deleteVideo",title:t.unref(s)("deleteVideo"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete"})])),_:1},8,["title","tooltip","color"])],64)):"table"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(Wa,{onOperate:n[12]||(n[12]=e=>de("up")),name:"textWrapUp",title:t.unref(s)("textWrapUp"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap",class:"editify-icon-rotate"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[13]||(n[13]=e=>de("down")),rightBorder:"",name:"textWrapDown",title:t.unref(s)("textWrapDown"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[14]||(n[14]=e=>ce("up")),name:"insertRowTop",title:t.unref(s)("insertRowTop"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-row-top"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[15]||(n[15]=e=>ce("down")),name:"insertRowBottom",title:t.unref(s)("insertRowBottom"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-row-bottom"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:he,rightBorder:"",name:"deleteRow",title:t.unref(s)("deleteRow"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-row"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[16]||(n[16]=e=>se("left")),name:"insertColumnLeft",title:t.unref(s)("insertColumnLeft"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-column-left"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[17]||(n[17]=e=>se("right")),name:"insertColumnRight",title:t.unref(s)("insertColumnRight"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"insert-column-right"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:fe,rightBorder:"",name:"deleteColumn",title:t.unref(s)("deleteColumn"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-column"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[18]||(n[18]=e=>ue("table")),name:"deleteTable",title:t.unref(s)("deleteTable"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"delete-table"})])),_:1},8,["title","tooltip","color"])],64)):t.createCommentVNode("",!0),"codeBlock"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createVNode(Wa,{onOperate:n[19]||(n[19]=e=>ie("up")),name:"textWrapUp",title:t.unref(s)("textWrapUp"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap",class:"editify-icon-rotate"})])),_:1},8,["title","tooltip","color"]),t.createVNode(Wa,{onOperate:n[20]||(n[20]=e=>ie("down")),name:"textWrapDown",title:t.unref(s)("textWrapDown"),tooltip:e.config.tooltip,color:e.color},{default:t.withCtx((()=>[t.createVNode(Da,{value:"text-wrap"})])),_:1},8,["title","tooltip","color"]),g.value.show?(t.openBlock(),t.createBlock(Wa,{key:0,name:"languages",type:"display",title:t.unref(s)("selectLanguages"),tooltip:e.config.tooltip,leftBorder:g.value.leftBorder,rightBorder:g.value.rightBorder,"display-config":g.value.displayConfig,color:e.color,active:g.value.active,disabled:g.value.disabled,onOperate:le},null,8,["title","tooltip","leftBorder","rightBorder","display-config","color","active","disabled"])):t.createCommentVNode("",!0)],64)):"text"==e.type?(t.openBlock(),t.createElementBlock(t.Fragment,{key:5},[p.value.show?(t.openBlock(),t.createBlock(Wa,{key:0,name:"heading",type:"display",title:t.unref(s)("heading"),tooltip:e.config.tooltip,"display-config":p.value.displayConfig,leftBorder:p.value.leftBorder,rightBorder:p.value.rightBorder,color:e.color,active:p.value.active,disabled:p.value.disabled,onOperate:Y},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),b.value.show?(t.openBlock(),t.createBlock(Wa,{key:1,name:"align",type:"select",title:t.unref(s)("align"),tooltip:e.config.tooltip,"select-config":b.value.selectConfig,leftBorder:b.value.leftBorder,rightBorder:b.value.rightBorder,color:e.color,active:b.value.active,disabled:b.value.disabled,onOperate:ee},{default:t.withCtx((()=>[t.createVNode(Da,{value:"align-left"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),v.value.show?(t.openBlock(),t.createBlock(Wa,{key:2,name:"orderList",title:t.unref(s)("orderList"),tooltip:e.config.tooltip,leftBorder:v.value.leftBorder,rightBorder:v.value.rightBorder,color:e.color,active:v.value.active,disabled:v.value.disabled,onOperate:G},{default:t.withCtx((()=>[t.createVNode(Da,{value:"list-ordered"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),E.value.show?(t.openBlock(),t.createBlock(Wa,{key:3,name:"unorderList",title:t.unref(s)("unorderList"),tooltip:e.config.tooltip,leftBorder:E.value.leftBorder,rightBorder:E.value.rightBorder,color:e.color,active:E.value.active,disabled:E.value.disabled,onOperate:G},{default:t.withCtx((()=>[t.createVNode(Da,{value:"list-unordered"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),w.value.show?(t.openBlock(),t.createBlock(Wa,{key:4,name:"task",title:t.unref(s)("task"),tooltip:e.config.tooltip,leftBorder:w.value.leftBorder,rightBorder:w.value.rightBorder,color:e.color,active:w.value.active,disabled:w.value.disabled,onOperate:X},{default:t.withCtx((()=>[t.createVNode(Da,{value:"task"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),k.value.show?(t.openBlock(),t.createBlock(Wa,{key:5,name:"bold",title:t.unref(s)("bold"),tooltip:e.config.tooltip,leftBorder:k.value.leftBorder,rightBorder:k.value.rightBorder,color:e.color,active:k.value.active,disabled:k.value.disabled,onOperate:J},{default:t.withCtx((()=>[t.createVNode(Da,{value:"bold"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),_.value.show?(t.openBlock(),t.createBlock(Wa,{key:6,name:"italic",title:t.unref(s)("italic"),tooltip:e.config.tooltip,leftBorder:_.value.leftBorder,rightBorder:_.value.rightBorder,color:e.color,active:_.value.active,disabled:_.value.disabled,onOperate:Q},{default:t.withCtx((()=>[t.createVNode(Da,{value:"italic"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),x.value.show?(t.openBlock(),t.createBlock(Wa,{key:7,name:"strikethrough",title:t.unref(s)("strikethrough"),tooltip:e.config.tooltip,leftBorder:x.value.leftBorder,rightBorder:x.value.rightBorder,color:e.color,active:x.value.active,disabled:x.value.disabled,onOperate:Z},{default:t.withCtx((()=>[t.createVNode(Da,{value:"strikethrough"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),C.value.show?(t.openBlock(),t.createBlock(Wa,{key:8,name:"underline",title:t.unref(s)("underline"),tooltip:e.config.tooltip,leftBorder:C.value.leftBorder,rightBorder:C.value.rightBorder,color:e.color,active:C.value.active,disabled:C.value.disabled,onOperate:K},{default:t.withCtx((()=>[t.createVNode(Da,{value:"underline"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),B.value.show?(t.openBlock(),t.createBlock(Wa,{key:9,name:"code",title:t.unref(s)("code"),tooltip:e.config.tooltip,leftBorder:B.value.leftBorder,rightBorder:B.value.rightBorder,color:e.color,active:B.value.active,disabled:B.value.disabled,onOperate:q},{default:t.withCtx((()=>[t.createVNode(Da,{value:"code"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),T.value.show?(t.openBlock(),t.createBlock(Wa,{key:10,name:"superscript",title:t.unref(s)("superscript"),tooltip:e.config.tooltip,leftBorder:T.value.leftBorder,rightBorder:T.value.rightBorder,color:e.color,active:T.value.active,disabled:T.value.disabled,onOperate:W},{default:t.withCtx((()=>[t.createVNode(Da,{value:"superscript"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),S.value.show?(t.openBlock(),t.createBlock(Wa,{key:11,name:"subscript",title:t.unref(s)("subscript"),tooltip:e.config.tooltip,leftBorder:S.value.leftBorder,rightBorder:S.value.rightBorder,color:e.color,active:S.value.active,disabled:S.value.disabled,onOperate:U},{default:t.withCtx((()=>[t.createVNode(Da,{value:"subscript"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),N.value.show?(t.openBlock(),t.createBlock(Wa,{key:12,name:"fontSize",type:"display",title:t.unref(s)("fontSize"),tooltip:e.config.tooltip,"display-config":N.value.displayConfig,leftBorder:N.value.leftBorder,rightBorder:N.value.rightBorder,color:e.color,active:N.value.active,disabled:N.value.disabled,onOperate:j},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),O.value.show?(t.openBlock(),t.createBlock(Wa,{key:13,name:"fontFamily",type:"display",title:t.unref(s)("fontFamily"),tooltip:e.config.tooltip,"display-config":O.value.displayConfig,leftBorder:O.value.leftBorder,rightBorder:O.value.rightBorder,color:e.color,active:O.value.active,disabled:O.value.disabled,onOperate:V},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),A.value.show?(t.openBlock(),t.createBlock(Wa,{key:14,name:"lineHeight",type:"display",title:t.unref(s)("lineHeight"),tooltip:e.config.tooltip,"display-config":A.value.displayConfig,leftBorder:A.value.leftBorder,rightBorder:A.value.rightBorder,color:e.color,active:A.value.active,disabled:A.value.disabled,onOperate:H},null,8,["title","tooltip","display-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),R.value.show?(t.openBlock(),t.createBlock(Wa,{key:15,name:"foreColor",type:"select",title:t.unref(s)("foreColor"),tooltip:e.config.tooltip,"select-config":R.value.selectConfig,leftBorder:R.value.leftBorder,rightBorder:R.value.rightBorder,color:e.color,active:R.value.active,disabled:R.value.disabled,hideScroll:"",ref_key:"foreColorRef",ref:u},{layer:t.withCtx((({options:n})=>[t.createVNode(eo,{tooltip:e.config.tooltip,color:e.color,value:R.value.value,onChange:P,data:n},null,8,["tooltip","color","value","data"])])),default:t.withCtx((()=>[t.createVNode(Da,{value:"font-color"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),M.value.show?(t.openBlock(),t.createBlock(Wa,{key:16,name:"backColor",type:"select",title:t.unref(s)("backColor"),tooltip:e.config.tooltip,"select-config":M.value.selectConfig,leftBorder:M.value.leftBorder,rightBorder:M.value.rightBorder,color:e.color,active:M.value.active,disabled:M.value.disabled,hideScroll:"",ref_key:"backColorRef",ref:h},{layer:t.withCtx((({options:n})=>[t.createVNode(eo,{tooltip:e.config.tooltip,color:e.color,value:M.value.value,onChange:z,data:n},null,8,["tooltip","color","value","data"])])),default:t.withCtx((()=>[t.createVNode(Da,{value:"brush"})])),_:1},8,["title","tooltip","select-config","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0),I.value.show?(t.openBlock(),t.createBlock(Wa,{key:17,name:"formatClear",title:t.unref(s)("formatClear"),tooltip:e.config.tooltip,leftBorder:I.value.leftBorder,rightBorder:I.value.rightBorder,color:e.color,active:I.value.active,disabled:I.value.disabled,onOperate:F},{default:t.withCtx((()=>[t.createVNode(Da,{value:"format-clear"})])),_:1},8,["title","tooltip","leftBorder","rightBorder","color","active","disabled"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],4)])),_:1},8,["modelValue","node","useRange"]))}}),[["__scopeId","data-v-44b03ca9"]]),co={color:{type:String,default:""},text:{type:String,default:""}},uo={class:"editify-link"},ho={class:"editify-link-label"},fo=["placeholder"],mo=["placeholder"],go={class:"editify-link-footer"},po={class:"editify-link-operations"},bo=Ta(t.defineComponent({name:"InsertLink",__name:"insertLink",props:co,emits:["insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.ref(""),i=t.ref(""),s=t.ref(!1);t.watch((()=>a.text),(e=>{i.value=e}),{immediate:!0});const c=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},d=e=>{e.currentTarget.style.borderColor=""},u=()=>{o("insert",i.value,l.value,s.value)};return(e,n)=>(t.openBlock(),t.createElementBlock("div",uo,[t.createElementVNode("div",ho,t.toDisplayString(t.unref(r)("linkAddress")),1),t.withDirectives(t.createElementVNode("input",{onFocus:c,onBlur:d,placeholder:t.unref(r)("linkTextEnterPlaceholder"),"onUpdate:modelValue":n[0]||(n[0]=e=>i.value=e),type:"text"},null,40,fo),[[t.vModelText,i.value,void 0,{trim:!0}]]),t.withDirectives(t.createElementVNode("input",{onFocus:c,onBlur:d,placeholder:t.unref(r)("linkUrlEnterPlaceholder"),"onUpdate:modelValue":n[1]||(n[1]=e=>l.value=e),type:"url"},null,40,mo),[[t.vModelText,l.value,void 0,{trim:!0}]]),t.createElementVNode("div",go,[t.createVNode(Ga,{modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),label:t.unref(r)("newWindowOpen"),color:e.color,size:10},null,8,["modelValue","label","color"]),t.createElementVNode("div",po,[t.createElementVNode("span",{style:t.normalizeStyle({color:e.color}),onClick:u},t.toDisplayString(t.unref(r)("insertLink")),5)])])]))}}),[["__scopeId","data-v-f5a2ce93"]]),vo={color:{type:String,default:""},accept:{type:Array,default:null},multiple:{type:Boolean,default:!1},maxSize:{type:Number,default:null},minSize:{type:Number,default:null},customUpload:{type:Function,default:null},handleError:{type:Function,default:null}},yo={class:"editify-image"},Eo={class:"editify-image-header"},wo={key:0,class:"editify-image-remote"},ko=["placeholder"],_o={key:1,class:"editify-image-upload"},xo=["multiple"],Co=Ta(t.defineComponent({name:"InsertImage",__name:"insertImage",props:vo,emits:["change","insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.inject("editify"),i=t.ref("upload"),s=t.ref(""),c=t.computed((()=>e=>i.value==e?{color:a.color}:{})),d=e=>{const t=e.name.lastIndexOf(".");return t<=0?"":e.name.substring(t+1)},u=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},h=e=>{e.currentTarget.style.borderColor=""},f=()=>{o("insert",s.value)},m=async e=>{const t=e.currentTarget,n=t.files;if(!n||!n.length)return;let r=[];for(let o=0;o<n.length;o++){const e=n[o],t=d(e);a.accept.some((e=>e.toLocaleLowerCase()==t.toLocaleLowerCase()))?a.maxSize&&e.size/1024>a.maxSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["maxSizeError",e]):a.minSize&&e.size/1024<a.minSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["minSizeError",e]):r.push(e):"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["suffixError",e])}if(r.length){let e=[];if("function"==typeof a.customUpload)e=await a.customUpload.apply(l.proxy,[r])||[];else for(let t=0;t<r.length;t++){const n=await ie.dataFileToBase64(r[t]);e.push(n)}e.forEach((e=>{o("insert",e)}))}t.value=""};return t.watch((()=>i.value),(()=>{o("change")})),(e,n)=>(t.openBlock(),t.createElementBlock("div",yo,[t.createElementVNode("div",Eo,[t.createElementVNode("div",{onClick:n[0]||(n[0]=e=>i.value="upload"),class:t.normalizeClass(["editify-image-header-item",{"editify-active":"upload"==i.value}]),style:t.normalizeStyle(c.value("upload"))},t.toDisplayString(t.unref(r)("uploadImage")),7),t.createElementVNode("div",{onClick:n[1]||(n[1]=e=>i.value="remote"),class:t.normalizeClass(["editify-image-header-item",{"editify-active":"remote"==i.value}]),style:t.normalizeStyle(c.value("remote"))},t.toDisplayString(t.unref(r)("remoteImage")),7),t.createElementVNode("div",{class:t.normalizeClass(["editify-image-header-slider","editify-"+i.value]),style:t.normalizeStyle({backgroundColor:e.color||""})},null,6)]),"remote"==i.value?(t.openBlock(),t.createElementBlock("div",wo,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),placeholder:t.unref(r)("imageUrlPlaceholder"),onBlur:h,onFocus:u},null,40,ko),[[t.vModelText,s.value,void 0,{trim:!0}]]),t.createElementVNode("div",{class:"editify-image-remote-footer",style:t.normalizeStyle({color:e.color})},[t.createElementVNode("span",{onClick:f},t.toDisplayString(t.unref(r)("insert")),1)],4)])):(t.openBlock(),t.createElementBlock("div",_o,[t.createVNode(Da,{value:"upload"}),t.createElementVNode("input",{multiple:e.multiple,accept:"image/*",onChange:m,type:"file"},null,40,xo)]))]))}}),[["__scopeId","data-v-735f42e9"]]),Bo={color:{type:String,default:""},accept:{type:Array,default:null},multiple:{type:Boolean,default:!1},maxSize:{type:Number,default:null},minSize:{type:Number,default:null},customUpload:{type:Function,default:null},handleError:{type:Function,default:null}},To={class:"editify-video"},So={class:"editify-video-header"},No={key:0,class:"editify-video-remote"},Oo=["placeholder"],Ao={key:1,class:"editify-video-upload"},Ro=["multiple"],Mo=Ta(t.defineComponent({name:"InsertVideo",__name:"insertVideo",props:Bo,emits:["change","insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.inject("editify"),i=t.ref("upload"),s=t.ref(""),c=t.computed((()=>e=>i.value==e?{color:a.color}:{})),d=e=>{const t=e.name.lastIndexOf(".");return t<=0?"":e.name.substring(t+1)},u=e=>{a.color&&(e.currentTarget.style.borderColor=a.color)},h=e=>{e.currentTarget.style.borderColor=""},f=()=>{o("insert",s.value)},m=async e=>{const t=e.currentTarget,n=t.files;if(!n||!n.length)return;let r=[];for(let o=0;o<n.length;o++){const e=n[o],t=d(e);a.accept.some((e=>e.toLocaleLowerCase()==t.toLocaleLowerCase()))?a.maxSize&&e.size/1024>a.maxSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["maxSizeError",e]):a.minSize&&e.size/1024<a.minSize?"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["minSizeError",e]):r.push(e):"function"==typeof a.handleError&&a.handleError.apply(l.proxy,["suffixError",e])}if(r.length){let e=[];if("function"==typeof a.customUpload)e=await a.customUpload.apply(l.proxy,[r])||[];else for(let t=0;t<r.length;t++){const n=await ie.dataFileToBase64(r[t]);e.push(n)}e.forEach((e=>{o("insert",e)}))}t.value=""};return t.watch((()=>i.value),(()=>{o("change")})),(e,n)=>(t.openBlock(),t.createElementBlock("div",To,[t.createElementVNode("div",So,[t.createElementVNode("div",{onClick:n[0]||(n[0]=e=>i.value="upload"),class:t.normalizeClass(["editify-video-header-item",{"editify-active":"upload"==i.value}]),style:t.normalizeStyle(c.value("upload"))},t.toDisplayString(t.unref(r)("uploadVideo")),7),t.createElementVNode("div",{onClick:n[1]||(n[1]=e=>i.value="remote"),class:t.normalizeClass(["editify-video-header-item",{"editify-active":"remote"==i.value}]),style:t.normalizeStyle(c.value("remote"))},t.toDisplayString(t.unref(r)("remoteVideo")),7),t.createElementVNode("div",{class:t.normalizeClass(["editify-video-header-slider","editify-"+i.value]),style:t.normalizeStyle({backgroundColor:e.color||""})},null,6)]),"remote"==i.value?(t.openBlock(),t.createElementBlock("div",No,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[2]||(n[2]=e=>s.value=e),placeholder:t.unref(r)("videoUrlPlaceholder"),onBlur:h,onFocus:u},null,40,Oo),[[t.vModelText,s.value,void 0,{trim:!0}]]),t.createElementVNode("div",{class:"editify-video-remote-footer",style:t.normalizeStyle({color:e.color})},[t.createElementVNode("span",{onClick:f},t.toDisplayString(t.unref(r)("insert")),1)],4)])):(t.openBlock(),t.createElementBlock("div",Ao,[t.createVNode(Da,{value:"upload"}),t.createElementVNode("input",{multiple:e.multiple,accept:"video/*",onChange:m,type:"file"},null,40,Ro)]))]))}}),[["__scopeId","data-v-4d375427"]]),Io={color:{type:String,default:""},maxRows:{type:Number,default:10},maxColumns:{type:Number,default:10}},Lo={class:"editify-table"},Do=["onMouseenter","onClick"],$o=[(e=>(t.pushScopeId("data-v-9a40c4f5"),e=e(),t.popScopeId(),e))((()=>t.createElementVNode("span",null,null,-1)))],Fo={class:"editify-table-footer"},zo={key:0},Po={key:1},Ho=Ta(t.defineComponent({name:"InsertTable",__name:"insertTable",props:Io,emits:["insert"],setup(e,{emit:n}){const a=e,o=n,r=t.inject("$editTrans"),l=t.ref((()=>{const e=[];for(let t=1;t<=a.maxRows;t++){let n=[];for(let e=1;e<=a.maxColumns;e++)n.push({x:t,y:e,inside:!1});e.push(n)}return e})()),i=t.computed((()=>l.value.flat().filter((e=>e.inside)).sort(((e,t)=>e.x>t.x&&e.y>t.y||e.x>t.x||e.y>t.y?-1:1))[0]));return(e,n)=>(t.openBlock(),t.createElementBlock("div",Lo,[t.createElementVNode("table",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(e=>(t.openBlock(),t.createElementBlock("tr",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e,(e=>(t.openBlock(),t.createElementBlock("td",{class:t.normalizeClass({"editify-inside":e.inside}),onMouseenter:t=>(e=>{for(let t in l.value){const n=l.value[t];for(let a in n)n[a].x<=e.x&&n[a].y<=e.y?l.value[t][a].inside=!0:l.value[t][a].inside=!1}})(e),onClick:t=>{var n;o("insert",(n=e).x,n.y)}},$o,42,Do)))),256))])))),256))]),t.createElementVNode("div",Fo,[i.value?(t.openBlock(),t.createElementBlock("span",zo,t.toDisplayString(i.value.x)+" x "+t.toDisplayString(i.value.y),1)):(t.openBlock(),t.createElementBlock("span",Po,t.toDisplayString(t.unref(r)("insertTable")),1))])]))}}),[["__scopeId","data-v-9a40c4f5"]]),Vo={config:{type:Object,default:null},color:{type:String,default:""}},jo=["data-editify-mode"],Wo=Ta(t.defineComponent({name:"Menu",__name:"menu",props:Vo,setup(e,{expose:n}){const a=e,o=t.inject("editify"),r=t.inject("isSourceView"),l=t.inject("isFullScreen"),i=t.inject("canUseMenu"),s=t.inject("editor"),c=t.inject("dataRangeCaches"),d=t.inject("showBorder"),u=t.inject("$editTrans"),h=t.ref({show:a.config.undo.show,leftBorder:a.config.undo.leftBorder,rightBorder:a.config.undo.rightBorder,active:!1,disabled:!1}),f=t.ref({show:a.config.redo.show,leftBorder:a.config.redo.leftBorder,rightBorder:a.config.redo.rightBorder,active:!1,disabled:!1}),m=t.ref({show:a.config.heading.show,displayConfig:{options:a.config.heading.options,value:"",width:a.config.heading.width,maxHeight:a.config.heading.maxHeight},defaultValue:a.config.heading.defaultValue,leftBorder:a.config.heading.leftBorder,rightBorder:a.config.heading.rightBorder,active:!1,disabled:!1}),g=t.ref({show:a.config.indent.show,selectConfig:{options:a.config.indent.options,value:"",width:a.config.indent.width,maxHeight:a.config.indent.maxHeight},leftBorder:a.config.indent.leftBorder,rightBorder:a.config.indent.rightBorder,active:!1,disabled:!1}),p=t.ref({show:a.config.quote.show,leftBorder:a.config.quote.leftBorder,rightBorder:a.config.quote.rightBorder,active:!1,disabled:!1}),b=t.ref({show:a.config.align.show,selectConfig:{options:a.config.align.options,width:a.config.align.width,maxHeight:a.config.align.maxHeight},leftBorder:a.config.align.leftBorder,rightBorder:a.config.align.rightBorder,active:!1,disabled:!1}),v=t.ref({show:a.config.orderList.show,leftBorder:a.config.orderList.leftBorder,rightBorder:a.config.orderList.rightBorder,active:!1,disabled:!1}),y=t.ref({show:a.config.unorderList.show,leftBorder:a.config.unorderList.leftBorder,rightBorder:a.config.unorderList.rightBorder,active:!1,disabled:!1}),E=t.ref({show:a.config.task.show,leftBorder:a.config.task.leftBorder,rightBorder:a.config.task.rightBorder,active:!1,disabled:!1}),w=t.ref({show:a.config.bold.show,leftBorder:a.config.bold.leftBorder,rightBorder:a.config.bold.rightBorder,active:!1,disabled:!1}),k=t.ref({show:a.config.underline.show,leftBorder:a.config.underline.leftBorder,rightBorder:a.config.underline.rightBorder,active:!1,disabled:!1}),_=t.ref({show:a.config.italic.show,leftBorder:a.config.italic.leftBorder,rightBorder:a.config.italic.rightBorder,active:!1,disabled:!1}),x=t.ref({show:a.config.strikethrough.show,leftBorder:a.config.strikethrough.leftBorder,rightBorder:a.config.strikethrough.rightBorder,active:!1,disabled:!1}),C=t.ref({show:a.config.code.show,leftBorder:a.config.code.leftBorder,rightBorder:a.config.code.rightBorder,active:!1,disabled:!1}),B=t.ref({show:a.config.super.show,leftBorder:a.config.super.leftBorder,rightBorder:a.config.super.rightBorder,active:!1,disabled:!1}),T=t.ref({show:a.config.sub.show,leftBorder:a.config.sub.leftBorder,rightBorder:a.config.sub.rightBorder,active:!1,disabled:!1}),S=t.ref({show:a.config.formatClear.show,leftBorder:a.config.formatClear.leftBorder,rightBorder:a.config.formatClear.rightBorder,active:!1,disabled:!1}),N=t.ref({show:a.config.fontSize.show,displayConfig:{options:a.config.fontSize.options,value:"",width:a.config.fontSize.width,maxHeight:a.config.fontSize.maxHeight},defaultValue:a.config.fontSize.defaultValue,leftBorder:a.config.fontSize.leftBorder,rightBorder:a.config.fontSize.rightBorder,active:!1,disabled:!1}),O=t.ref({show:a.config.fontFamily.show,displayConfig:{options:a.config.fontFamily.options,value:"",width:a.config.fontFamily.width,maxHeight:a.config.fontFamily.maxHeight},defaultValue:a.config.fontFamily.defaultValue,leftBorder:a.config.fontFamily.leftBorder,rightBorder:a.config.fontFamily.rightBorder,active:!1,disabled:!1}),A=t.ref({show:a.config.lineHeight.show,displayConfig:{options:a.config.lineHeight.options,value:"",width:a.config.lineHeight.width,maxHeight:a.config.lineHeight.maxHeight},defaultValue:a.config.lineHeight.defaultValue,leftBorder:a.config.lineHeight.leftBorder,rightBorder:a.config.lineHeight.rightBorder,active:!1,disabled:!1}),R=t.ref({show:a.config.foreColor.show,selectConfig:{options:a.config.foreColor.options},leftBorder:a.config.foreColor.leftBorder,rightBorder:a.config.foreColor.rightBorder,value:"",active:!1,disabled:!1}),M=t.ref({show:a.config.backColor.show,selectConfig:{options:a.config.backColor.options},leftBorder:a.config.backColor.leftBorder,rightBorder:a.config.backColor.rightBorder,value:"",active:!1,disabled:!1}),I=t.ref({show:a.config.link.show,leftBorder:a.config.link.leftBorder,rightBorder:a.config.link.rightBorder,active:!1,disabled:!1,text:""}),L=t.ref({show:a.config.image.show,leftBorder:a.config.image.leftBorder,rightBorder:a.config.image.rightBorder,active:!1,disabled:!1,accept:a.config.image.accept,multiple:a.config.image.multiple,maxSize:a.config.image.maxSize,minSize:a.config.image.minSize,handleError:a.config.image.handleError,customUpload:a.config.image.customUpload}),D=t.ref({show:a.config.video.show,leftBorder:a.config.video.leftBorder,rightBorder:a.config.video.rightBorder,active:!1,disabled:!1,accept:a.config.video.accept,multiple:a.config.video.multiple,maxSize:a.config.video.maxSize,minSize:a.config.video.minSize,handleError:a.config.video.handleError,customUpload:a.config.video.customUpload}),$=t.ref({show:a.config.table.show,leftBorder:a.config.table.leftBorder,rightBorder:a.config.table.rightBorder,active:!1,disabled:!1,maxRows:a.config.table.maxRows,maxColumns:a.config.table.maxColumns}),F=t.ref({show:a.config.codeBlock.show,leftBorder:a.config.codeBlock.leftBorder,rightBorder:a.config.codeBlock.rightBorder,active:!1,disabled:!1}),z=t.ref({show:a.config.sourceView.show,leftBorder:a.config.sourceView.leftBorder,rightBorder:a.config.sourceView.rightBorder,active:!1,disabled:!1}),P=t.ref({show:a.config.fullScreen.show,leftBorder:a.config.fullScreen.leftBorder,rightBorder:a.config.fullScreen.rightBorder,active:!1,disabled:!1}),H=t.computed((()=>o.props.disabled||!i.value)),V=t.computed((()=>Object.keys(a.config.sequence).sort(((e,t)=>a.config.sequence[e]>a.config.sequence[t]?1:-1)))),j=t.computed((()=>e=>"sourceView"!=e&&"fullScreen"!=e&&r.value)),W=t.computed((()=>(l.value||o.props.autoheight)&&"fixed"==a.config.mode?"default":a.config.mode)),U=t.computed((()=>"fixed"!=W.value&&d.value)),q=(e,t)=>{if(!H.value&&s.value.range)if("undo"==e)o.exposed.undo();else if("redo"==e)o.exposed.redo();else if("heading"==e)la(s.value,c.value,u,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("indent"==e)"indent-increase"==t?ia(s.value,c.value):"indent-decrease"==t&&sa(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("quote"==e)ca(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("align"==e)da(s.value,c.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("orderList"==e)ua(s.value,c.value,!0),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("unorderList"==e)ua(s.value,c.value,!1),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("task"==e)ha(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("bold"==e)Yn(s.value,c.value,"font-weight","bold")||Yn(s.value,c.value,"font-weight","700")?ga(s.value,c.value,["font-weight"]):fa(s.value,c.value,{"font-weight":"bold"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("underline"==e)Yn(s.value,c.value,"text-decoration","underline")||Yn(s.value,c.value,"text-decoration-line","underline")?ga(s.value,c.value,["text-decoration","text-decoration-line"]):fa(s.value,c.value,{"text-decoration":"underline"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("italic"==e)Yn(s.value,c.value,"font-style","italic")?ga(s.value,c.value,["font-style"]):fa(s.value,c.value,{"font-style":"italic"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("strikethrough"==e)Yn(s.value,c.value,"text-decoration","line-through")||Yn(s.value,c.value,"text-decoration-line","line-through")?ga(s.value,c.value,["text-decoration","text-decoration-line"]):fa(s.value,c.value,{"text-decoration":"line-through"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("code"==e)ea(s.value,c.value,"data-editify-code")?pa(s.value,c.value,["data-editify-code"]):ma(s.value,c.value,{"data-editify-code":!0}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("super"==e)Yn(s.value,c.value,"vertical-align","super")?ga(s.value,c.value,["vertical-align"]):fa(s.value,c.value,{"vertical-align":"super"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("sub"==e)Yn(s.value,c.value,"vertical-align","sub")?ga(s.value,c.value,["vertical-align"]):fa(s.value,c.value,{"vertical-align":"sub"}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("formatClear"==e)ga(s.value,c.value),pa(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("fontSize"==e)fa(s.value,c.value,{"font-size":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("fontFamily"==e)fa(s.value,c.value,{"font-family":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("lineHeight"==e)ba(s.value,c.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("foreColor"==e)fa(s.value,c.value,{color:t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("backColor"==e)fa(s.value,c.value,{"background-color":t}),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender();else if("link"==e){if(!t.url)return;va(s.value,t.text,t.url,t.newOpen),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else if("image"==e){if(!t)return;ya(s.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else if("video"==e){if(!t)return;Ea(s.value,t),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()}else"table"==e?(wa(s.value,t.row,t.column),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()):"codeBlock"==e?(ka(s.value,c.value),s.value.formatElementStack(),s.value.domRender(),s.value.rangeRender()):"sourceView"==e?(r.value=!r.value,z.value.active=r.value,r.value||s.value.rangeRender()):"fullScreen"==e&&(l.value=!l.value,P.value.active=l.value,s.value.rangeRender())},K=t.defineComponent((e=>{const n=t.getCurrentInstance(),r={tooltip:a.config.tooltip,name:e.name};return()=>{if("undo"==r.name&&h.value.show)return t.h(Wa,{...r,title:u("undo"),leftBorder:h.value.leftBorder,rightBorder:h.value.rightBorder,disabled:h.value.disabled||e.disabled||H.value,color:a.color,active:h.value.active,onOperate:q},(()=>t.h(Da,{value:"undo"})));if("redo"==r.name&&f.value.show)return t.h(Wa,{...r,title:u("redo"),leftBorder:f.value.leftBorder,rightBorder:f.value.rightBorder,disabled:f.value.disabled||e.disabled||H.value,color:a.color,active:f.value.active,onOperate:q},(()=>t.h(Da,{value:"redo"})));if("heading"==r.name&&m.value.show)return t.h(Wa,{...r,type:"display",displayConfig:m.value.displayConfig,title:u("heading"),leftBorder:m.value.leftBorder,rightBorder:m.value.rightBorder,color:a.color,disabled:m.value.disabled||e.disabled||H.value,active:m.value.active,onOperate:q});if("indent"==r.name&&g.value.show)return t.h(Wa,{...r,type:"select",selectConfig:g.value.selectConfig,title:u("indent"),leftBorder:g.value.leftBorder,rightBorder:g.value.rightBorder,color:a.color,disabled:g.value.disabled||e.disabled||H.value,active:g.value.active,onOperate:q},(()=>t.h(Da,{value:"indent-increase"})));if("quote"==r.name&&p.value.show)return t.h(Wa,{...r,title:u("quote"),leftBorder:p.value.leftBorder,rightBorder:p.value.rightBorder,color:a.color,disabled:p.value.disabled||e.disabled||H.value,active:p.value.active,onOperate:q},(()=>t.h(Da,{value:"quote"})));if("align"==r.name&&b.value.show)return t.h(Wa,{...r,type:"select",selectConfig:b.value.selectConfig,title:u("align"),leftBorder:b.value.leftBorder,rightBorder:b.value.rightBorder,color:a.color,disabled:b.value.disabled||e.disabled||H.value,active:b.value.active,onOperate:q},(()=>t.h(Da,{value:"align-left"})));if("orderList"==r.name&&v.value.show)return t.h(Wa,{...r,title:u("orderList"),leftBorder:v.value.leftBorder,rightBorder:v.value.rightBorder,color:a.color,disabled:v.value.disabled||e.disabled||H.value,active:v.value.active,onOperate:q},(()=>t.h(Da,{value:"list-ordered"})));if("unorderList"==r.name&&y.value.show)return t.h(Wa,{...r,title:u("unorderList"),leftBorder:y.value.leftBorder,rightBorder:y.value.rightBorder,color:a.color,disabled:y.value.disabled||e.disabled||H.value,active:y.value.active,onOperate:q},(()=>t.h(Da,{value:"list-unordered"})));if("task"==r.name&&E.value.show)return t.h(Wa,{...r,title:u("task"),leftBorder:E.value.leftBorder,rightBorder:E.value.rightBorder,color:a.color,disabled:E.value.disabled||e.disabled||H.value,active:E.value.active,onOperate:q},(()=>t.h(Da,{value:"task"})));if("bold"==r.name&&w.value.show)return t.h(Wa,{...r,title:u("bold"),leftBorder:w.value.leftBorder,rightBorder:w.value.rightBorder,color:a.color,disabled:w.value.disabled||e.disabled||H.value,active:w.value.active,onOperate:q},(()=>t.h(Da,{value:"bold"})));if("underline"==r.name&&k.value.show)return t.h(Wa,{...r,title:u("underline"),leftBorder:k.value.leftBorder,rightBorder:k.value.rightBorder,color:a.color,disabled:k.value.disabled||e.disabled||H.value,active:k.value.active,onOperate:q},(()=>t.h(Da,{value:"underline"})));if("italic"==r.name&&_.value.show)return t.h(Wa,{...r,title:u("italic"),leftBorder:_.value.leftBorder,rightBorder:_.value.rightBorder,color:a.color,disabled:_.value.disabled||e.disabled||H.value,active:_.value.active,onOperate:q},(()=>t.h(Da,{value:"italic"})));if("strikethrough"==r.name&&x.value.show)return t.h(Wa,{...r,title:u("strikethrough"),leftBorder:x.value.leftBorder,rightBorder:x.value.rightBorder,color:a.color,disabled:x.value.disabled||e.disabled||H.value,active:x.value.active,onOperate:q},(()=>t.h(Da,{value:"strikethrough"})));if("code"==r.name&&C.value.show)return t.h(Wa,{...r,title:u("code"),leftBorder:C.value.leftBorder,rightBorder:C.value.rightBorder,color:a.color,disabled:C.value.disabled||e.disabled||H.value,active:C.value.active,onOperate:q},(()=>t.h(Da,{value:"code"})));if("super"==r.name&&B.value.show)return t.h(Wa,{...r,title:u("superscript"),leftBorder:B.value.leftBorder,rightBorder:B.value.rightBorder,color:a.color,disabled:B.value.disabled||e.disabled||H.value,active:B.value.active,onOperate:q},(()=>t.h(Da,{value:"superscript"})));if("sub"==r.name&&T.value.show)return t.h(Wa,{...r,title:u("subscript"),leftBorder:T.value.leftBorder,rightBorder:T.value.rightBorder,color:a.color,disabled:T.value.disabled||e.disabled||H.value,active:T.value.active,onOperate:q},(()=>t.h(Da,{value:"subscript"})));if("formatClear"==r.name&&S.value.show)return t.h(Wa,{...r,title:u("formatClear"),leftBorder:S.value.leftBorder,rightBorder:S.value.rightBorder,color:a.color,disabled:S.value.disabled||e.disabled||H.value,active:S.value.active,onOperate:q},(()=>t.h(Da,{value:"format-clear"})));if("fontSize"==r.name&&N.value.show)return t.h(Wa,{...r,type:"display",displayConfig:N.value.displayConfig,title:u("fontSize"),leftBorder:N.value.leftBorder,rightBorder:N.value.rightBorder,color:a.color,disabled:N.value.disabled||e.disabled||H.value,active:N.value.active,onOperate:q});if("fontFamily"==r.name&&O.value.show)return t.h(Wa,{...r,type:"display",displayConfig:O.value.displayConfig,title:u("fontFamily"),leftBorder:O.value.leftBorder,rightBorder:O.value.rightBorder,color:a.color,disabled:O.value.disabled||e.disabled||H.value,active:O.value.active,onOperate:q});if("lineHeight"==r.name&&A.value.show)return t.h(Wa,{...r,type:"display",displayConfig:A.value.displayConfig,title:u("lineHeight"),leftBorder:A.value.leftBorder,rightBorder:A.value.rightBorder,color:a.color,disabled:A.value.disabled||e.disabled||H.value,active:A.value.active,onOperate:q});if("foreColor"==r.name&&R.value.show)return t.h(Wa,{...r,ref:"btnRef",type:"select",selectConfig:R.value.selectConfig,title:u("foreColor"),leftBorder:R.value.leftBorder,rightBorder:R.value.rightBorder,color:a.color,disabled:R.value.disabled||e.disabled||H.value,active:R.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"font-color"}),layer:e=>t.h(eo,{tooltip:a.config.tooltip,value:R.value.value,data:e.options,color:a.color,onChange:e=>{q("foreColor",e);n.proxy.$refs.btnRef.show=!1}})});if("backColor"==r.name&&M.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",selectConfig:M.value.selectConfig,title:u("backColor"),leftBorder:M.value.leftBorder,rightBorder:M.value.rightBorder,color:a.color,disabled:M.value.disabled||e.disabled||H.value,active:M.value.active,onOperate:q,hideScroll:!0},{default:()=>t.h(Da,{value:"brush"}),layer:e=>t.h(eo,{tooltip:a.config.tooltip,value:M.value.value,data:e.options,color:a.color,onChange:e=>{q("backColor",e);n.proxy.$refs.btnRef.show=!1}})});if("link"==r.name&&I.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertLink"),leftBorder:I.value.leftBorder,rightBorder:I.value.rightBorder,color:a.color,disabled:I.value.disabled||e.disabled||H.value,active:I.value.active,hideScroll:!0,onLayerShow:()=>{I.value.text=ta(c.value)}},{default:()=>t.h(Da,{value:"link"}),layer:()=>t.h(bo,{color:a.color,text:I.value.text,onInsert:(e,t,a)=>{q("link",{text:e,url:t,newOpen:a});n.proxy.$refs.btnRef.show=!1}})});if("image"==r.name&&L.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertImage"),leftBorder:L.value.leftBorder,rightBorder:L.value.rightBorder,color:a.color,disabled:L.value.disabled||e.disabled||H.value,active:L.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"image"}),layer:()=>t.h(Co,{color:a.color,accept:L.value.accept,multiple:L.value.multiple,maxSize:L.value.maxSize,minSize:L.value.minSize,customUpload:L.value.customUpload,handleError:L.value.handleError,onChange:()=>{n.proxy.$refs.btnRef.$refs.layerRef.setPosition()},onInsert:e=>{q("image",e);n.proxy.$refs.btnRef.show=!1}})});if("video"==r.name&&D.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertVideo"),leftBorder:D.value.leftBorder,rightBorder:D.value.rightBorder,color:a.color,disabled:D.value.disabled||e.disabled||H.value,active:D.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"video"}),layer:()=>t.h(Mo,{color:a.color,accept:D.value.accept,multiple:D.value.multiple,maxSize:D.value.maxSize,minSize:D.value.minSize,customUpload:D.value.customUpload,handleError:D.value.handleError,onChange:()=>{n.proxy.$refs.btnRef.$refs.layerRef.setPosition()},onInsert:e=>{q("video",e);n.proxy.$refs.btnRef.show=!1}})});if("table"==r.name&&$.value.show)return t.h(Wa,{...r,type:"select",ref:"btnRef",title:u("insertTable"),leftBorder:$.value.leftBorder,rightBorder:$.value.rightBorder,color:a.color,disabled:$.value.disabled||e.disabled||H.value,active:$.value.active,hideScroll:!0},{default:()=>t.h(Da,{value:"table"}),layer:()=>t.h(Ho,{color:a.color,maxRows:$.value.maxRows,maxColumns:$.value.maxColumns,onInsert:(e,t)=>{q("table",{row:e,column:t});n.proxy.$refs.btnRef.show=!1}})});if("codeBlock"==r.name&&F.value.show)return t.h(Wa,{...r,title:u("inserCodeBlock"),leftBorder:F.value.leftBorder,rightBorder:F.value.rightBorder,color:a.color,disabled:F.value.disabled||e.disabled||H.value,active:F.value.active,onOperate:q},(()=>t.h(Da,{value:"code-block"})));if("sourceView"==r.name&&z.value.show)return t.h(Wa,{...r,title:u("sourceView"),leftBorder:z.value.leftBorder,rightBorder:z.value.rightBorder,color:a.color,disabled:z.value.disabled||e.disabled||H.value,active:z.value.active,onOperate:q},(()=>t.h(Da,{value:"source-view"})));if("fullScreen"==r.name&&P.value.show)return t.h(Wa,{...r,title:u("fullScreen"),leftBorder:P.value.leftBorder,rightBorder:P.value.rightBorder,color:a.color,disabled:P.value.disabled||e.disabled||H.value,active:P.value.active,onOperate:q},(()=>t.h(Da,{value:"full-screen"})));if(ne.isObject(a.config.extends)){const l=a.config.extends[r.name];if(l)return t.h(Wa,{...r,ref:"btnRef",type:l.type||"default",title:l.title||"",leftBorder:l.leftBorder||!1,rightBorder:l.rightBorder||!1,disabled:l.disabled||e.disabled||H.value,hideScroll:l.hideScroll||!1,active:l.active||!1,selectConfig:{width:l.width,maxHeight:l.maxHeight,options:l.options},displayConfig:{width:l.width,maxHeight:l.maxHeight,value:l.value,options:l.options},color:a.color,onLayerShow:()=>{"function"==typeof l.onLayerShow&&l.onLayerShow.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onLayerShown:()=>{"function"==typeof l.onLayerShown&&l.onLayerShown.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onLayerHidden:()=>{"function"==typeof l.onLayerHidden&&l.onLayerHidden.apply(o.proxy,[r.name,n.proxy.$refs.btnRef])},onOperate:(e,t)=>{"function"==typeof l.onOperate&&l.onOperate.apply(o.proxy,[e,t,n.proxy.$refs.btnRef])}},{default:l.default||null,layer:l.layer||null,option:l.option||null})}return null}}),{props:{name:String,disabled:Boolean}});return n({handleRangeUpdate:()=>{const e=Wn(s.value,c.value),t=Xn(s.value,c.value),n=Un(s.value,c.value),i=qn(s.value,c.value),d=Gn(s.value,c.value),u=Kn(s.value,c.value,!0),H=Kn(s.value,c.value,!1),V=Zn(s.value,c.value),j=e=>"function"==typeof a.config.extraDisabled&&a.config.extraDisabled.apply(o.proxy,[e])||!1;h.value.disabled=!s.value.history.get(-1)||j("undo"),f.value.disabled=!s.value.history.get(1)||j("redo");const W=m.value.displayConfig.options.find((e=>{let t=e;return ne.isObject(e)&&(t=e.value),s.value.range.anchor.isEqual(s.value.range.focus)?s.value.range.anchor.element.getBlock().parsedom==t:c.value.list.every((e=>e.element.isBlock()?e.element.parsedom==t:e.element.getBlock().parsedom==t))}));m.value.displayConfig.value=W?ne.isObject(W)?W.value:W:m.value.defaultValue,m.value.disabled=e||t||j("heading"),g.value.disabled=e||t||j("indent"),p.value.active=i,p.value.disabled=e||t||j("quote"),b.value.disabled=e||j("align"),v.value.active=u,v.value.disabled=e||t||j("orderList"),y.value.active=H,y.value.disabled=e||t||j("unorderList"),E.value.active=V,E.value.disabled=e||t||j("task"),w.value.active=Yn(s.value,c.value,"font-weight","bold")||Yn(s.value,c.value,"font-weight","700"),w.value.disabled=e||j("bold"),k.value.active=Yn(s.value,c.value,"text-decoration","underline")||Yn(s.value,c.value,"text-decoration-line","underline"),k.value.disabled=e||j("underline"),_.value.active=Yn(s.value,c.value,"font-style","italic"),_.value.disabled=e||j("italic"),x.value.active=Yn(s.value,c.value,"text-decoration","line-through")||Yn(s.value,c.value,"text-decoration-line","line-through"),x.value.disabled=e||j("strikethrough"),C.value.active=ea(s.value,c.value,"data-editify-code"),C.value.disabled=e||j("code"),B.value.active=Yn(s.value,c.value,"vertical-align","super"),B.value.disabled=e||j("super"),T.value.active=Yn(s.value,c.value,"vertical-align","sub"),T.value.disabled=e||j("sub"),S.value.disabled=e||j("formatClear");const U=N.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"font-size",e.value):Yn(s.value,c.value,"font-size",e)));N.value.displayConfig.value=U?ne.isObject(U)?U.value:U:N.value.defaultValue,N.value.disabled=e||j("fontSize");const q=O.value.displayConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"font-family",e.value):Yn(s.value,c.value,"font-family",e)));O.value.displayConfig.value=q?ne.isObject(q)?q.value:q:O.value.defaultValue,O.value.disabled=e||j("fontFamily");const K=A.value.displayConfig.options.find((e=>{let t=e;if(ne.isObject(e)&&(t=e.value),s.value.range.anchor.isEqual(s.value.range.focus)){const e=s.value.range.anchor.element.getBlock();return e.hasStyles()&&e.styles["line-height"]==t}return c.value.list.every((e=>{if(e.element.isBlock()||e.element.isInblock())return e.element.hasStyles()&&e.element.styles["line-height"]==t;const n=e.element.getBlock(),a=e.element.getInblock();return a?a.hasStyles()&&a.styles["line-height"]==t:n.hasStyles()&&n.styles["line-height"]==t}))}));A.value.displayConfig.value=K?ne.isObject(K)?K.value:K:A.value.defaultValue,A.value.disabled=e||j("lineHeight");const Z=R.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"color",e.value):Yn(s.value,c.value,"color",e)));R.value.value=Z?ne.isObject(Z)?Z.value:Z:"",R.value.disabled=e||j("foreColor");const G=M.value.selectConfig.options.find((e=>ne.isObject(e)?Yn(s.value,c.value,"background-color",e.value):Yn(s.value,c.value,"background-color",e)));M.value.value=G?ne.isObject(G)?G.value:G:"",M.value.disabled=e||j("backColor"),I.value.disabled=d||e||j("link"),L.value.disabled=e||j("image"),D.value.disabled=e||j("video"),$.value.disabled=e||t||n||j("table"),F.value.active=!!zn(s.value,c.value,"pre"),F.value.disabled=t||n||j("codeBlock"),z.value.active=r.value,P.value.active=l.value}}),(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify-menu",{"editify-border":U.value,"editify-source":t.unref(r)&&"inner"==W.value,"editify-fullscreen":t.unref(l)}]),"data-editify-mode":W.value,style:t.normalizeStyle(e.config.style||"")},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(V.value,(e=>(t.openBlock(),t.createBlock(t.unref(K),{name:e,disabled:j.value(e)},null,8,["name","disabled"])))),256))],14,jo))}}),[["__scopeId","data-v-67392864"]]),Uo={locale:{type:String,default:"zh_CN"},modelValue:{type:String,default:"<p><br></p>"},placeholder:{type:String,default:""},autofocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},allowCopy:{type:Boolean,default:!0},allowPaste:{type:Boolean,default:!0},allowCut:{type:Boolean,default:!0},allowPasteHtml:{type:Boolean,default:!1},border:{type:Boolean,default:!1},color:{type:String,default:"#03a8f3",validator:e=>ne.matchingText(e,"hex")},videoRatio:{type:Number,default:16/9},toolbar:{type:Object,default:null},showWordLength:{type:Boolean,default:!1},customTextPaste:{type:Function,default:null},customHtmlPaste:{type:Function,default:null},customImagePaste:{type:Function,default:null},customVideoPaste:{type:Function,default:null},customFilePaste:{type:Function,default:null},menu:{type:Object,default:null},pasteKeepMarks:{type:Object,default:null},pasteKeepStyles:{type:Object,default:null},customParseNode:{type:Function,default:null},renderRules:{type:Array,default:function(){return[]}},autoheight:{type:Boolean,default:!1},tab:{type:Boolean,default:!0}},qo={textWrapUp:"Up feed",textWrapDown:"Down feed",insertRowTop:"Insert row forward",insertRowBottom:"Insert row backward",insertColumnLeft:"Insert column forward",insertColumnRight:"Insert column backward",deleteRow:"Delete rows",deleteColumn:"Delete column",deleteTable:"Delete table",selectLanguages:"Select language",autoRecognize:"Auto",linkAddress:"Link address",newWindowOpen:"Open in new window",removeLink:"Remove",viewLink:"View",linkUrlEnterPlaceholder:"Please enter the link address",linkTextEnterPlaceholder:"Please enter the link text",width30:"Set the width to 30%",width50:"Set the width to 50%",width100:"Set the width to 100%",deleteImage:"Delete image",autoplay:"Autoplay",disabledAutoplay:"Turn off autoplay",loop:"Loop",disabledLoop:"Close loop",muted:"Mute",unmuted:"Unmute",controls:"Play control",deleteVideo:"Delete video",heading:"Heading",bold:"Bold",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6",text:"Paragraph",italic:"Italic",orderList:"Ordered list",unorderList:"Unordered list",strikethrough:"Strikethrough",underline:"Underline",code:"Inline code",superscript:"Superscript",subscript:"Subscript",fontSize:"Font size",fontFamily:"Font family",defaultFontFamily:"Default",foreColor:"Forecolor",defaultColor:"Default color",backColor:"Backcolor",formatClear:"Clear format",defaultSize:"Default",totalWordCount:"Total word count: ",align:"Alignment mode",undo:"Undo",redo:"Redo",quote:"Quote",lineHeight:"Line height",indent:"Indent",insertLink:"Insert Link",insertImage:"Insert Image",remoteImage:"Remote",uploadImage:"Upload",imageUrlPlaceholder:"Please enter the image address",insert:"Insert",insertVideo:"Insert Video",remoteVideo:"Remote",uploadVideo:"Upload",videoUrlPlaceholder:"Please enter the video address",insertTable:"Insert table",inserCodeBlock:"Insert code block",sourceView:"Code view",task:"Task",indentIncrease:"Increase indent",indentDecrease:"Reduce indent",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Align justify",defaultLineHeight:"Default",auto:"auto",fullScreen:"Full screen"},Ko={textWrapUp:"向上换行",textWrapDown:"向下换行",insertRowTop:"向前插入行",insertRowBottom:"向后插入行",insertColumnLeft:"向前插入列",insertColumnRight:"向后插入列",deleteRow:"删除行",deleteColumn:"删除列",deleteTable:"删除表格",selectLanguages:"选择语言",autoRecognize:"自动识别",linkAddress:"链接地址",newWindowOpen:"新窗口打开",removeLink:"移除链接",viewLink:"查看链接",linkUrlEnterPlaceholder:"请输入链接地址",linkTextEnterPlaceholder:"请输入链接文本",width30:"30%宽度",width50:"50%宽度",width100:"100%宽度",deleteImage:"删除图片",autoplay:"自动播放",disabledAutoplay:"关闭自动播放",loop:"循环播放",disabledLoop:"关闭循环播放",muted:"静音",unmuted:"播放声音",controls:"播放控制",deleteVideo:"删除视频",heading:"标题",bold:"粗体",h1:"一级标题",h2:"二级标题",h3:"三级标题",h4:"四级标题",h5:"五级标题",h6:"六级标题",text:"正文",italic:"斜体",orderList:"有序列表",unorderList:"无序列表",strikethrough:"删除线",underline:"下划线",code:"行内代码",superscript:"上标",subscript:"下标",fontSize:"字号",fontFamily:"字体",defaultFontFamily:"默认字体",foreColor:"前景色",defaultColor:"默认颜色",backColor:"背景色",formatClear:"清除格式",defaultSize:"默认字号",totalWordCount:"总字数:",align:"对齐方式",undo:"撤销",redo:"重做",quote:"引用",lineHeight:"行高",indent:"缩进",insertLink:"插入链接",insertImage:"插入图片",remoteImage:"网络图片",uploadImage:"上传图片",imageUrlPlaceholder:"请输入图片地址",insert:"插入",insertVideo:"插入视频",remoteVideo:"网络视频",uploadVideo:"上传视频",videoUrlPlaceholder:"请输入视频地址",insertTable:"插入表格",inserCodeBlock:"插入代码块",sourceView:"代码视图",task:"待办",indentIncrease:"增加缩进",indentDecrease:"减少缩进",alignLeft:"左对齐",alignCenter:"居中对齐",alignRight:"右对齐",alignJustify:"两端对齐",defaultLineHeight:"默认行高",auto:"自适应",fullScreen:"全屏"},Zo=["data-editify-uid"],Go=["data-editify-placeholder"],Xo=["value"],Qo={class:"editify-footer-words"},Jo=Ta(t.defineComponent({name:"editify",__name:"editify",props:Uo,emits:["update:modelValue","focus","blur","change","keydown","insertparagraph","rangeupdate","updateview"],setup(e,{expose:n,emit:a}){const o=t.getCurrentInstance(),r=e,l=a,i=(s=r.locale||"zh_CN",e=>({zh_CN:Ko,en_US:qo}[s][e]));var s;t.provide("$editTrans",i);const c=t.ref(!1),d=t.ref(!1),u=t.ref(null),h=t.ref({element:null,start:0}),f=t.ref({show:!1,node:null,type:"text"}),m=t.ref(null),g=t.ref(null),p=t.ref(null),b=t.ref(null),v=t.ref(null),E=t.ref(null),w=t.ref(null),k=t.ref(!1),_=t.ref(!1),x=t.ref(!1),C=t.ref({flatList:[],list:[]}),B=t.computed({set(e){l("update:modelValue",e)},get:()=>r.modelValue||"<p><br></p>"}),T=t.computed((()=>Y.string2dom(`<div>${B.value}</div>`).innerText)),S=t.computed((()=>!(!(w.value&&B.value&&1==w.value.stack.length&&"block"==w.value.stack[0].type&&w.value.stack[0].parsedom==y.BLOCK_NODE&&w.value.stack[0].isOnlyHasBreak())||w.value.stack[0].hasStyles()||w.value.stack[0].hasMarks())&&!d.value)),N=t.computed((()=>!_.value&&r.border)),O=t.computed((()=>{return In((e=i,t=r.locale,{use:!0,style:null,tooltip:!0,codeBlock:{languages:{show:!0,options:[{label:e("autoRecognize"),value:""},...An],width:120,maxHeight:180,leftBorder:!0,rightBorder:!1}},text:{heading:{show:!0,options:$n(e).heading,defaultValue:"p",width:"en_US"==t?150:130,maxHeight:"",leftBorder:!1,rightBorder:!0},align:{show:!1,options:$n(e).align,width:"zh_CN"==t?110:130,maxHeight:"",leftBorder:!1,rightBorder:!1},orderList:{show:!1,leftBorder:!1,rightBorder:!1},unorderList:{show:!1,leftBorder:!1,rightBorder:!1},task:{show:!1,leftBorder:!1,rightBorder:!1},bold:{show:!0,leftBorder:!1,rightBorder:!1},italic:{show:!0,leftBorder:!1,rightBorder:!1},strikethrough:{show:!0,leftBorder:!1,rightBorder:!1},underline:{show:!0,leftBorder:!1,rightBorder:!1},code:{show:!0,leftBorder:!1,rightBorder:!1},super:{show:!1,leftBorder:!1,rightBorder:!1},sub:{show:!1,leftBorder:!1,rightBorder:!1},fontSize:{show:!0,options:$n(e).fontSize,defaultValue:"",width:100,maxHeight:200,leftBorder:!0,rightBorder:!1},fontFamily:{show:!1,options:$n(e).fontFamily,defaultValue:"",width:100,maxHeight:200,leftBorder:!1,rightBorder:!1},lineHeight:{show:!1,options:$n(e).lineHeight,defaultValue:"",width:90,maxHeight:"",leftBorder:!1,rightBorder:!1},foreColor:{show:!0,options:$n(e).foreColor,leftBorder:!1,rightBorder:!1},backColor:{show:!0,options:$n(e).backColor,leftBorder:!1,rightBorder:!1},formatClear:{show:!0,leftBorder:!0,rightBorder:!1}},extraDisabled:null}),r.toolbar||{});var e,t})),A=t.computed((()=>{return In((e=i,t=r.locale,{use:!0,tooltip:!0,mode:"default",extraDisabled:null,style:null,sequence:{undo:0,redo:1,heading:2,indent:3,quote:4,align:5,orderList:6,unorderList:7,task:8,bold:9,underline:10,italic:11,strikethrough:12,code:13,super:14,sub:15,formatClear:16,fontSize:17,fontFamily:18,lineHeight:19,foreColor:20,backColor:21,link:22,image:23,video:24,table:25,codeBlock:26,sourceView:27,fullScreen:28},undo:{show:!0,leftBorder:!1,rightBorder:!1},redo:{show:!0,leftBorder:!1,rightBorder:!1},heading:{show:!0,options:$n(e).heading,defaultValue:"p",width:"en_US"==t?150:130,maxHeight:"",leftBorder:!0,rightBorder:!1},indent:{show:!0,options:$n(e).indent,width:"en_US"==t?150:110,maxHeight:"",leftBorder:!1,rightBorder:!1},quote:{show:!0,leftBorder:!1,rightBorder:!1},align:{show:!0,options:$n(e).align,width:"zh_CN"==t?110:130,maxHeight:"",leftBorder:!0,rightBorder:!1},orderList:{show:!0,leftBorder:!1,rightBorder:!1},unorderList:{show:!0,leftBorder:!1,rightBorder:!1},task:{show:!0,leftBorder:!1,rightBorder:!1},bold:{show:!0,leftBorder:!0,rightBorder:!1},underline:{show:!0,leftBorder:!1,rightBorder:!1},italic:{show:!0,leftBorder:!1,rightBorder:!1},strikethrough:{show:!0,leftBorder:!1,rightBorder:!1},code:{show:!0,leftBorder:!1,rightBorder:!1},super:{show:!0,leftBorder:!1,rightBorder:!1},sub:{show:!0,leftBorder:!1,rightBorder:!1},formatClear:{show:!0,leftBorder:!1,rightBorder:!1},fontSize:{show:!0,options:$n(e).fontSize,defaultValue:"",width:100,maxHeight:200,leftBorder:!0,rightBorder:!1},fontFamily:{show:!0,options:$n(e).fontFamily,defaultValue:"",width:100,maxHeight:200,leftBorder:!1,rightBorder:!1},lineHeight:{show:!0,options:$n(e).lineHeight,defaultValue:"",width:90,maxHeight:"",leftBorder:!1,rightBorder:!1},foreColor:{show:!0,options:$n(e).foreColor,leftBorder:!0,rightBorder:!1},backColor:{show:!0,options:$n(e).backColor,leftBorder:!1,rightBorder:!1},link:{show:!0,leftBorder:!0,rightBorder:!1},image:{show:!0,leftBorder:!1,rightBorder:!1,accept:["jpg","png","jpeg","webp","jfif","ico","gif","svg","psd"],multiple:!1,maxSize:null,minSize:null,customUpload:null,handleError:null},video:{show:!0,leftBorder:!1,rightBorder:!1,accept:["mp4","avi","mpg","wmv","mov","rm","swf","flv"],multiple:!1,maxSize:null,minSize:null,customUpload:null,handleError:null},table:{show:!0,leftBorder:!1,rightBorder:!1,maxRows:10,maxColumns:10},codeBlock:{show:!0,leftBorder:!1,rightBorder:!1},sourceView:{show:!1,leftBorder:!1,rightBorder:!1},fullScreen:{show:!1,leftBorder:!1,rightBorder:!1},extends:{}}),r.menu||{});var e,t})),R=e=>{c.value=!0,B.value=e,t.nextTick((()=>{c.value=!1}))},M=()=>{f.value.show=!1,f.value.node=null},I=()=>{r.disabled||k.value||(M(),t.nextTick((()=>{const e=zn(w.value,C.value,"table"),t=zn(w.value,C.value,"pre"),n=zn(w.value,C.value,"a"),a=zn(w.value,C.value,"img"),r=zn(w.value,C.value,"video");if(n)f.value.type="link",f.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${n.key}"]`,f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0;else if(a)f.value.type="image",f.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${a.key}"]`,f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0;else if(r)f.value.type="video",f.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${r.key}"]`,f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0;else if(e)f.value.type="table",f.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${e.key}"]`,f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0;else if(t)f.value.type="codeBlock",f.value.node=`[data-editify-uid="${o.uid}"] [data-editify-element="${t.key}"]`,f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0;else{!C.value.flatList.filter((e=>e.element.isText())).length||Xn(w.value,C.value)||Wn(w.value,C.value)||Gn(w.value,C.value)||Qn(w.value,C.value)||Jn(w.value,C.value)||(f.value.type="text",f.value.show?b.value.$refs.layerRef.setPosition():f.value.show=!0)}})))},L=()=>{w.value=new X(p.value,{value:B.value,disabled:r.disabled,renderRules:[e=>{((e,t)=>{"ol"!=t.parsedom&&"ul"!=t.parsedom||(t.hasChildren()&&t.children.forEach((n=>{const a=n.clone();a.parsedom="div",a.type=t.type,a.hasMarks()||(a.marks={}),a.marks["data-editify-list"]=t.parsedom,e.addElementBefore(a,t)})),t.toEmpty())})(w.value,e)},e=>{!function(e,t){if(Vn(t,!0)){const n=e.getPreviousElement(t);if(n&&Vn(n,!0)){const e=Number(n.marks["data-editify-value"]);t.marks["data-editify-value"]=e+1}else t.marks["data-editify-value"]=1}}(w.value,e)},e=>{!function(e,t){if("img"==t.parsedom||"video"==t.parsedom||"a"==t.parsedom){const e={"data-editify-element":t.key};t.hasMarks()?Object.assign(t.marks,e):t.marks=e}if("video"==t.parsedom){const n=e.getPreviousElement(t),a=e.getNextElement(t);if(!n||n.isEmpty()){const n=y.getSpaceElement();e.addElementBefore(n,t)}if(!a||a.isEmpty()){const n=y.getSpaceElement();e.addElementAfter(n,t)}}}(w.value,e)},e=>{_a(w.value,e)},e=>{var t,n,a,o,r,l,i;xa(w.value,e,!(!(null==(t=O.value)?void 0:t.use)||!(null==(o=null==(a=null==(n=O.value)?void 0:n.codeBlock)?void 0:a.languages)?void 0:o.show)),null==(i=null==(l=null==(r=O.value)?void 0:r.codeBlock)?void 0:l.languages)?void 0:i.options)},e=>{!function(e,t){t.hasChildren()&&t.children.forEach((n=>{if(Vn(n,!0)||Vn(n,!1)||jn(n)||["blockquote","pre","table","h1","h2","h3","h4","h5","h6","p"].includes(n.parsedom)){const a=n.clone();a.type="block";const o=t.getBlock();e.addElementAfter(a,o),n.toEmpty()}}))}(w.value,e)},...r.renderRules],allowCopy:r.allowCopy,allowPaste:r.allowPaste,allowCut:r.allowCut,allowPasteHtml:r.allowPasteHtml,customTextPaste:r.customTextPaste,customImagePaste:r.customImagePaste,customVideoPaste:r.customVideoPaste,customFilePaste:r.customFilePaste,customHtmlPaste:H,customMerge:V,customParseNode:j}),R(w.value.value),w.value.on("change",q),w.value.on("focus",Z),w.value.on("blur",K),w.value.on("insertParagraph",G),w.value.on("rangeUpdate",J),w.value.on("deleteInStart",ee),w.value.on("deleteComplete",ne),w.value.on("afterRender",ae),w.value.formatElementStack(),w.value.domRender(),!r.autofocus||k.value||r.disabled||oe()},D=()=>{p.value.querySelectorAll("video").forEach((e=>{e.style.height=e.offsetWidth/r.videoRatio+"px"}))},$=e=>{if(!r.disabled){if(Y.isContains(p.value,e.target)){const t=e.target,n=te.get(t,"data-alex-editor-key");if(n){const a=w.value.getElementByKey(n);if(a&&"td"==a.parsedom){const n=a.parent.children.length;if(a.parent.children[n-1].isEqual(a))return;const o=Y.getElementBounding(t);e.pageX>=Math.abs(o.left+t.offsetWidth-5)&&e.pageX<=Math.abs(o.left+t.offsetWidth+5)&&(h.value.element=a,h.value.start=e.pageX)}}}Y.isContains(E.value,e.target)||k.value||(x.value=!1)}},F=e=>{if(r.disabled)return;if(!h.value.element)return;const t=zn(w.value,C.value,"table");if(!t)return;const n=t.children.find((e=>"colgroup"==e.parsedom)),a=h.value.element.parent.children.findIndex((e=>e.isEqual(h.value.element))),o=""+(h.value.element.elm.offsetWidth+e.pageX-h.value.start);n.children[a].marks.width=o,n.children[a].elm.setAttribute("width",o),h.value.start=e.pageX},z=()=>{if(r.disabled)return;if(!h.value.element)return;const e=zn(w.value,C.value,"table");if(!e)return;const t=e.children.find((e=>"colgroup"==e.parsedom)),n=h.value.element.parent.children.findIndex((e=>e.isEqual(h.value.element))),a=Number(t.children[n].marks.width);isNaN(a)||(t.children[n].marks.width=`${Number((a/h.value.element.parent.elm.offsetWidth*100).toFixed(2))}%`,w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender()),h.value.element=null,h.value.start=0},P=e=>{if(!r.disabled&&Y.isContains(p.value,e.target)){const t=e.target,n=te.get(t,"data-alex-editor-key");if(n){const a=w.value.getElementByKey(n);if(jn(a)){const n=Y.getElementBounding(t);e.pageX>=Math.abs(n.left)&&e.pageX<=Math.abs(n.left+16)&&e.pageY>=Math.abs(n.top+t.offsetHeight/2-8)&&e.pageY<=Math.abs(n.top+t.offsetHeight/2+8)&&("checked"==a.marks["data-editify-task"]?a.marks["data-editify-task"]="uncheck":a.marks["data-editify-task"]="checked",w.value.range||w.value.initRange(),w.value.range.anchor.moveToEnd(a),w.value.range.focus.moveToEnd(a),w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender())}}}},H=async e=>{const t=Object.assign(Mn,r.pasteKeepStyles||{}),n=Object.assign(Rn,r.pasteKeepMarks||{});if(y.flatElements(e).forEach((e=>{let a={},o={};if(e.hasMarks()){for(let t in n)e.marks.hasOwnProperty(t)&&(Array.isArray(n[t])&&n[t].includes(e.parsedom)||"*"==n[t])&&(a[t]=e.marks[t]);e.marks=a}if(e.hasStyles()&&!e.isText()){for(let n in t)e.styles.hasOwnProperty(n)&&(Array.isArray(t[n])&&t[n].includes(e.parsedom)||"*"==t[n])&&(o[n]=e.styles[n]);e.styles=o}})),"function"==typeof r.customHtmlPaste)await r.customHtmlPaste.apply(this,[e]);else for(let a=0;a<e.length;a++)w.value.insertElement(e[a],!1)},V=(e,t)=>{const n=t.getUneditableElement();n?n.toEmpty():(t.children.push(...e.children),t.children.forEach((e=>{e.parent=t})),e.children=null)},j=e=>{if("code"==e.parsedom){e.parsedom="span";const t={"data-editify-code":!0};e.hasMarks()?Object.assign(e.marks,t):e.marks=t}return"function"==typeof r.customParseNode&&(e=r.customParseNode.apply(o.proxy,[e])),e},W=e=>{r.disabled||("tab"!=e.key.toLocaleLowerCase()||e.metaKey||e.shiftKey||e.ctrlKey||e.altKey||!r.tab||(e.preventDefault(),w.value.insertText(" "),w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender()),l("keydown",e))},U=e=>{if(r.disabled||k.value)return;const t=e.target;if("img"==t.nodeName.toLocaleLowerCase()||"video"==t.nodeName.toLocaleLowerCase()){const e=Number(t.getAttribute("data-editify-element"));if(Q.isNumber(e)){const t=w.value.getElementByKey(e);w.value.range||w.value.initRange(),w.value.range.anchor.moveToStart(t),w.value.range.focus.moveToEnd(t),w.value.rangeRender()}}},q=(e,t)=>{r.disabled||(R(e),l("change",e,t))},K=e=>{r.disabled||(r.border&&r.color&&!_.value&&(g.value.style.borderColor="",g.value.style.boxShadow="",A.value.use&&(m.value.$el.style.borderColor="",m.value.$el.style.boxShadow="")),l("blur",e))},Z=e=>{if(!r.disabled){if(r.border&&r.color&&!_.value){g.value.style.borderColor=r.color;const e=le.hex2rgb(r.color);A.value.use&&"inner"==A.value.mode?(g.value.style.boxShadow=`0 8px 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5),8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5), -8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5)`,m.value.$el.style.borderColor=r.color,m.value.$el.style.boxShadow=`0 -8px 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5),8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5), -8px 0 8px -8px rgba(${e[0]},${e[1]},${e[2]},0.5)`):(A.value.use,g.value.style.boxShadow=`0 0 8px rgba(${e[0]},${e[1]},${e[2]},0.5)`)}setTimeout((()=>{x.value=!0,l("focus",e)}),0)}},G=(e,t)=>{e.isEqual(t)||(t.isOnlyHasBreak()&&e.isOnlyHasBreak()&&t.parsedom!=y.BLOCK_NODE&&(aa(t),w.value.range.anchor.moveToStart(t),w.value.range.focus.moveToStart(t),e.toEmpty()),jn(e)&&(e.marks["data-editify-task"]="uncheck")),l("insertparagraph",B.value)},J=()=>{r.disabled||(x.value=!!w.value.range,w.value.range&&(C.value=w.value.getElementsByRange(),u.value&&(clearTimeout(u.value),u.value=null),u.value=setTimeout((()=>{(O.value.use||A.value.use)&&(O.value.use&&I(),A.value.use&&m.value.handleRangeUpdate())}),200),l("rangeupdate")))},ee=e=>{e.isBlock()&&aa(e)},ne=()=>{const e=w.value.range.anchor.element.getUneditableElement();e&&e.toEmpty()},ae=()=>{D(),l("updateview")},oe=()=>{r.disabled||(w.value.collapseToEnd(),w.value.rangeRender(),Y.setScrollTop({el:p.value,number:1e6,time:0}))};return t.watch((()=>B.value),(e=>{c.value||(w.value.stack=w.value.parseHtml(e),w.value.range=null,w.value.formatElementStack(),w.value.domRender(),w.value.rangeRender(),p.value.blur())})),t.watch((()=>k.value),(e=>{O.value.use&&(e?M():I())})),t.watch((()=>r.disabled),(e=>{e?w.value.setDisabled():w.value.setEnabled()})),t.onMounted((()=>{L(),(()=>{const e=t=>{re.on(t,`scroll.editify_${o.uid}`,(()=>{O.value.use&&f.value.show&&M()})),t.parentNode&&e(t.parentNode)};e(p.value)})(),re.on(document.documentElement,`mousedown.editify_${o.uid}`,$),re.on(document.documentElement,`mousemove.editify_${o.uid}`,F),re.on(document.documentElement,`mouseup.editify_${o.uid}`,z),re.on(document.documentElement,`click.editify_${o.uid}`,P),re.on(window,`resize.editify_${o.uid}`,D)})),t.onBeforeUnmount((()=>{(()=>{const e=t=>{re.off(t,`scroll.editify_${o.uid}`),t.parentNode&&e(t.parentNode)};e(p.value)})(),re.off(document.documentElement,`mousedown.editify_${o.uid} mousemove.editify_${o.uid} mouseup.editify_${o.uid} click.editify_${o.uid}`),re.off(window,`resize.editify_${o.uid}`),w.value.destroy()})),t.provide("editify",o),t.provide("isSourceView",k),t.provide("isFullScreen",_),t.provide("canUseMenu",x),t.provide("editor",w),t.provide("dataRangeCaches",C),t.provide("showBorder",N),n({editor:w,isSourceView:k,isFullScreen:_,canUseMenu:x,dataRangeCaches:C,textValue:T,collapseToEnd:oe,collapseToStart:()=>{r.disabled||(w.value.collapseToStart(),w.value.rangeRender(),t.nextTick((()=>{Y.setScrollTop({el:p.value,number:0,time:0})})))},undo:()=>{if(r.disabled)return;const e=w.value.history.get(-1);e&&(w.value.history.current=e.current,w.value.stack=e.stack,w.value.range=e.range,w.value.formatElementStack(),w.value.domRender(!0),w.value.rangeRender())},redo:()=>{if(r.disabled)return;const e=w.value.history.get(1);e&&(w.value.history.current=e.current,w.value.stack=e.stack,w.value.range=e.range,w.value.formatElementStack(),w.value.domRender(!0),w.value.rangeRender())}}),(e,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editify",{"editify-fullscreen":_.value,"editify-autoheight":!_.value&&e.autoheight}]),ref_key:"elRef",ref:E},[A.value.use?(t.openBlock(),t.createBlock(Wo,{key:0,config:A.value,color:e.color,ref_key:"menuRef",ref:m},null,8,["config","color"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"bodyRef",ref:g,class:t.normalizeClass(["editify-body",{"editify-border":N.value,"editify-menu_inner":A.value.use&&"inner"==A.value.mode}]),"data-editify-uid":t.unref(o).uid},[t.createElementVNode("div",{ref_key:"contentRef",ref:p,class:t.normalizeClass(["editify-content",{"editify-placeholder":S.value,"editify-disabled":e.disabled}]),onKeydown:W,onClick:U,onCompositionstart:n[0]||(n[0]=e=>d.value=!0),onCompositionend:n[1]||(n[1]=e=>d.value=!1),"data-editify-placeholder":e.placeholder},null,42,Go),k.value?(t.openBlock(),t.createElementBlock("textarea",{key:0,value:B.value,readonly:"",class:"editify-sourceview"},null,8,Xo)):t.createCommentVNode("",!0),t.createVNode(so,{ref_key:"toolbarRef",ref:b,modelValue:f.value.show,"onUpdate:modelValue":n[2]||(n[2]=e=>f.value.show=e),node:f.value.node,type:f.value.type,config:O.value,color:e.color},null,8,["modelValue","node","type","config","color"])],10,Zo),e.showWordLength?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["editify-footer",{"editify-fullscreen":_.value&&!k.value}]),ref_key:"footerRef",ref:v},[t.createElementVNode("div",Qo,t.toDisplayString(t.unref(i)("totalWordCount"))+t.toDisplayString(T.value.length),1)],2)):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3f87ab8c"]]),Yo="0.1.21",er=e=>{e.component(Jo.name,Jo)},tr={install:er,version:Yo};e.AlexElement=y,e.Editify=Jo,e.default=tr,e.elementIsInList=Pn,e.elementIsInTask=Hn,e.elementToList=oa,e.elementToParagraph=aa,e.elementToTask=ra,e.getCurrentParsedomElement=zn,e.getFlatElementsByRange=na,e.getParsedomElementByElement=Fn,e.getRangeText=ta,e.hasImageInRange=Qn,e.hasLinkInRange=Gn,e.hasListInRange=(e,t,n=!1)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Pn(e.range.anchor.element,n):t.flatList.some((e=>Pn(e.element,n)))),e.hasPreInRange=Wn,e.hasQuoteInRange=Un,e.hasTableInRange=Xn,e.hasTaskInRange=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?Hn(e.range.anchor.element):t.flatList.some((e=>Hn(e.element)))),e.hasVideoInRange=Jn,e.insertCodeBlock=ka,e.insertImage=ya,e.insertLink=va,e.insertTable=wa,e.insertVideo=Ea,e.install=er,e.isList=Vn,e.isRangeInList=Kn,e.isRangeInPre=(e,t)=>!!e.range&&(e.range.anchor.isEqual(e.range.focus)?!!Fn(e.range.anchor.element,"pre"):t.list.every((e=>!!Fn(e.element,"pre")))),e.isRangeInQuote=qn,e.isRangeInTask=Zn,e.isTask=jn,e.queryTextMark=ea,e.queryTextStyle=Yn,e.removeTextMark=pa,e.removeTextStyle=ga,e.setAlign=da,e.setHeading=la,e.setIndentDecrease=sa,e.setIndentIncrease=ia,e.setLineHeight=ba,e.setList=ua,e.setQuote=ca,e.setTask=ha,e.setTextMark=ma,e.setTextStyle=fa,e.version=Yo,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));