(function(u,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["vue-highlights"]=e():u["vue-highlights"]=e()})("undefined"!==typeof self?self:this,(function(){return function(u){var e={};function a(d){if(e[d])return e[d].exports;var t=e[d]={i:d,l:!1,exports:{}};return u[d].call(t.exports,t,t.exports,a),t.l=!0,t.exports}return a.m=u,a.c=e,a.d=function(u,e,d){a.o(u,e)||Object.defineProperty(u,e,{enumerable:!0,get:d})},a.r=function(u){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})},a.t=function(u,e){if(1&e&&(u=a(u)),8&e)return u;if(4&e&&"object"===typeof u&&u&&u.__esModule)return u;var d=Object.create(null);if(a.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:u}),2&e&&"string"!=typeof u)for(var t in u)a.d(d,t,function(e){return u[e]}.bind(null,t));return d},a.n=function(u){var e=u&&u.__esModule?function(){return u["default"]}:function(){return u};return a.d(e,"a",e),e},a.o=function(u,e){return Object.prototype.hasOwnProperty.call(u,e)},a.p="",a(a.s="fb15")}({1985:function(u,e,a){(function(u,d){var t;/*! https://mths.be/punycode v1.4.1 by @mathias */(function(n){e&&e.nodeType,u&&u.nodeType;var r="object"==typeof d&&d;r.global!==r&&r.window!==r&&r.self;var c,i=2147483647,o=36,s=1,f=26,l=38,b=700,h=72,g=128,m="-",p=/^xn--/,v=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,k={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},w=o-s,x=Math.floor,C=String.fromCharCode;function P(u){throw new RangeError(k[u])}function j(u,e){var a=u.length,d=[];while(a--)d[a]=e(u[a]);return d}function F(u,e){var a=u.split("@"),d="";a.length>1&&(d=a[0]+"@",u=a[1]),u=u.replace(y,".");var t=u.split("."),n=j(t,e).join(".");return d+n}function A(u){var e,a,d=[],t=0,n=u.length;while(t=55296&&e<=56319&&t65535&&(u-=65536,e+=C(u>>>10&1023|55296),u=56320|1023&u),e+=C(u),e})).join("")}function U(u){return u-48<10?u-22:u-65<26?u-65:u-97<26?u-97:o}function D(u,e){return u+22+75*(u<26)-((0!=e)<<5)}function S(u,e,a){var d=0;for(u=a?x(u/b):u>>1,u+=x(u/e);u>w*f>>1;d+=o)u=x(u/w);return x(d+(w+1)*u/(u+l))}function E(u){var e,a,d,t,n,r,c,l,b,p,v=[],y=u.length,k=0,w=g,C=h;for(a=u.lastIndexOf(m),a<0&&(a=0),d=0;d=128&&P("not-basic"),v.push(u.charCodeAt(d));for(t=a>0?a+1:0;t=y&&P("invalid-input"),l=U(u.charCodeAt(t++)),(l>=o||l>x((i-k)/r))&&P("overflow"),k+=l*r,b=c<=C?s:c>=C+f?f:c-C,lx(i/p)&&P("overflow"),r*=p}e=v.length+1,C=S(k-n,e,0==n),x(k/e)>i-w&&P("overflow"),w+=x(k/e),k%=e,v.splice(k++,0,w)}return z(v)}function $(u){var e,a,d,t,n,r,c,l,b,p,v,y,k,w,j,F=[];for(u=A(u),y=u.length,e=g,a=0,n=h,r=0;r=e&&vx((i-a)/k)&&P("overflow"),a+=(c-e)*k,e=c,r=0;ri&&P("overflow"),v==e){for(l=a,b=o;;b+=o){if(p=b<=n?s:b>=n+f?f:b-n,l([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),t=a.replace(d,"$1").trim());for(var l=0;l\?@\[\]\^_{|}~\$/,P=/\x09-\x0D\x20\x85\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000/,j=/[0-9]+/,F=/(?:xn--[\-0-9a-z]+)/,A=/[a-z0-9!?\*'@\(\);:&=\+\$\/%#\[\]\-_\.,~|]/i,z=/[a-z0-9\-_&=#\/]/i,U=r(/[a-z#{cyrillicLettersAndMarks}0-9!*';:=+,.$/%#[\]\-\u2013_~@|&#{latinAccentChars}]/i,{cyrillicLettersAndMarks:p,latinAccentChars:w}),D=r("\\((?:#{validGeneralUrlPathChars}+|(?:#{validGeneralUrlPathChars}*\\(#{validGeneralUrlPathChars}+\\)#{validGeneralUrlPathChars}*))\\)",{validGeneralUrlPathChars:U},"i"),S=r(/[+\-a-z#{cyrillicLettersAndMarks}0-9=_#/#{latinAccentChars}]|(?:#{validUrlBalancedParens})/i,{cyrillicLettersAndMarks:p,latinAccentChars:w,validUrlBalancedParens:D}),E=r(/(?:[^A-Za-z0-9@@$###{invalidCharsGroup}]|[#{directionalMarkersGroup}]|^)/,{invalidCharsGroup:k,directionalMarkersGroup:v}),$=f("#{punct}#{spacesGroup}#{invalidCharsGroup}#{directionalMarkersGroup}",{punct:C,spacesGroup:P,invalidCharsGroup:k,directionalMarkersGroup:v}),B=r(/[^#{invalidDomainChars}]/,{invalidDomainChars:$}),M=r(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\.)/,{validDomainChars:B}),T=r(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\.)/,{validDomainChars:B}),_=r(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/,{validDomainName:M,validSubdomain:T,validGTLD:s,validCCTLD:i,validPunycode:F}),L=r("(?:(?:#{validGeneralUrlPathChars}*(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*#{validUrlPathEndingChars})|(?:@#{validGeneralUrlPathChars}+/))",{validGeneralUrlPathChars:U,validUrlBalancedParens:D,validUrlPathEndingChars:S},"i"),G=r(/(?:[#{bmpLetterAndMarks}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}))/,{bmpLetterAndMarks:h,nonBmpCodePairs:x,astralLetterAndMarks:l}),N=r(/(?:[#{bmpLetterAndMarks}#{bmpNumerals}#{hashtagSpecialChars}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}|#{astralNumerals}))/,{bmpLetterAndMarks:h,bmpNumerals:g,hashtagSpecialChars:y,nonBmpCodePairs:x,astralLetterAndMarks:l,astralNumerals:b}),O=r(/(?:^|\uFE0E|\uFE0F|$|(?!#{hashtagAlphaNumeric}|&)#{codePoint})/,{codePoint:m,hashtagAlphaNumeric:N}),q=/(?:^|[^a-zA-Z0-9_!#$%&*@@]|(?:^|[^a-zA-Z0-9_+~.-])(?:rt|RT|rT|Rt):?)/,R=r("((#{validUrlPrecedingChars})((https?:\\/\\/)?(#{validDomain})(?::(#{validPortNumber}))?(\\/#{validUrlPath}*)?(\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?))",{validUrlPrecedingChars:E,validDomain:_,validPortNumber:j,validUrlPath:L,validUrlQueryChars:A,validUrlQueryEndingChars:z},"gi"),W=r(/(?:(?:[-a-z0-9#{latinAccentChars}]+)\.)+(?:#{validGTLD}|#{validCCTLD}|#{validPunycode})/gi,{latinAccentChars:w,validGTLD:s,validCCTLD:i,validPunycode:F}),H=(r(/^https?:\/\/t\.co\/([a-z0-9]+)(?:\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?/,{validUrlQueryChars:A,validUrlQueryEndingChars:z},"i"),/[##]/),I=r(/^(?:#{hashSigns}|:\/\/)/,{hashSigns:H}),Q=r(/(#{hashtagBoundary})(#{hashSigns})(?!\uFE0F|\u20E3)(#{hashtagAlphaNumeric}*#{hashtagAlpha}#{hashtagAlphaNumeric}*)/gi,{hashtagBoundary:O,hashSigns:H,hashtagAlphaNumeric:N,hashtagAlpha:G}),Z=/[@@]/,K=r(/^(?:#{atSigns}|[#{latinAccentChars}]|:\/\/)/,{atSigns:Z,latinAccentChars:w}),V=r("(#{validMentionPrecedingChars})(#{atSigns})([a-zA-Z0-9_]{1,20})",{validMentionPrecedingChars:q,atSigns:Z},"g"),J=r("(#{validMentionPrecedingChars})(#{atSigns})([a-zA-Z0-9_.]{1,20})",{validMentionPrecedingChars:q,atSigns:Z},"g");var X=function(u,e){if(!u||!u.match(Z))return[];const a=[],d=e.mentionsWithDots?J:V;return u.replace(d,(function(u,e,d,t,n,r){const c=r.slice(n+u.length);if(!c.match(K)){const u=n+e.length,d=u+t.length+1;a.push({username:t,indices:[u,d]})}})),a},Y=function(u){if(!u||!u.match(H))return[];let e=[];return u.replace(Q,(function(u,a,d,t,n,r){const c=r.slice(n+u.length);if(c.match(I))return;const i=n+a.length,o=i+t.length+1;e.push({hashtag:t,indices:[i,o]})})),e},uu=a("1985"),eu=a.n(uu);const au=63,du="xn--",tu={toAscii:function(u){if(u.substring(0,4)===du&&!u.match(W))return;const e=u.split(".");for(let a=0;aau)return}return e.join(".")}};var nu=tu;const ru="https://",cu={extractUrlsWithoutProtocol:!0},iu=4096,ou=/[-_./]$/;function su(u,e,a){let d=u.length;const t=nu.toAscii(a);return!(!t||!t.length)&&(d=d+t.length-a.length,e.length+d<=iu)}const fu=function(u,e=cu){if(!u||(e.extractUrlsWithoutProtocol?!u.match(/\./):!u.match(/:/)))return[];const a=[];while(R.exec(u)){const u=RegExp.$2;let d=RegExp.$3;const t=RegExp.$4,n=RegExp.$5,r=RegExp.$7;let c=R.lastIndex;const i=c-d.length;if(su(d,t||ru,n))if(t)a.push({url:d,indices:[i,c]});else{if(!e.extractUrlsWithoutProtocol||u.match(ou))continue;let t=null,o=0;if(n.replace(W,(function(u){const e=n.indexOf(u,o);o=e+u.length,t={url:u,indices:[i+e,i+o]},a.push(t)})),null==t)continue;r&&(t.url=d.replace(n,t.url),t.indices[1]=c)}}return a};var lu=fu,bu=function(u){u.sort((function(u,e){return u.indices[0]-e.indices[0]}));let e=u[0];for(let a=1;au[a].indices[0]?(u.splice(a,1),a--):e=u[a]},hu=function(u,e){const a=lu(u,e).concat(X(u,e)).concat(Y(u));return 0===a.length?[]:(bu(a),a)};const gu={"&":"&",">":">","<":"<",'"':""","'":"'"};function mu(u){return u&&u.replace(/[&"'><]/g,(function(u){return gu[u]}))}function pu(u){const e={};for(const a in u)u.hasOwnProperty(a)&&(e[a]=u[a]);return e}function vu(u,e){return u.replace(/#\{(\w+)\}/g,(function(u,a){return e[a]||""}))}const yu={disabled:!0,readonly:!0,multiple:!0,checked:!0},ku={urlClass:!0,usernameClass:!0,hashtagClass:!0,usernameUrlBase:!0,hashtagUrlBase:!0,targetBlank:!0,urlTarget:!0,invisibleTagAttrs:!0,linkAttributeBlock:!0,htmlEscapeNonEntities:!0,extractUrlsWithoutProtocol:!0,mentionsWithDots:!0};var wu=function(u){const e={};for(const a in u){let d=u[a];ku[a]||(yu[a]&&(d=d?a:null),null!=d&&(e[a]=d))}return e};const xu={disabled:!0,readonly:!0,multiple:!0,checked:!0};function Cu(u){let e="";for(const a in u){let d=u[a];xu[a]&&(d=d?a:null),null!=d&&(e+=` ${mu(a)}="${mu(d.toString())}"`)}return e}var Pu=function(u,e,a,d){const t={text:e,attr:Cu(a)};return vu("#{text}",t)};const ju=/^https?:\/\//i;var Fu=function(u,e,a){let d=u.url;const t=d;let n=mu(t);const r=pu(a.htmlAttrs||{});return d.match(ju)||(d=`http://${d}`),r.href=d,a.targetBlank&&(r.target="_blank"),a.urlClass&&(r["class"]=a.urlClass),a.urlTarget&&(r.target=a.urlTarget),Pu(u,n,r,a)},Au=function(u,e,a){const d=e.substring(u.indices[0],u.indices[0]+1),t=mu(u.username),n=pu(a.htmlAttrs||{});return n.href=a.usernameUrlBase+t,n.title=`@${t}`,n["class"]=a.usernameClass,n["data-username"]=t,Pu(u,`${d}${t}`,n,a)};const zu=/[\u0600-\u06FF]|[\u0750-\u077F]|[\u0590-\u05FF]|[\uFE70-\uFEFF]/gm;var Uu=function(u,e,a){const d=e.substring(u.indices[0],u.indices[0]+1),t=mu(u.hashtag),n=pu(a.htmlAttrs||{});return n.href=a.hashtagUrlBase+t,n.title=`#${t}`,n["class"]=a.hashtagClass,n["data-hashtag"]=t,t.charAt(0).match(zu)&&(n["class"]+=" rtl"),Pu(u,`${d}${t}`,n,a)};const Du="highlights username",Su="highlights hashtag",Eu="highlights url";var $u=function(u,e,a){let d=pu(a||{});d.usernameClass=d.usernameClass||Du,d.usernameUrlBase=d.usernameUrlBase||"/",d.hashtagClass=d.hashtagClass||Su,d.hashtagUrlBase=d.hashtagUrlBase||"/hashtag/",d.urlClass=d.urlClass||Eu,d.htmlAttrs=wu(d),d.invisibleTagAttrs=d.invisibleTagAttrs||"style='position:absolute;left:-9999px;'";let t="",n=0;e.sort((function(u,e){return u.indices[0]-e.indices[0]}));for(let r=0;r#{text}",a)}const Gu={targetBlank:!0,extractUrlsWithoutProtocol:!0,mentionsWithDots:!1};function Nu(u,e=Gu){const a=hu(u,e);return $u(u,a,e)}function Ou(u,e=Gu){const a=hu(u,e);return _u(u,a,e)}function qu(u,e,a){if(a||(a=document.createRange(),a.selectNode(u),a.setStart(u,0)),0===e.count)a.setEnd(u,e.count);else if(u&&e.count>0)if(3===u.nodeType)u.textContent.length=0){const a=qu(u,{count:e}),d=window.getSelection();a&&(a.collapse(!1),d.removeAllRanges(),d.addRange(a))}}function Wu(u,e){return Ou(u,e)}function Hu(u,e){return Nu(u,e)}var Iu={name:"VueHighlights",props:{extractUrlsWithoutProtocol:{type:Boolean,default:!0},mentionsWithDots:{type:Boolean,default:!1},caretColor:{type:String,default:"#ccc"},placeholder:{type:String,default:"What's Happening?"},value:String},data(){return{focused:!1,body:""}},computed:{showPlaceholder(){return!this.body.replace(/^\s*\n/gm,"").length},computedBody(){return Ou(this.body,{extractUrlsWithoutProtocol:this.extractUrlsWithoutProtocol,mentionsWithDots:this.mentionsWithDots})}},methods:{getCaretPos(){const u=this.$refs.mbody,e=window.getSelection();let a=e.focusNode,d=e.focusOffset;while(a){if(a===u)break;if(a.previousSibling)a=a.previousSibling,d+=a.textContent.length;else if(a=a.parentNode,null===a)break}return d},setCaretPos(u){Ru(this.$refs.mbody,u)},clear(){this.$refs.mbody.innerText="",this.body=""},onKeyUp(u){let e=this.getCaretPos();13===u.keyCode&&e++,this.body=u.target.innerText,this.$emit("input",this.body),this.$nextTick(()=>{this.setCaretPos(e)})},onFocus(u){this.focused=!0,this.$emit("focus",u)},onBlur(u){this.focused=!1,this.$emit("blur",u)}},render(u){const e=this.showPlaceholder?u("div",{attrs:{id:"mplaceholder"},staticClass:"highlights__placeholder"},this.placeholder):null,a={ref:"mbody",staticClass:"highlights__body",style:{"text-align":"initial",outline:"currentcolor none medium","user-select":"text","white-space":"pre-wrap","overflow-wrap":"break-word","caret-color":`${this.caretColor}`},attrs:{"aria-label":this.placeHolder,"aria-autocomplete":"list","aria-describedby":"mplaceholder","aria-multiline":"true",contenteditable:!0,role:"textbox",spellCheck:!0,tabindex:0},domProps:{innerHTML:this.computedBody},on:{focus:this.onFocus,blur:this.onBlur,keyup:this.onKeyUp}};return u("div",{staticClass:"highlights__container",style:{position:"relative"}},[u("div",{staticClass:"highlights__content"},[e,u("div",{staticClass:"highlights__body-container"},[u("div",a)])])])}};a.d(e,"autoHighlight",(function(){return Wu})),a.d(e,"autoLink",(function(){return Hu}));e["default"]=Iu}})})); //# sourceMappingURL=vue-highlights.umd.min.js.map