diff --git a/docs-src/Docs.vue b/docs-src/Docs.vue index 44918d9..69a8f96 100644 --- a/docs-src/Docs.vue +++ b/docs-src/Docs.vue @@ -274,7 +274,7 @@ const autoHighlighted = autoHighlight(text, { }) /* -autoLinked: +autoHighlighted: my @username, my #hashtag and myurl.com */ diff --git a/docs/index.html b/docs/index.html index 1a077a9..3865786 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -vue-highlights
\ No newline at end of file +vue-highlights
\ No newline at end of file diff --git a/docs/js/app.8b5662cb.js b/docs/js/app.bcf033dd.js similarity index 94% rename from docs/js/app.8b5662cb.js rename to docs/js/app.bcf033dd.js index 33243c4..22d19e1 100644 --- a/docs/js/app.8b5662cb.js +++ b/docs/js/app.bcf033dd.js @@ -1,2 +1,2 @@ -(function(a){function e(e){for(var u,r,d=e[0],i=e[1],c=e[2],l=0,f=[];l\?@\[\]\^_{|}~\$/,w=/\x09-\x0D\x20\x85\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000/,_=/[0-9]+/,P=/(?:xn--[\-0-9a-z]+)/,U=/[a-z0-9!?\*'@\(\);:&=\+\$\/%#\[\]\-_\.,~|]/i,A=/[a-z0-9\-_&=#\/]/i,B=n(/[a-z#{cyrillicLettersAndMarks}0-9!*';:=+,.$/%#[\]\-\u2013_~@|&#{latinAccentChars}]/i,{cyrillicLettersAndMarks:b,latinAccentChars:C}),$=n("\\((?:#{validGeneralUrlPathChars}+|(?:#{validGeneralUrlPathChars}*\\(#{validGeneralUrlPathChars}+\\)#{validGeneralUrlPathChars}*))\\)",{validGeneralUrlPathChars:B},"i"),z=n(/[+\-a-z#{cyrillicLettersAndMarks}0-9=_#/#{latinAccentChars}]|(?:#{validUrlBalancedParens})/i,{cyrillicLettersAndMarks:b,latinAccentChars:C,validUrlBalancedParens:$}),j=n(/(?:[^A-Za-z0-9@@$###{invalidCharsGroup}]|[#{directionalMarkersGroup}]|^)/,{invalidCharsGroup:y,directionalMarkersGroup:g}),F=o("#{punct}#{spacesGroup}#{invalidCharsGroup}#{directionalMarkersGroup}",{punct:k,spacesGroup:w,invalidCharsGroup:y,directionalMarkersGroup:g}),S=n(/[^#{invalidDomainChars}]/,{invalidDomainChars:F}),L=n(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\.)/,{validDomainChars:S}),E=n(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\.)/,{validDomainChars:S}),D=n(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/,{validDomainName:L,validSubdomain:E,validGTLD:c,validCCTLD:d,validPunycode:P}),T=n("(?:(?:#{validGeneralUrlPathChars}*(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*#{validUrlPathEndingChars})|(?:@#{validGeneralUrlPathChars}+/))",{validGeneralUrlPathChars:B,validUrlBalancedParens:$,validUrlPathEndingChars:z},"i"),M=n(/(?:[#{bmpLetterAndMarks}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}))/,{bmpLetterAndMarks:h,nonBmpCodePairs:x,astralLetterAndMarks:l}),N=n(/(?:[#{bmpLetterAndMarks}#{bmpNumerals}#{hashtagSpecialChars}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}|#{astralNumerals}))/,{bmpLetterAndMarks:h,bmpNumerals:p,hashtagSpecialChars:v,nonBmpCodePairs:x,astralLetterAndMarks:l,astralNumerals:f}),W=n(/(?:^|\uFE0E|\uFE0F|$|(?!#{hashtagAlphaNumeric}|&)#{codePoint})/,{codePoint:m,hashtagAlphaNumeric:N}),G=/(?:^|[^a-zA-Z0-9_!#$%&*@@]|(?:^|[^a-zA-Z0-9_+~.-])(?:rt|RT|rT|Rt):?)/,O=n("((#{validUrlPrecedingChars})((https?:\\/\\/)?(#{validDomain})(?::(#{validPortNumber}))?(\\/#{validUrlPath}*)?(\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?))",{validUrlPrecedingChars:j,validDomain:D,validPortNumber:_,validUrlPath:T,validUrlQueryChars:U,validUrlQueryEndingChars:A},"gi"),H=n(/(?:(?:[-a-z0-9#{latinAccentChars}]+)\.)+(?:#{validGTLD}|#{validCCTLD}|#{validPunycode})/gi,{latinAccentChars:C,validGTLD:c,validCCTLD:d,validPunycode:P}),R=(n(/^https?:\/\/t\.co\/([a-z0-9]+)(?:\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?/,{validUrlQueryChars:U,validUrlQueryEndingChars:A},"i"),/[##]/),q=n(/^(?:#{hashSigns}|:\/\/)/,{hashSigns:R}),V=n(/(#{hashtagBoundary})(#{hashSigns})(?!\uFE0F|\u20E3)(#{hashtagAlphaNumeric}*#{hashtagAlpha}#{hashtagAlphaNumeric}*)/gi,{hashtagBoundary:W,hashSigns:R,hashtagAlphaNumeric:N,hashtagAlpha:M}),Q=/[@@]/,Z=n(/^(?:#{atSigns}|[#{latinAccentChars}]|:\/\/)/,{atSigns:Q,latinAccentChars:C}),I=n("(#{validMentionPrecedingChars})(#{atSigns})([a-zA-Z0-9_]{1,20})",{validMentionPrecedingChars:G,atSigns:Q},"g");var J=function(a){if(!a||!a.match(Q))return[];const e=[];return a.replace(I,(function(a,t,u,s,n,r){const d=r.slice(n+a.length);if(!d.match(Z)){const a=n+t.length,u=a+s.length+1;e.push({username:s,indices:[a,u]})}})),e},K=function(a){if(!a||!a.match(R))return[];let e=[];return a.replace(V,(function(a,t,u,s,n,r){const d=r.slice(n+a.length);if(d.match(q))return;const i=n+t.length,c=i+s.length+1;e.push({hashtag:s,indices:[i,c]})})),e},X=t("1985"),Y=t.n(X);const aa=63,ea="xn--",ta={toAscii:function(a){if(a.substring(0,4)===ea&&!a.match(H))return;const e=a.split(".");for(let t=0;taa)return}return e.join(".")}};var ua=ta;const sa="https://",na={extractUrlsWithoutProtocol:!0},ra=4096,da=/[-_./]$/;function ia(a,e,t){let u=a.length;const s=ua.toAscii(t);return!(!s||!s.length)&&(u=u+s.length-t.length,e.length+u<=ra)}const ca=function(a,e=na){if(!a||(e.extractUrlsWithoutProtocol?!a.match(/\./):!a.match(/:/)))return[];const t=[];while(O.exec(a)){const a=RegExp.$2;let u=RegExp.$3;const s=RegExp.$4,n=RegExp.$5,r=RegExp.$7;let d=O.lastIndex;const i=d-u.length;if(ia(u,s||sa,n))if(s)t.push({url:u,indices:[i,d]});else{if(!e.extractUrlsWithoutProtocol||a.match(da))continue;let s=null,c=0;if(n.replace(H,(function(a){const e=n.indexOf(a,c);c=e+a.length,s={url:a,indices:[i+e,i+c]},t.push(s)})),null==s)continue;r&&(s.url=u.replace(n,s.url),s.indices[1]=d)}}return t};var oa=ca,la=function(a){a.sort((function(a,e){return a.indices[0]-e.indices[0]}));let e=a[0];for(let t=1;ta[t].indices[0]?(a.splice(t,1),t--):e=a[t]},fa=function(a,e){const t=oa(a,e).concat(J(a)).concat(K(a));return 0===t.length?[]:(la(t),t)};const ha={"&":"&",">":">","<":"<",'"':""","'":"'"};function pa(a){return a&&a.replace(/[&"'><]/g,(function(a){return ha[a]}))}function ma(a){const e={};for(const t in a)a.hasOwnProperty(t)&&(e[t]=a[t]);return e}function ba(a,e){return a.replace(/#\{(\w+)\}/g,(function(a,t){return e[t]||""}))}const ga={disabled:!0,readonly:!0,multiple:!0,checked:!0},va={urlClass:!0,usernameClass:!0,hashtagClass:!0,usernameUrlBase:!0,hashtagUrlBase:!0,targetBlank:!0,urlTarget:!0,invisibleTagAttrs:!0,linkAttributeBlock:!0,htmlEscapeNonEntities:!0,extractUrlsWithoutProtocol:!0};var ya=function(a){const e={};for(const t in a){let u=a[t];va[t]||(ga[t]&&(u=u?t:null),null!=u&&(e[t]=u))}return e};const Ca={disabled:!0,readonly:!0,multiple:!0,checked:!0};function xa(a){let e="";for(const t in a){let u=a[t];Ca[t]&&(u=u?t:null),null!=u&&(e+=` ${pa(t)}="${pa(u.toString())}"`)}return e}var ka=function(a,e,t,u){const s={text:e,attr:xa(t)};return ba("#{text}",s)};const wa=/^https?:\/\//i;var _a=function(a,e,t){let u=a.url;const s=u;let n=pa(s);const r=ma(t.htmlAttrs||{});return u.match(wa)||(u=`http://${u}`),r.href=u,t.targetBlank&&(r.target="_blank"),t.urlClass&&(r["class"]=t.urlClass),t.urlTarget&&(r.target=t.urlTarget),ka(a,n,r,t)},Pa=function(a,e,t){const u=e.substring(a.indices[0],a.indices[0]+1),s=pa(a.username),n=ma(t.htmlAttrs||{});return n.href=t.usernameUrlBase+s,n.title=`@${s}`,n["class"]=t.usernameClass,n["data-username"]=s,ka(a,`${u}${s}`,n,t)};const Ua=/[\u0600-\u06FF]|[\u0750-\u077F]|[\u0590-\u05FF]|[\uFE70-\uFEFF]/gm;var Aa=function(a,e,t){const u=e.substring(a.indices[0],a.indices[0]+1),s=pa(a.hashtag),n=ma(t.htmlAttrs||{});return n.href=t.hashtagUrlBase+s,n.title=`#${s}`,n["class"]=t.hashtagClass,n["data-hashtag"]=s,s.charAt(0).match(Ua)&&(n["class"]+=" rtl"),ka(a,`${u}${s}`,n,t)};const Ba="highlights username",$a="highlights hashtag",za="highlights url";var ja=function(a,e,t){let u=ma(t||{});u.usernameClass=u.usernameClass||Ba,u.usernameUrlBase=u.usernameUrlBase||"/",u.hashtagClass=u.hashtagClass||$a,u.hashtagUrlBase=u.hashtagUrlBase||"/hashtag/",u.urlClass=u.urlClass||za,u.htmlAttrs=ya(u),u.invisibleTagAttrs=u.invisibleTagAttrs||"style='position:absolute;left:-9999px;'";let s="",n=0;e.sort((function(a,e){return a.indices[0]-e.indices[0]}));for(let r=0;r#{text}",t)}const Ta={targetBlank:!0,extractUrlsWithoutProtocol:!0};function Ma(a,e=Ta){const t=fa(a,e);return ja(a,t,e)}function Na(a,e=Ta){const t=fa(a,e);return Ea(a,t,e)}function Wa(a,e,t){if(t||(t=document.createRange(),t.selectNode(a),t.setStart(a,0)),0===e.count)t.setEnd(a,e.count);else if(a&&e.count>0)if(3===a.nodeType)a.textContent.length=0){const t=Wa(a,{count:e}),u=window.getSelection();t&&(t.collapse(!1),u.removeAllRanges(),u.addRange(t))}}function Oa(a,e){return Na(a,e)}function Ha(a,e){return Ma(a,e)}var Ra={name:"VueHighlights",props:{extractUrlsWithoutProtocol:{type:Boolean,default:!0},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 Na(this.body,{extractUrlsWithoutProtocol:this.extractUrlsWithoutProtocol})}},methods:{getCaretPos(){const a=this.$refs.mbody,e=window.getSelection();let t=e.focusNode,u=e.focusOffset;while(t){if(t===a)break;if(t.previousSibling)t=t.previousSibling,u+=t.textContent.length;else if(t=t.parentNode,null===t)break}return u},setCaretPos(a){Ga(this.$refs.mbody,a)},clear(){this.$refs.mbody.innerText="",this.body=""},onKeyUp(a){let e=this.getCaretPos();13===a.keyCode&&e++,this.body=a.target.innerText,this.$emit("input",this.body),this.$nextTick(()=>{this.setCaretPos(e)})},onFocus(a){this.focused=!0,this.$emit("focus",a)},onBlur(a){this.focused=!1,this.$emit("blur",a)}},render(a){const e=this.showPlaceholder?a("div",{attrs:{id:"mplaceholder"},staticClass:"highlights__placeholder"},this.placeholder):null,t={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 a("div",{staticClass:"highlights__container",style:{position:"relative"}},[a("div",{staticClass:"highlights__content"},[e,a("div",{staticClass:"highlights__body-container"},[a("div",t)])])])}},qa=function(){var a=this,e=a.$createElement,u=a._self._c||e;return u("div",{attrs:{id:"app"}},[u("nav",{attrs:{id:"nav"}},[u("div",{staticClass:"flex vcenter between container"},[u("div",{staticClass:"flex vcenter"},[u("img",{staticClass:"mr-sm",attrs:{alt:"Vue logo",src:t("bd36")}}),u("router-link",{attrs:{to:"/"}},[u("h1",[a._v("vue-highlights")])])],1),u("div",{staticClass:"flex vcenter"},[u("router-link",{staticClass:"nav-item",attrs:{to:{name:"home"}}},[a._v(" Home ")]),u("router-link",{staticClass:"nav-item",attrs:{to:{name:"docs"}}},[a._v(" Documentation ")]),u("a",{staticClass:"nav-item",attrs:{href:"https://github.com/pggalaviz/vue-highlights",title:"Github",target:"_blank"}},[u("div",{staticClass:"nav-icon"},[u("svg",{attrs:{viewBox:"0 0 16 16"}},[u("path",{attrs:{d:"M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"}})])])])],1)])]),u("router-view"),a._m(0)],1)},Va=[function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("footer",{staticClass:"flex center py-md mt-lg",attrs:{id:"footer"}},[t("div",{staticClass:"text-center"},[t("div",[a._v(" © 2019 Pedro G. Galaviz ")]),t("a",{staticClass:"text-sm",attrs:{href:"http://pggalaviz.com"}},[a._v("pggalaviz.com")])])])}],Qa={name:"App"},Za=Qa,Ia=(t("cac6"),t("2877")),Ja=Object(Ia["a"])(Za,qa,Va,!1,null,null,null),Ka=Ja.exports,Xa=function(){var a=this,e=a.$createElement,u=a._self._c||e;return u("div",{staticClass:"text-center",attrs:{id:"home"}},[u("img",{attrs:{id:"logo",alt:"Vue logo",src:t("bd36")}}),u("h1",[a._v("vue-highlights")]),a._m(0),a._m(1),u("div",{staticClass:"flex center text-md"},[u("vue-highlights",{staticClass:"content-container",attrs:{placeholder:a.placeholder,caretColor:a.caretColor,extractUrlsWithoutProtocol:a.options.extractUrlsWithoutProtocol},model:{value:a.text,callback:function(e){a.text=e},expression:"text"}})],1),u("div",{staticClass:"flex center my-md"},[u("div",{staticClass:"content-container",attrs:{id:"options"}},[u("h4",[a._v("Options (props)")]),u("div",{staticClass:"flex center"},[u("label",{staticClass:"mr-lg cursor-pointer",attrs:{for:"ep"}},[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.extractUrlsWithoutProtocol,expression:"options.extractUrlsWithoutProtocol"}],attrs:{id:"ep",type:"checkbox"},domProps:{checked:Array.isArray(a.options.extractUrlsWithoutProtocol)?a._i(a.options.extractUrlsWithoutProtocol,null)>-1:a.options.extractUrlsWithoutProtocol},on:{change:function(e){var t=a.options.extractUrlsWithoutProtocol,u=e.target,s=!!u.checked;if(Array.isArray(t)){var n=null,r=a._i(t,n);u.checked?r<0&&a.$set(a.options,"extractUrlsWithoutProtocol",t.concat([n])):r>-1&&a.$set(a.options,"extractUrlsWithoutProtocol",t.slice(0,r).concat(t.slice(r+1)))}else a.$set(a.options,"extractUrlsWithoutProtocol",s)}}}),a._v(" extractUrlsWithoutProtocol ")]),u("label",{staticClass:"cursor-pointer",attrs:{for:"tb"}},[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.targetBlank,expression:"options.targetBlank"}],attrs:{id:"tb",type:"checkbox"},domProps:{checked:Array.isArray(a.options.targetBlank)?a._i(a.options.targetBlank,null)>-1:a.options.targetBlank},on:{change:function(e){var t=a.options.targetBlank,u=e.target,s=!!u.checked;if(Array.isArray(t)){var n=null,r=a._i(t,n);u.checked?r<0&&a.$set(a.options,"targetBlank",t.concat([n])):r>-1&&a.$set(a.options,"targetBlank",t.slice(0,r).concat(t.slice(r+1)))}else a.$set(a.options,"targetBlank",s)}}}),a._v(" targetBlank ")])]),u("div",{staticClass:"flex center mt-sm text-left relative"},[u("div",{staticClass:"mr-md col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"uc"}},[a._v(" usernameClass ")]),u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.usernameClass,expression:"options.usernameClass"}],staticClass:"input",attrs:{id:"uc",type:"text"},domProps:{value:a.options.usernameClass},on:{input:function(e){e.target.composing||a.$set(a.options,"usernameClass",e.target.value)}}})]),u("div",{staticClass:"col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"ut"}},[a._v(" usernameUrlBase ")]),u("div",[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.usernameUrlBase,expression:"options.usernameUrlBase"}],staticClass:"input",attrs:{id:"ut",type:"text"},domProps:{value:a.options.usernameUrlBase},on:{input:function(e){e.target.composing||a.$set(a.options,"usernameUrlBase",e.target.value)}}})])])]),u("div",{staticClass:"flex center mt-sm text-left"},[u("div",{staticClass:"mr-md col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"hc"}},[a._v(" hashtagClass ")]),u("div",[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.hashtagClass,expression:"options.hashtagClass"}],staticClass:"input",attrs:{id:"hc",type:"text"},domProps:{value:a.options.hashtagClass},on:{input:function(e){e.target.composing||a.$set(a.options,"hashtagClass",e.target.value)}}})])]),u("div",{staticClass:"col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"ht"}},[a._v(" hashtagUrlBase ")]),u("div",[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.hashtagUrlBase,expression:"options.hashtagUrlBase"}],staticClass:"input",attrs:{id:"ht",type:"text"},domProps:{value:a.options.hashtagUrlBase},on:{input:function(e){e.target.composing||a.$set(a.options,"hashtagUrlBase",e.target.value)}}})])])]),u("div",{staticClass:"flex center mt-sm text-left"},[u("div",{staticClass:"mr-md col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"urc"}},[a._v(" urlClass ")]),u("div",[u("input",{directives:[{name:"model",rawName:"v-model",value:a.options.urlClass,expression:"options.urlClass"}],staticClass:"input",attrs:{id:"urc",type:"text"},domProps:{value:a.options.urlClass},on:{input:function(e){e.target.composing||a.$set(a.options,"urlClass",e.target.value)}}})])]),u("div",{staticClass:"col-50"},[u("label",{staticClass:"label cursor-pointer",attrs:{for:"cc"}},[a._v(" caretColor ")]),u("div",[u("input",{directives:[{name:"model",rawName:"v-model",value:a.caretColor,expression:"caretColor"}],staticClass:"input",attrs:{id:"cc",type:"text"},domProps:{value:a.caretColor},on:{input:function(e){e.target.composing||(a.caretColor=e.target.value)}}})])])])])]),u("div",{staticClass:"column center vcenter"},[u("div",{staticClass:"content-container"},[u("div",{staticClass:"mb-md"},[u("h4",[a._v("HTML with links:")]),u("div",{staticClass:"text-md",domProps:{innerHTML:a._s(a.$autoLink(a.text,a.options))}})]),u("div",{staticClass:"mb-md"},[u("h4",[a._v("Text with links:")]),u("div",{staticClass:"text-center"},[u("div",{},[a._v(" "+a._s(a.$autoLink(a.text,a.options)))])])]),u("div",{staticClass:"mb-md"},[u("h4",[a._v("Model text:")]),u("div",{},[a._v(" "+a._s(a.text))])])])])])},Ya=[function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{staticClass:"mb-md",attrs:{id:"description"}},[t("b",[a._v("Easy mention, hashtag and URL highlight for Vue 2.x")])])},function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{staticClass:"flex center mb-md text-sm"},[t("div",{staticClass:"pa-md font-mono content-container",attrs:{id:"install"}},[a._v(" npm install --save vue-highlights ")])])}],ae={name:"Home",data:function(){return{placeholder:"Write something here, include @mentions, #hashtags and URLs...",text:"Hi there! @pggalaviz #vue pggalaviz.com",caretColor:"#ff3b8e",options:{targetBlank:!0,extractUrlsWithoutProtocol:!0,usernameClass:"highlights username",usernameUrlBase:"#/",hashtagClass:"highlights hashtag",hashtagUrlBase:"#/hashtag/",urlClass:"highlights url"}}}},ee=ae,te=(t("2062"),Object(Ia["a"])(ee,Xa,Ya,!1,null,null,null)),ue=te.exports,se=function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{attrs:{id:"docs"}},[t("div",{staticClass:"container"},[t("h2",[a._v("Documentation")]),t("h3",[a._v("Installation")]),t("p",[a._v("You can install via npm or yarn:")]),t("CodeSnippet",{attrs:{lang:"shell",code:a.code1}}),t("p",[a._v("And then import the component in your app:")]),t("CodeSnippet",{attrs:{lang:"js",code:a.code2}}),t("h3",[a._v("Usage")]),t("p",[a._v("Let's create our first component:")]),t("CodeSnippet",{attrs:{lang:"js",code:a.code3}}),t("p",[a._v("As you can see, the component accepts some props:")]),a._m(0),t("p",[a._v(" The exported component (vue-highlights) renders a text input that highlights all username, hashtag and URL matches. In order to work with this input some CSS classes should be attended, here's an example: ")]),t("CodeSnippet",{attrs:{lang:"css",code:a.code4}}),t("p",[a._v("With this we should get a working example.")]),a._m(1),a._m(2),t("h5",[a._v("Examples")]),t("CodeSnippet",{attrs:{lang:"js",code:a.code5}}),t("p",[a._v("Now we can render our linked/highlighted text anywhere we like:")]),t("CodeSnippet",{attrs:{lang:"js",code:a.code6}})],1)])},ne=[function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("table",{staticClass:"text-sm",staticStyle:{width:"100%"}},[t("thead",{staticClass:"mb-sm"},[t("tr",[t("th",[a._v("Prop")]),t("th",{staticClass:"px-sm"},[a._v("Type")]),t("th",{attrs:{colspan:"2"}},[a._v("Description")])])]),t("tbody",[t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" extractUrlsWithoutProtocol ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" Boolean ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" As the name says, when active, the compoponet will try to match URLs even when a protocol (http://, https://) is not found. "),t("b",[a._v("Defaults to true")])])])]),t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" caretColor ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" String ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" A valid HEX color (eg. #ccc, #ff4545). ")])])]),t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" placeholder ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" String ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" A placeholder to show when no text is entered. ")])])]),t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" usernameClass ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" String ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" The CSS class(es) that will be added to a @username match. ")])])]),t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" hashtagClass ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" String ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" The CSS class(es) that will be added to a #hashtag match. ")])])]),t("tr",[t("td",{staticClass:"props-name-col"},[t("div",{staticClass:"props-name"},[a._v(" urlClass ")])]),t("td",{staticClass:"props-type-col px-sm"},[t("div",{staticClass:"props-type"},[a._v(" String ")])]),t("td",{staticClass:"props-desc-col"},[t("div",{staticClass:"props-desc"},[a._v(" The CSS class(es) that will be added to a URL match. ")])])])])])},function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("p",[a._v("As you can see when we first imported the package, 2 functions are also exported: "),t("b",[a._v("autoLink")]),a._v(" and "),t("b",[a._v("autoHighlight")]),a._v(". ")])},function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("p",[a._v(" Both return a "),t("b",[a._v("String")]),a._v(" value which contains our highlighted text. "),t("b",[a._v("autoLink")]),a._v(" returns the matches found between "),t("b",[a._v("anchor")]),a._v(" tags for links. "),t("b",[a._v("autoHighlight")]),a._v(" returns the matches found between "),t("b",[a._v("span")]),a._v(" tags for highlight only. ")])}],re=function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{staticClass:"code-snippet box relative flex"},[t("div",{staticClass:"language"},[a._v(a._s(a.lang))]),t("div",{staticClass:"line-numbers"},a._l(a.lineCount,(function(e){return t("div",{key:e,staticClass:"line-number"},[a._v(a._s(e))])})),0),t("div",{staticClass:"render",domProps:{innerHTML:a._s(a.result)}})])},de=[],ie=(t("498a"),t("1487")),ce=t.n(ie),oe={name:"CodeSnippet",props:{code:String,lang:String},computed:{result:function(){var a=ce.a.highlight(this.lang,this.code.trim());return a.value},lineCount:function(){for(var a=this.result,e=0,t=0;t\n"),ge="\n.highlights__content {\n position: relative;\n}\n\n.highlights__placeholder {\n color: #ccc;\n position: absolute;\n top: 16px;\n left: 16px;\n z-index: -1;\n}\n\n.highlights__body-container {\n border-radius: 5px;\n border: 1px solid #eaeaea;\n padding: 16px;\n}\n\n.highlights__body {\n min-height: 60px;\n}\n\n.highlights {\n color: #ff3b8e;\n}\n",ve='\nimport { autoLink, autoHighlight } from \'vue-highlights\'\n\nconst text = \'my @username, my #hashtag and myurl.com\'\n\nconst autoLinked = autoLink(text, {\n extractUrlsWithoutProtocol: true, // Defaults to true\n targetBlank: true, // Defauls to true, applies only in URLs\n usernameClass: \'username-class\',\n usernameUrlBase: \'/users/\',\n hashtagClass: \'hashtag-class\',\n hashtagUrlBase: \'/myhashtags/\',\n urlClass: \'url-class\'\n})\n\n/*\nautoLinked:\nmy @username, my #hashtag\nand myurl.com\n*/\n\nconst autoHighlighted = autoHighlight(text, {\n extractUrlsWithoutProtocol: true, // Defaults to true\n usernameClass: \'username-class\',\n hashtagClass: \'hashtag-class\',\n urlClass: \'url-class\'\n})\n\n/*\nautoLinked:\nmy @username, my \n#hashtag and myurl.com\n*/\n',ye="\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3ed9a496&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center\",attrs:{\"id\":\"home\"}},[_c('img',{attrs:{\"id\":\"logo\",\"alt\":\"Vue logo\",\"src\":require(\"./assets/logo.png\")}}),_c('h1',[_vm._v(\"vue-highlights\")]),_vm._m(0),_vm._m(1),_c('div',{staticClass:\"flex center text-md\"},[_c('vue-highlights',{staticClass:\"content-container\",attrs:{\"placeholder\":_vm.placeholder,\"caretColor\":_vm.caretColor,\"extractUrlsWithoutProtocol\":_vm.options.extractUrlsWithoutProtocol},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1),_c('div',{staticClass:\"flex center my-md\"},[_c('div',{staticClass:\"content-container\",attrs:{\"id\":\"options\"}},[_c('h4',[_vm._v(\"Options (props)\")]),_c('div',{staticClass:\"flex center\"},[_c('label',{staticClass:\"mr-lg cursor-pointer\",attrs:{\"for\":\"ep\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.extractUrlsWithoutProtocol),expression:\"options.extractUrlsWithoutProtocol\"}],attrs:{\"id\":\"ep\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.options.extractUrlsWithoutProtocol)?_vm._i(_vm.options.extractUrlsWithoutProtocol,null)>-1:(_vm.options.extractUrlsWithoutProtocol)},on:{\"change\":function($event){var $$a=_vm.options.extractUrlsWithoutProtocol,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$c)}}}}),_vm._v(\" extractUrlsWithoutProtocol \")]),_c('label',{staticClass:\"cursor-pointer\",attrs:{\"for\":\"tb\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.targetBlank),expression:\"options.targetBlank\"}],attrs:{\"id\":\"tb\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.options.targetBlank)?_vm._i(_vm.options.targetBlank,null)>-1:(_vm.options.targetBlank)},on:{\"change\":function($event){var $$a=_vm.options.targetBlank,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.options, \"targetBlank\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.options, \"targetBlank\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.options, \"targetBlank\", $$c)}}}}),_vm._v(\" targetBlank \")])]),_c('div',{staticClass:\"flex center mt-sm text-left relative\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"uc\"}},[_vm._v(\" usernameClass \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.usernameClass),expression:\"options.usernameClass\"}],staticClass:\"input\",attrs:{\"id\":\"uc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.usernameClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"usernameClass\", $event.target.value)}}})]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"ut\"}},[_vm._v(\" usernameUrlBase \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.usernameUrlBase),expression:\"options.usernameUrlBase\"}],staticClass:\"input\",attrs:{\"id\":\"ut\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.usernameUrlBase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"usernameUrlBase\", $event.target.value)}}})])])]),_c('div',{staticClass:\"flex center mt-sm text-left\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"hc\"}},[_vm._v(\" hashtagClass \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.hashtagClass),expression:\"options.hashtagClass\"}],staticClass:\"input\",attrs:{\"id\":\"hc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.hashtagClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"hashtagClass\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"ht\"}},[_vm._v(\" hashtagUrlBase \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.hashtagUrlBase),expression:\"options.hashtagUrlBase\"}],staticClass:\"input\",attrs:{\"id\":\"ht\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.hashtagUrlBase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"hashtagUrlBase\", $event.target.value)}}})])])]),_c('div',{staticClass:\"flex center mt-sm text-left\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"urc\"}},[_vm._v(\" urlClass \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.urlClass),expression:\"options.urlClass\"}],staticClass:\"input\",attrs:{\"id\":\"urc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.urlClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"urlClass\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"cc\"}},[_vm._v(\" caretColor \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.caretColor),expression:\"caretColor\"}],staticClass:\"input\",attrs:{\"id\":\"cc\",\"type\":\"text\"},domProps:{\"value\":(_vm.caretColor)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.caretColor=$event.target.value}}})])])])])]),_c('div',{staticClass:\"column center vcenter\"},[_c('div',{staticClass:\"content-container\"},[_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"HTML with links:\")]),_c('div',{staticClass:\"text-md\",domProps:{\"innerHTML\":_vm._s(_vm.$autoLink(_vm.text, _vm.options))}})]),_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"Text with links:\")]),_c('div',{staticClass:\"text-center\"},[_c('div',{},[_vm._v(\" \"+_vm._s(_vm.$autoLink(_vm.text, _vm.options)))])])]),_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"Model text:\")]),_c('div',{},[_vm._v(\" \"+_vm._s(_vm.text))])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-md\",attrs:{\"id\":\"description\"}},[_c('b',[_vm._v(\"Easy mention, hashtag and URL highlight for Vue 2.x\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex center mb-md text-sm\"},[_c('div',{staticClass:\"pa-md font-mono content-container\",attrs:{\"id\":\"install\"}},[_vm._v(\" npm install --save vue-highlights \")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=f2fe281c&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"docs\"}},[_c('div',{staticClass:\"container\"},[_c('h2',[_vm._v(\"Documentation\")]),_c('h3',[_vm._v(\"Installation\")]),_c('p',[_vm._v(\"You can install via npm or yarn:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"shell\",\"code\":_vm.code1}}),_c('p',[_vm._v(\"And then import the component in your app:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code2}}),_c('h3',[_vm._v(\"Usage\")]),_c('p',[_vm._v(\"Let's create our first component:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code3}}),_c('p',[_vm._v(\"As you can see, the component accepts some props:\")]),_vm._m(0),_c('p',[_vm._v(\" The exported component (vue-highlights) renders a text input that highlights all username, hashtag and URL matches. In order to work with this input some CSS classes should be attended, here's an example: \")]),_c('CodeSnippet',{attrs:{\"lang\":\"css\",\"code\":_vm.code4}}),_c('p',[_vm._v(\"With this we should get a working example.\")]),_vm._m(1),_vm._m(2),_c('h5',[_vm._v(\"Examples\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code5}}),_c('p',[_vm._v(\"Now we can render our linked/highlighted text anywhere we like:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code6}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"text-sm\",staticStyle:{\"width\":\"100%\"}},[_c('thead',{staticClass:\"mb-sm\"},[_c('tr',[_c('th',[_vm._v(\"Prop\")]),_c('th',{staticClass:\"px-sm\"},[_vm._v(\"Type\")]),_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Description\")])])]),_c('tbody',[_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" extractUrlsWithoutProtocol \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" Boolean \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" As the name says, when active, the compoponet will try to match URLs even when a protocol (http://, https://) is not found. \"),_c('b',[_vm._v(\"Defaults to true\")])])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" caretColor \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" A valid HEX color (eg. #ccc, #ff4545). \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" placeholder \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" A placeholder to show when no text is entered. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" usernameClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a @username match. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" hashtagClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a #hashtag match. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" urlClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a URL match. \")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"As you can see when we first imported the package, 2 functions are also exported: \"),_c('b',[_vm._v(\"autoLink\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"autoHighlight\")]),_vm._v(\". \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" Both return a \"),_c('b',[_vm._v(\"String\")]),_vm._v(\" value which contains our highlighted text. \"),_c('b',[_vm._v(\"autoLink\")]),_vm._v(\" returns the matches found between \"),_c('b',[_vm._v(\"anchor\")]),_vm._v(\" tags for links. \"),_c('b',[_vm._v(\"autoHighlight\")]),_vm._v(\" returns the matches found between \"),_c('b',[_vm._v(\"span\")]),_vm._v(\" tags for highlight only. \")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"code-snippet box relative flex\"},[_c('div',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.lang))]),_c('div',{staticClass:\"line-numbers\"},_vm._l((_vm.lineCount),function(n){return _c('div',{key:n,staticClass:\"line-number\"},[_vm._v(_vm._s(n))])}),0),_c('div',{staticClass:\"render\",domProps:{\"innerHTML\":_vm._s(_vm.result)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeSnippet.vue?vue&type=template&id=0b2bb8ac&\"\nimport script from \"./CodeSnippet.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeSnippet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeSnippet.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Docs.vue?vue&type=template&id=4edf997a&\"\nimport script from \"./Docs.vue?vue&type=script&lang=js&\"\nexport * from \"./Docs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Docs.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport VueHighlights, { autoLink, autoHighlight } from '../src'\nimport App from './App.vue'\nimport Home from './Home.vue'\nimport Docs from './Docs.vue'\n\nimport './styles/main.styl'\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n routes: [\n { path: '/', name: 'home', component: Home },\n { path: '/docs', name: 'docs', component: Docs },\n { path: '*', component: Home }\n ]\n})\n\nVue.component(VueHighlights.name, VueHighlights)\nVue.prototype.$autoLink = autoLink\nVue.prototype.$autoHighlight = autoHighlight\n\nVue.config.productionTip = false\n\nnew Vue({\n router,\n render: h => h(App)\n}).$mount('#app')\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs-src/Home.vue?5c2b","webpack:///./docs-src/components/CodeSnippet.vue?8f76","webpack:///./docs-src/assets/logo.png","webpack:///./docs-src/Docs.vue?a2ac","webpack:///./docs-src/App.vue?6498","webpack:///./src/utils/regex/_regexSupplant.js","webpack:///./src/utils/regex/_validCCTLD.js","webpack:///./src/utils/regex/_validGTLD.js","webpack:///./src/utils/regex/index.js","webpack:///./src/utils/extractMentions.js","webpack:///./src/utils/extractHashtags.js","webpack:///./src/utils/idna.js","webpack:///./src/utils/extractUrls.js","webpack:///./src/utils/removeOverlappingEntities.js","webpack:///./src/utils/extract.js","webpack:///./src/utils/helpers.js","webpack:///./src/utils/extractHtmlAttrs.js","webpack:///./src/utils/linkToText.js","webpack:///./src/utils/linkToUrl.js","webpack:///./src/utils/linkToMention.js","webpack:///./src/utils/linkToHashtag.js","webpack:///./src/utils/autoLink.js","webpack:///./src/utils/autoHighlight.js","webpack:///./src/utils/index.js","webpack:///./src/index.js","webpack:///./docs-src/App.vue?2327","webpack:///docs-src/App.vue","webpack:///./docs-src/App.vue?a1f6","webpack:///./docs-src/App.vue","webpack:///./docs-src/Home.vue?9a9f","webpack:///docs-src/Home.vue","webpack:///./docs-src/Home.vue?7d5f","webpack:///./docs-src/Home.vue","webpack:///./docs-src/Docs.vue?21c4","webpack:///./docs-src/components/CodeSnippet.vue?139a","webpack:///docs-src/components/CodeSnippet.vue","webpack:///./docs-src/components/CodeSnippet.vue?459d","webpack:///./docs-src/components/CodeSnippet.vue","webpack:///docs-src/Docs.vue","webpack:///./docs-src/Docs.vue?2884","webpack:///./docs-src/Docs.vue","webpack:///./docs-src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","flags","regex","global","indexOf","ignoreCase","multiline","source","RegExp","replace","match","newRegex","map","validCCTLD","validGTLD","_stringSupplant","str","astralLetterAndMarks","astralNumerals","bmpLetterAndMarks","bmpNumerals","codePoint","cyrillicLettersAndMarks","directionalMarkersGroup","hashtagSpecialChars","invalidCharsGroup","latinAccentChars","nonBmpCodePairs","punct","spacesGroup","validPortNumber","validPunycode","validUrlQueryChars","validUrlQueryEndingChars","validGeneralUrlPathChars","validUrlBalancedParens","validUrlPathEndingChars","validUrlPrecedingChars","invalidDomainChars","validDomainChars","validDomainName","validSubdomain","validDomain","validUrlPath","hashtagAlpha","hashtagAlphaNumeric","hashtagBoundary","validMentionPrecedingChars","extractUrl","validAsciiDomain","hashSigns","endHashtagMatch","validHashtag","atSigns","endMentionMatch","validMention","text","mentions","before","atSign","mentionText","offset","chunk","after","startPosition","endPosition","username","indices","tags","hash","hashText","hashtag","MAX_DOMAIN_LABEL_LENGTH","PUNYCODE_ENCODED_DOMAIN_PREFIX","idna","toAscii","domain","substring","labels","split","label","punycodeEncodedLabel","toASCII","join","DEFAULT_PROTOCOL","DEFAULT_PROTOCOL_OPTIONS","extractUrlsWithoutProtocol","MAX_URL_LENGTH","invalidUrlWithoutProtocolPrecedingChars","isValidUrl","url","protocol","urlLength","punycodeEncodedDomain","extractUrlsWithIndices","options","urls","exec","$2","$3","$4","$5","path","$7","lastIndex","lastUrl","asciiEndPosition","asciiDomain","asciiStartPosition","extractUrls","entities","sort","a","b","prev","concat","extractMentions","extractHashtags","removeOverlappingEntities","HTML_ENTITIES","htmlEscape","character","clone","k","stringSupplant","BOOLEAN_ATTRIBUTES","disabled","readonly","multiple","checked","OPTIONS_NOT_ATTRIBUTES","urlClass","usernameClass","hashtagClass","usernameUrlBase","hashtagUrlBase","targetBlank","urlTarget","invisibleTagAttrs","linkAttributeBlock","htmlEscapeNonEntities","htmlAttrs","v","_tagAttrs","attributes","toString","opts","attr","urlHasProtocol","entity","displayUrl","linkText","attrs","href","target","linkToText","at","user","title","rtlChars","charAt","DEFAULT_USERNAME_CLASS","DEFAULT_HASHTAG_CLASS","DEFAULT_URL_CLASS","extractHtmlAttrs","beginIndex","linkToUrl","linkToMention","linkToHashtag","_insertTag","tag","classes","defaultOptions","extract","autoLink","highlight","autoHighlight","createRange","node","chars","range","document","selectNode","setStart","count","setEnd","nodeType","textContent","childNodes","setCaretPosition","caretPosition","selection","getSelection","collapse","removeAllRanges","addRange","props","type","Boolean","default","caretColor","String","placeholder","focused","body","computed","this","methods","parent","$refs","mbody","focusNode","charCount","focusOffset","previousSibling","parentNode","innerText","e","getCaretPos","keyCode","$emit","$nextTick","setCaretPos","h","placeHolder","showPlaceholder","id","staticClass","input","ref","style","outline","contenteditable","role","spellCheck","tabindex","domProps","innerHTML","computedBody","on","focus","onFocus","blur","onBlur","keyup","onKeyUp","position","_vm","_h","$createElement","_c","_self","_v","_m","staticRenderFns","component","model","callback","$$v","expression","directives","rawName","Array","isArray","_i","$event","$$a","$$el","$$c","$$i","$set","composing","_s","$autoLink","code1","code2","code3","code4","code5","code6","staticStyle","lang","_l","code","highlighted","lineCount","components","Vue","use","VueRouter","router","routes","Home","Docs","VueHighlights","$autoHighlight","config","productionTip","render","App","$mount"],"mappings":"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","file":"js/app.bcf033dd.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"e58e\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&lang=stylus&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=style&index=0&lang=stylus&\"","module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=style&index=0&lang=stylus&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=stylus&\"","\nexport default function (regex, map, flags) {\n flags = flags || ''\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g'\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i'\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm'\n }\n regex = regex.source\n }\n\n return new RegExp(\n regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n let newRegex = map[name] || ''\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source\n }\n return newRegex\n }),\n flags\n )\n}\n","import regexSupplant from './_regexSupplant'\n\nconst validCCTLD = regexSupplant(\n RegExp(\n '(?:(?:' +\n '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|' +\n 'ਭਾਰਤ|ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|موريتانيا|مليسيا|مصر|قطر|فلسطين|عمان|عراق|' +\n 'سورية|سودان|تونس|بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|' +\n 'мон|мкд|ею|бел|бг|ελ|zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|' +\n 'tt|tr|tp|to|tn|tm|tl|tk|tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|' +\n 'se|sd|sc|sb|sa|rw|ru|rs|ro|re|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|' +\n 'nl|ni|ng|nf|ne|nc|na|mz|my|mx|mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|' +\n 'lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|' +\n 'im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|' +\n 'fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|' +\n 'ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|' +\n 'at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' +\n ')(?=[^0-9a-zA-Z@]|$))'\n )\n)\n\nexport default validCCTLD\n","import regexSupplant from './_regexSupplant'\n\nconst validGTLD = regexSupplant(\n RegExp(\n '(?:(?:' +\n '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|' +\n '政府|政务|招聘|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|' +\n '中文网|中信|世界|ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|' +\n 'كاثوليك|عرب|شبكة|بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|' +\n 'католик|дети|zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|' +\n 'yandex|yamaxun|yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|' +\n 'works|work|woodside|wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|' +\n 'weir|weibo|wedding|wed|website|weber|webcam|weatherchannel|weather|watches|watch|warman|' +\n 'wanggou|wang|walter|walmart|wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|' +\n 'vlaanderen|vivo|viva|vistaprint|vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|' +\n 'viajes|vet|versicherung|vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|' +\n 'vana|vacations|ups|uol|uno|university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|' +\n 'trust|travelersinsurance|travelers|travelchannel|travel|training|trading|trade|toys|toyota|' +\n 'town|tours|total|toshiba|toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|' +\n 'tiffany|tienda|tickets|tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|' +\n 'technology|tech|team|tdk|tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|' +\n 'systems|symantec|sydney|swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|' +\n 'sucks|style|study|studio|stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|' +\n 'statebank|starhub|star|staples|stada|srt|srl|spreadbetting|spot|sport|spiegel|space|soy|sony|' +\n 'song|solutions|solar|sohu|software|softbank|social|soccer|sncf|smile|smart|sling|skype|sky|' +\n 'skin|ski|site|singles|sina|silk|shriram|showtime|show|shouji|shopping|shop|shoes|shiksha|shia|' +\n 'shell|shaw|sharp|shangrila|sfr|sexy|sex|sew|seven|ses|services|sener|select|seek|security|' +\n 'secure|seat|search|scot|scor|scjohnson|science|schwarz|schule|school|scholarships|schmidt|' +\n 'schaeffler|scb|sca|sbs|sbi|saxo|save|sas|sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|' +\n 'samsclub|salon|sale|sakura|safety|safe|saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|' +\n 'rodeo|rocks|rocher|rmit|rip|rio|ril|rightathome|ricoh|richardli|rich|rexroth|reviews|review|' +\n 'restaurant|rest|republican|report|repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|' +\n 'redumbrella|redstone|red|recipes|realty|realtor|realestate|read|raid|radio|racing|qvc|quest|' +\n 'quebec|qpon|pwc|pub|prudential|pru|protection|property|properties|promo|progressive|prof|' +\n 'productions|prod|pro|prime|press|praxi|pramerica|post|porn|politie|poker|pohl|pnc|plus|' +\n 'plumbing|playstation|play|place|pizza|pioneer|pink|ping|pin|pid|pictures|pictet|pics|piaget|' +\n 'physio|photos|photography|photo|phone|philips|phd|pharmacy|pfizer|pet|pccw|pay|passagens|' +\n 'party|parts|partners|pars|paris|panerai|panasonic|pamperedchef|page|ovh|ott|otsuka|osaka|' +\n 'origins|orientexpress|organic|org|orange|oracle|open|ooo|onyourside|online|onl|ong|one|omega|' +\n 'ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|obi|nyc|ntt|nrw|nra|nowtv|nowruz|' +\n 'now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|nike|nico|nhk|ngo|nfl|nexus|' +\n 'nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|net|nec|nba|navy|natura|' +\n 'nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|msd|movistar|movie|mov|' +\n 'motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|monash|mom|moi|moe|moda|' +\n 'mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|miami|metlife|merckmsd|' +\n 'meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|mcd|mba|mattel|' +\n 'maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|makeup|maison|' +\n 'maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|lotte|' +\n 'london|lol|loft|locus|locker|loans|loan|llc|lixil|living|live|lipsy|link|linde|lincoln|limo|' +\n 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' +\n 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' +\n 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' +\n 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|' +\n 'kerryhotels|kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|' +\n 'jewelry|jetzt|jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|' +\n 'ipiranga|investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|' +\n 'infiniti|industries|inc|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|' +\n 'hyundai|hyatt|hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|' +\n 'horse|honeywell|honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|' +\n 'hitachi|hisamitsu|hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|' +\n 'haus|hangout|hamburg|hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|' +\n 'gratis|graphics|grainger|gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|' +\n 'godaddy|gmx|gmo|gmbh|gmail|globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|' +\n 'genting|gent|gea|gdn|gbiz|garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|' +\n 'fund|fun|fujixerox|fujitsu|ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|' +\n 'forum|forsale|forex|ford|football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|' +\n 'flights|flickr|fitness|fit|fishing|fish|firmdale|firestone|fire|financial|finance|final|film|' +\n 'fido|fidelity|fiat|ferrero|ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|' +\n 'faith|fairwinds|fail|fage|extraspace|express|exposed|expert|exchange|everbank|events|eus|' +\n 'eurovision|etisalat|esurance|estate|esq|erni|ericsson|equipment|epson|epost|enterprises|' +\n 'engineering|engineer|energy|emerck|email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|' +\n 'dupont|duns|dunlop|duck|dubai|dtv|drive|download|dot|doosan|domains|doha|dog|dodge|doctor|' +\n 'docs|dnp|diy|dish|discover|discount|directory|direct|digital|diet|diamonds|dhl|dev|design|' +\n 'desi|dentist|dental|democrat|delta|deloitte|dell|delivery|degree|deals|dealer|deal|dds|dclk|' +\n 'day|datsun|dating|date|data|dance|dad|dabur|cyou|cymru|cuisinella|csc|cruises|cruise|crs|' +\n 'crown|cricket|creditunion|creditcard|credit|courses|coupons|coupon|country|corsica|coop|cool|' +\n 'cookingchannel|cooking|contractors|contact|consulting|construction|condos|comsec|computer|' +\n 'compare|company|community|commbank|comcast|com|cologne|college|coffee|codes|coach|clubmed|' +\n 'club|cloud|clothing|clinique|clinic|click|cleaning|claims|cityeats|city|citic|citi|citadel|' +\n 'cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|chintai|cheap|chat|chase|charity|' +\n 'channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|catering|cat|casino|cash|' +\n 'caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|capitalone|capital|' +\n 'capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|bzh|buzz|buy|' +\n 'business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|bridgestone|' +\n 'bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|boehringer|' +\n 'boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|black|biz|bio|' +\n 'bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|beats|bcn|bcg|' +\n 'bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|barclaycard|' +\n 'barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|autos|auto|' +\n 'author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|art|arpa|' +\n 'army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' +\n 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|' +\n 'allfinanz|alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|' +\n 'afl|afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|' +\n 'accenture|academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' +\n ')(?=[^0-9a-zA-Z@]|$))'\n )\n)\n\nexport default validGTLD\n","import regexSupplant from './_regexSupplant'\nimport validCCTLD from './_validCCTLD'\nimport validGTLD from './_validGTLD'\n\nfunction _stringSupplant (str, map) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return map[name] || ''\n })\n}\n\n/* eslint-disable no-useless-escape */\n/* eslint-disable no-control-regex */\n\n// Special types\nconst astralLetterAndMarks = /\\ud800[\\udc00-\\udc0b\\udc0d-\\udc26\\udc28-\\udc3a\\udc3c\\udc3d\\udc3f-\\udc4d\\udc50-\\udc5d\\udc80-\\udcfa\\uddfd\\ude80-\\ude9c\\udea0-\\uded0\\udee0\\udf00-\\udf1f\\udf30-\\udf40\\udf42-\\udf49\\udf50-\\udf7a\\udf80-\\udf9d\\udfa0-\\udfc3\\udfc8-\\udfcf]|\\ud801[\\udc00-\\udc9d\\udd00-\\udd27\\udd30-\\udd63\\ude00-\\udf36\\udf40-\\udf55\\udf60-\\udf67]|\\ud802[\\udc00-\\udc05\\udc08\\udc0a-\\udc35\\udc37\\udc38\\udc3c\\udc3f-\\udc55\\udc60-\\udc76\\udc80-\\udc9e\\udd00-\\udd15\\udd20-\\udd39\\udd80-\\uddb7\\uddbe\\uddbf\\ude00-\\ude03\\ude05\\ude06\\ude0c-\\ude13\\ude15-\\ude17\\ude19-\\ude33\\ude38-\\ude3a\\ude3f\\ude60-\\ude7c\\ude80-\\ude9c\\udec0-\\udec7\\udec9-\\udee6\\udf00-\\udf35\\udf40-\\udf55\\udf60-\\udf72\\udf80-\\udf91]|\\ud803[\\udc00-\\udc48]|\\ud804[\\udc00-\\udc46\\udc7f-\\udcba\\udcd0-\\udce8\\udd00-\\udd34\\udd50-\\udd73\\udd76\\udd80-\\uddc4\\uddda\\ude00-\\ude11\\ude13-\\ude37\\udeb0-\\udeea\\udf01-\\udf03\\udf05-\\udf0c\\udf0f\\udf10\\udf13-\\udf28\\udf2a-\\udf30\\udf32\\udf33\\udf35-\\udf39\\udf3c-\\udf44\\udf47\\udf48\\udf4b-\\udf4d\\udf57\\udf5d-\\udf63\\udf66-\\udf6c\\udf70-\\udf74]|\\ud805[\\udc80-\\udcc5\\udcc7\\udd80-\\uddb5\\uddb8-\\uddc0\\ude00-\\ude40\\ude44\\ude80-\\udeb7]|\\ud806[\\udca0-\\udcdf\\udcff\\udec0-\\udef8]|\\ud808[\\udc00-\\udf98]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud81a[\\udc00-\\ude38\\ude40-\\ude5e\\uded0-\\udeed\\udef0-\\udef4\\udf00-\\udf36\\udf40-\\udf43\\udf63-\\udf77\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44\\udf50-\\udf7e\\udf8f-\\udf9f]|\\ud82c[\\udc00\\udc01]|\\ud82f[\\udc00-\\udc6a\\udc70-\\udc7c\\udc80-\\udc88\\udc90-\\udc99\\udc9d\\udc9e]|\\ud834[\\udd65-\\udd69\\udd6d-\\udd72\\udd7b-\\udd82\\udd85-\\udd8b\\uddaa-\\uddad\\ude42-\\ude44]|\\ud835[\\udc00-\\udc54\\udc56-\\udc9c\\udc9e\\udc9f\\udca2\\udca5\\udca6\\udca9-\\udcac\\udcae-\\udcb9\\udcbb\\udcbd-\\udcc3\\udcc5-\\udd05\\udd07-\\udd0a\\udd0d-\\udd14\\udd16-\\udd1c\\udd1e-\\udd39\\udd3b-\\udd3e\\udd40-\\udd44\\udd46\\udd4a-\\udd50\\udd52-\\udea5\\udea8-\\udec0\\udec2-\\udeda\\udedc-\\udefa\\udefc-\\udf14\\udf16-\\udf34\\udf36-\\udf4e\\udf50-\\udf6e\\udf70-\\udf88\\udf8a-\\udfa8\\udfaa-\\udfc2\\udfc4-\\udfcb]|\\ud83a[\\udc00-\\udcc4\\udcd0-\\udcd6]|\\ud83b[\\ude00-\\ude03\\ude05-\\ude1f\\ude21\\ude22\\ude24\\ude27\\ude29-\\ude32\\ude34-\\ude37\\ude39\\ude3b\\ude42\\ude47\\ude49\\ude4b\\ude4d-\\ude4f\\ude51\\ude52\\ude54\\ude57\\ude59\\ude5b\\ude5d\\ude5f\\ude61\\ude62\\ude64\\ude67-\\ude6a\\ude6c-\\ude72\\ude74-\\ude77\\ude79-\\ude7c\\ude7e\\ude80-\\ude89\\ude8b-\\ude9b\\udea1-\\udea3\\udea5-\\udea9\\udeab-\\udebb]|\\ud840[\\udc00-\\udfff]|\\ud841[\\udc00-\\udfff]|\\ud842[\\udc00-\\udfff]|\\ud843[\\udc00-\\udfff]|\\ud844[\\udc00-\\udfff]|\\ud845[\\udc00-\\udfff]|\\ud846[\\udc00-\\udfff]|\\ud847[\\udc00-\\udfff]|\\ud848[\\udc00-\\udfff]|\\ud849[\\udc00-\\udfff]|\\ud84a[\\udc00-\\udfff]|\\ud84b[\\udc00-\\udfff]|\\ud84c[\\udc00-\\udfff]|\\ud84d[\\udc00-\\udfff]|\\ud84e[\\udc00-\\udfff]|\\ud84f[\\udc00-\\udfff]|\\ud850[\\udc00-\\udfff]|\\ud851[\\udc00-\\udfff]|\\ud852[\\udc00-\\udfff]|\\ud853[\\udc00-\\udfff]|\\ud854[\\udc00-\\udfff]|\\ud855[\\udc00-\\udfff]|\\ud856[\\udc00-\\udfff]|\\ud857[\\udc00-\\udfff]|\\ud858[\\udc00-\\udfff]|\\ud859[\\udc00-\\udfff]|\\ud85a[\\udc00-\\udfff]|\\ud85b[\\udc00-\\udfff]|\\ud85c[\\udc00-\\udfff]|\\ud85d[\\udc00-\\udfff]|\\ud85e[\\udc00-\\udfff]|\\ud85f[\\udc00-\\udfff]|\\ud860[\\udc00-\\udfff]|\\ud861[\\udc00-\\udfff]|\\ud862[\\udc00-\\udfff]|\\ud863[\\udc00-\\udfff]|\\ud864[\\udc00-\\udfff]|\\ud865[\\udc00-\\udfff]|\\ud866[\\udc00-\\udfff]|\\ud867[\\udc00-\\udfff]|\\ud868[\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86a[\\udc00-\\udfff]|\\ud86b[\\udc00-\\udfff]|\\ud86c[\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud87e[\\udc00-\\ude1d]|\\udb40[\\udd00-\\uddef]/\nconst astralNumerals = /\\ud801[\\udca0-\\udca9]|\\ud804[\\udc66-\\udc6f\\udcf0-\\udcf9\\udd36-\\udd3f\\uddd0-\\uddd9\\udef0-\\udef9]|\\ud805[\\udcd0-\\udcd9\\ude50-\\ude59\\udec0-\\udec9]|\\ud806[\\udce0-\\udce9]|\\ud81a[\\ude60-\\ude69\\udf50-\\udf59]|\\ud835[\\udfce-\\udfff]/\nconst bmpLetterAndMarks = /A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0300-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u0483-\\u052f\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06df-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710-\\u074a\\u074d-\\u07b1\\u07ca-\\u07f5\\u07fa\\u0800-\\u082d\\u0840-\\u085b\\u08a0-\\u08b2\\u08e4-\\u0963\\u0971-\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bc-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e3\\u09f0\\u09f1\\u0a01-\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a59-\\u0a5c\\u0a5e\\u0a70-\\u0a75\\u0a81-\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abc-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ad0\\u0ae0-\\u0ae3\\u0b01-\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3c-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b63\\u0b71\\u0b82\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd0\\u0bd7\\u0c00-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c58\\u0c59\\u0c60-\\u0c63\\u0c81-\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbc-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0cde\\u0ce0-\\u0ce3\\u0cf1\\u0cf2\\u0d01-\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4e\\u0d57\\u0d60-\\u0d63\\u0d7a-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb9\\u0ebb-\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ec8-\\u0ecd\\u0edc-\\u0edf\\u0f00\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f71-\\u0f84\\u0f86-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u103f\\u1050-\\u108f\\u109a-\\u109d\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u135d-\\u135f\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16f1-\\u16f8\\u1700-\\u170c\\u170e-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176c\\u176e-\\u1770\\u1772\\u1773\\u1780-\\u17d3\\u17d7\\u17dc\\u17dd\\u180b-\\u180d\\u1820-\\u1877\\u1880-\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1920-\\u192b\\u1930-\\u193b\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a1b\\u1a20-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1aa7\\u1ab0-\\u1abe\\u1b00-\\u1b4b\\u1b6b-\\u1b73\\u1b80-\\u1baf\\u1bba-\\u1bf3\\u1c00-\\u1c37\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1cd0-\\u1cd2\\u1cd4-\\u1cf6\\u1cf8\\u1cf9\\u1d00-\\u1df5\\u1dfc-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u20d0-\\u20f0\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2183\\u2184\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d7f-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2de0-\\u2dff\\u2e2f\\u3005\\u3006\\u302a-\\u302f\\u3031-\\u3035\\u303b\\u303c\\u3041-\\u3096\\u3099\\u309a\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua672\\ua674-\\ua67d\\ua67f-\\ua69d\\ua69f-\\ua6e5\\ua6f0\\ua6f1\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua7ad\\ua7b0\\ua7b1\\ua7f7-\\ua827\\ua840-\\ua873\\ua880-\\ua8c4\\ua8e0-\\ua8f7\\ua8fb\\ua90a-\\ua92d\\ua930-\\ua953\\ua960-\\ua97c\\ua980-\\ua9c0\\ua9cf\\ua9e0-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa36\\uaa40-\\uaa4d\\uaa60-\\uaa76\\uaa7a-\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaef\\uaaf2-\\uaaf6\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab5f\\uab64\\uab65\\uabc0-\\uabea\\uabec\\uabed\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf870-\\uf87f\\uf882\\uf884-\\uf89f\\uf8b8\\uf8c1-\\uf8d6\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe00-\\ufe0f\\ufe20-\\ufe2d\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc/\nconst bmpNumerals = /0-9\\u0660-\\u0669\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0de6-\\u0def\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\ua9f0-\\ua9f9\\uaa50-\\uaa59\\uabf0-\\uabf9\\uff10-\\uff19/\nconst codePoint = /(?:[^\\uD800-\\uDFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/\nconst cyrillicLettersAndMarks = /\\u0400-\\u04FF/\nconst directionalMarkersGroup = /\\u202A-\\u202E\\u061C\\u200E\\u200F\\u2066\\u2067\\u2068\\u2069/\nconst hashtagSpecialChars = /_\\u200c\\u200d\\ua67e\\u05be\\u05f3\\u05f4\\uff5e\\u301c\\u309b\\u309c\\u30a0\\u30fb\\u3003\\u0f0b\\u0f0c\\xb7/\nconst invalidCharsGroup = /\\uFFFE\\uFEFF\\uFFFF/\nconst latinAccentChars = /\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\xFF\\u0100-\\u024F\\u0253\\u0254\\u0256\\u0257\\u0259\\u025B\\u0263\\u0268\\u026F\\u0272\\u0289\\u028B\\u02BB\\u0300-\\u036F\\u1E00-\\u1EFF/\nconst nonBmpCodePairs = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/gm\nconst punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/\nconst spacesGroup = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/\nconst validPortNumber = /[0-9]+/\nconst validPunycode = /(?:xn--[\\-0-9a-z]+)/\nconst validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i\nconst validUrlQueryEndingChars = /[a-z0-9\\-_&=#\\/]/i\n\n// URLs\n\nconst validGeneralUrlPathChars = regexSupplant(\n /[a-z#{cyrillicLettersAndMarks}0-9!*';:=+,.$/%#[\\]\\-\\u2013_~@|&#{latinAccentChars}]/i,\n { cyrillicLettersAndMarks, latinAccentChars }\n)\n\nconst validUrlBalancedParens = regexSupplant(\n '\\\\(' +\n '(?:' +\n '#{validGeneralUrlPathChars}+' +\n '|' +\n // allow one nested level of balanced parentheses\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '\\\\(' +\n '#{validGeneralUrlPathChars}+' +\n '\\\\)' +\n '#{validGeneralUrlPathChars}*' +\n ')' +\n ')' +\n '\\\\)',\n { validGeneralUrlPathChars },\n 'i'\n)\n\nconst validUrlPathEndingChars = regexSupplant(\n /[+\\-a-z#{cyrillicLettersAndMarks}0-9=_#/#{latinAccentChars}]|(?:#{validUrlBalancedParens})/i,\n { cyrillicLettersAndMarks, latinAccentChars, validUrlBalancedParens }\n)\n\nconst validUrlPrecedingChars = regexSupplant(\n /(?:[^A-Za-z0-9@@$###{invalidCharsGroup}]|[#{directionalMarkersGroup}]|^)/,\n { invalidCharsGroup, directionalMarkersGroup }\n)\n\nconst invalidDomainChars = _stringSupplant(\n '#{punct}#{spacesGroup}#{invalidCharsGroup}#{directionalMarkersGroup}',\n { punct, spacesGroup, invalidCharsGroup, directionalMarkersGroup }\n)\n\nconst validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/, {\n invalidDomainChars\n})\n\nconst validDomainName = regexSupplant(\n /(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/,\n { validDomainChars }\n)\n\nconst validSubdomain = regexSupplant(\n /(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/,\n { validDomainChars }\n)\n\nconst validDomain = regexSupplant(\n /(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/,\n { validDomainName, validSubdomain, validGTLD, validCCTLD, validPunycode }\n)\n\nconst validUrlPath = regexSupplant(\n '(?:' +\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' +\n '#{validUrlPathEndingChars}' +\n ')|(?:@#{validGeneralUrlPathChars}+/)' +\n ')',\n {\n validGeneralUrlPathChars,\n validUrlBalancedParens,\n validUrlPathEndingChars\n },\n 'i'\n)\n\n// Hashtags\n\nconst hashtagAlpha = regexSupplant(/(?:[#{bmpLetterAndMarks}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}))/, {\n bmpLetterAndMarks,\n nonBmpCodePairs,\n astralLetterAndMarks\n})\n\nconst hashtagAlphaNumeric = regexSupplant(\n /(?:[#{bmpLetterAndMarks}#{bmpNumerals}#{hashtagSpecialChars}]|(?=#{nonBmpCodePairs})(?:#{astralLetterAndMarks}|#{astralNumerals}))/,\n {\n bmpLetterAndMarks,\n bmpNumerals,\n hashtagSpecialChars,\n nonBmpCodePairs,\n astralLetterAndMarks,\n astralNumerals\n }\n)\n\nconst hashtagBoundary = regexSupplant(/(?:^|\\uFE0E|\\uFE0F|$|(?!#{hashtagAlphaNumeric}|&)#{codePoint})/, {\n codePoint,\n hashtagAlphaNumeric\n})\n\n// Mentions\n\nconst validMentionPrecedingChars = /(?:^|[^a-zA-Z0-9_!#$%&*@@]|(?:^|[^a-zA-Z0-9_+~.-])(?:rt|RT|rT|Rt):?)/\n\n// =======\n// Exports\n// =======\n\n// URLs\nexport const extractUrl = regexSupplant(\n '(' + // $1 total match\n '(#{validUrlPrecedingChars})' + // $2 Preceeding chracter\n '(' + // $3 URL\n '(https?:\\\\/\\\\/)?' + // $4 Protocol (optional)\n '(#{validDomain})' + // $5 Domain(s)\n '(?::(#{validPortNumber}))?' + // $6 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $7 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $8 Query String\n ')' +\n ')',\n {\n validUrlPrecedingChars,\n validDomain,\n validPortNumber,\n validUrlPath,\n validUrlQueryChars,\n validUrlQueryEndingChars\n },\n 'gi'\n)\n\nexport const validAsciiDomain = regexSupplant(\n /(?:(?:[-a-z0-9#{latinAccentChars}]+)\\.)+(?:#{validGTLD}|#{validCCTLD}|#{validPunycode})/gi,\n { latinAccentChars, validGTLD, validCCTLD, validPunycode }\n)\n\nexport const validTcoUrl = regexSupplant(\n /^https?:\\/\\/t\\.co\\/([a-z0-9]+)(?:\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?/,\n { validUrlQueryChars, validUrlQueryEndingChars },\n 'i'\n)\n\n// Hashtags\n\nexport const hashSigns = /[##]/\nexport const endHashtagMatch = regexSupplant(/^(?:#{hashSigns}|:\\/\\/)/, { hashSigns })\nexport const validHashtag = regexSupplant(\n /(#{hashtagBoundary})(#{hashSigns})(?!\\uFE0F|\\u20E3)(#{hashtagAlphaNumeric}*#{hashtagAlpha}#{hashtagAlphaNumeric}*)/gi,\n { hashtagBoundary, hashSigns, hashtagAlphaNumeric, hashtagAlpha }\n)\n\n// Mentions\n\nexport const atSigns = /[@@]/\nexport const endMentionMatch = regexSupplant(/^(?:#{atSigns}|[#{latinAccentChars}]|:\\/\\/)/, { atSigns, latinAccentChars })\nexport const validMention = regexSupplant(\n '(#{validMentionPrecedingChars})' + // $1: Preceding character\n '(#{atSigns})' + // $2: At mark\n '([a-zA-Z0-9_]{1,20})', // $3: Screen name\n // '(/[a-zA-Z][a-zA-Z0-9_-]{0,24})?', // $4: List (optional)\n { validMentionPrecedingChars, atSigns },\n 'g'\n)\n","// Extracts mentions from text.\n\nimport { atSigns, endMentionMatch, validMention } from './regex'\n\nexport default function (text) {\n if (!text || !text.match(atSigns)) {\n return []\n }\n\n const mentions = []\n\n text.replace(validMention, function (match, before, atSign, mentionText, offset, chunk) {\n const after = chunk.slice(offset + match.length)\n if (!after.match(endMentionMatch)) {\n const startPosition = offset + before.length\n const endPosition = startPosition + mentionText.length + 1\n mentions.push({\n username: mentionText,\n indices: [startPosition, endPosition]\n })\n }\n })\n\n return mentions\n}\n","// Extracts Hashtags from text.\n\nimport { endHashtagMatch, hashSigns, validHashtag } from './regex'\n\nexport default function (text) {\n if (!text || !text.match(hashSigns)) {\n return []\n }\n\n let tags = []\n\n text.replace(validHashtag, function (match, before, hash, hashText, offset, chunk) {\n const after = chunk.slice(offset + match.length)\n if (after.match(endHashtagMatch)) {\n return\n }\n const startPosition = offset + before.length\n const endPosition = startPosition + hashText.length + 1\n tags.push({\n hashtag: hashText,\n indices: [startPosition, endPosition]\n })\n })\n\n return tags\n}\n","\nimport punycode from 'punycode'\nimport { validAsciiDomain } from './regex'\n\nconst MAX_DOMAIN_LABEL_LENGTH = 63\nconst PUNYCODE_ENCODED_DOMAIN_PREFIX = 'xn--'\n// This is an extremely lightweight implementation of domain name validation according to RFC 3490\n// Our regexes handle most of the cases well enough\n// See https://tools.ietf.org/html/rfc3490#section-4.1 for details\nconst idna = {\n toAscii: function (domain) {\n if (domain.substring(0, 4) === PUNYCODE_ENCODED_DOMAIN_PREFIX && !domain.match(validAsciiDomain)) {\n // Punycode encoded url cannot contain non ASCII characters\n return\n }\n\n const labels = domain.split('.')\n for (let i = 0; i < labels.length; i++) {\n const label = labels[i]\n const punycodeEncodedLabel = punycode.toASCII(label)\n if (punycodeEncodedLabel.length < 1 || punycodeEncodedLabel.length > MAX_DOMAIN_LABEL_LENGTH) {\n // DNS label has invalid length\n return\n }\n }\n return labels.join('.')\n }\n}\n\nexport default idna\n","// Extracts URLs from text\n\nimport { extractUrl, validAsciiDomain } from './regex'\nimport idna from './idna'\n\nconst DEFAULT_PROTOCOL = 'https://'\nconst DEFAULT_PROTOCOL_OPTIONS = { extractUrlsWithoutProtocol: true }\nconst MAX_URL_LENGTH = 4096\n\nconst invalidUrlWithoutProtocolPrecedingChars = /[-_./]$/\n\nfunction isValidUrl (url, protocol, domain) {\n let urlLength = url.length\n const punycodeEncodedDomain = idna.toAscii(domain)\n if (!punycodeEncodedDomain || !punycodeEncodedDomain.length) {\n return false\n }\n\n urlLength = urlLength + punycodeEncodedDomain.length - domain.length\n return protocol.length + urlLength <= MAX_URL_LENGTH\n}\n\nconst extractUrlsWithIndices = function (text, options = DEFAULT_PROTOCOL_OPTIONS) {\n if (!text || (options.extractUrlsWithoutProtocol ? !text.match(/\\./) : !text.match(/:/))) {\n return []\n }\n\n const urls = []\n\n while (extractUrl.exec(text)) {\n const before = RegExp.$2\n let url = RegExp.$3\n const protocol = RegExp.$4\n const domain = RegExp.$5\n const path = RegExp.$7\n let endPosition = extractUrl.lastIndex\n const startPosition = endPosition - url.length\n\n if (!isValidUrl(url, protocol || DEFAULT_PROTOCOL, domain)) {\n continue\n }\n // extract ASCII-only domains.\n if (!protocol) {\n if (!options.extractUrlsWithoutProtocol || before.match(invalidUrlWithoutProtocolPrecedingChars)) {\n continue\n }\n\n let lastUrl = null\n let asciiEndPosition = 0\n domain.replace(validAsciiDomain, function (asciiDomain) {\n const asciiStartPosition = domain.indexOf(asciiDomain, asciiEndPosition)\n asciiEndPosition = asciiStartPosition + asciiDomain.length\n lastUrl = {\n url: asciiDomain,\n indices: [startPosition + asciiStartPosition, startPosition + asciiEndPosition]\n }\n urls.push(lastUrl)\n })\n\n // no ASCII-only domain found. Skip the entire URL.\n if (lastUrl == null) {\n continue\n }\n\n // lastUrl only contains domain. Need to add path and query if they exist.\n if (path) {\n lastUrl.url = url.replace(domain, lastUrl.url)\n lastUrl.indices[1] = endPosition\n }\n } else {\n urls.push({\n url: url,\n indices: [startPosition, endPosition]\n })\n }\n }\n\n return urls\n}\n\nexport default extractUrlsWithIndices\n","export default function (entities) {\n entities.sort(function (a, b) {\n return a.indices[0] - b.indices[0]\n })\n\n let prev = entities[0]\n for (let i = 1; i < entities.length; i++) {\n if (prev.indices[1] > entities[i].indices[0]) {\n entities.splice(i, 1)\n i--\n } else {\n prev = entities[i]\n }\n }\n}\n","// Returns an Indexed Array with URL, mention and hashtag\n// entities found in text.\n\nimport extractMentions from './extractMentions'\nimport extractHashtags from './extractHashtags'\nimport extractUrls from './extractUrls'\nimport removeOverlappingEntities from './removeOverlappingEntities'\n\nexport default function (text, options) {\n const entities = extractUrls(text, options)\n .concat(extractMentions(text))\n .concat(extractHashtags(text))\n\n if (entities.length === 0) {\n return []\n }\n\n removeOverlappingEntities(entities)\n return entities\n}\n","const HTML_ENTITIES = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n}\n\nexport function htmlEscape (text) {\n return (\n text &&\n text.replace(/[&\"'><]/g, function (character) {\n return HTML_ENTITIES[character]\n })\n )\n}\n\nexport function clone (o) {\n const r = {}\n for (const k in o) {\n if (o.hasOwnProperty(k)) {\n r[k] = o[k]\n }\n }\n return r\n}\n\nexport function stringSupplant (str, map) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return map[name] || ''\n })\n}\n","const BOOLEAN_ATTRIBUTES = {\n disabled: true,\n readonly: true,\n multiple: true,\n checked: true\n}\n\n// Options which should not be passed as HTML attributes\nconst OPTIONS_NOT_ATTRIBUTES = {\n urlClass: true,\n usernameClass: true,\n hashtagClass: true,\n usernameUrlBase: true,\n hashtagUrlBase: true,\n targetBlank: true,\n urlTarget: true,\n invisibleTagAttrs: true,\n linkAttributeBlock: true,\n htmlEscapeNonEntities: true,\n extractUrlsWithoutProtocol: true\n}\n\nexport default function (options) {\n const htmlAttrs = {}\n for (const k in options) {\n let v = options[k]\n if (OPTIONS_NOT_ATTRIBUTES[k]) {\n continue\n }\n if (BOOLEAN_ATTRIBUTES[k]) {\n v = v ? k : null\n }\n if (v == null) {\n continue\n }\n htmlAttrs[k] = v\n }\n return htmlAttrs\n}\n","// Returns html as text with given\n\nimport { htmlEscape, stringSupplant } from './helpers'\n\nconst BOOLEAN_ATTRIBUTES = {\n disabled: true,\n readonly: true,\n multiple: true,\n checked: true\n}\n\nfunction _tagAttrs (attributes) {\n let htmlAttrs = ''\n for (const k in attributes) {\n let v = attributes[k]\n if (BOOLEAN_ATTRIBUTES[k]) {\n v = v ? k : null\n }\n if (v == null) {\n continue\n }\n htmlAttrs += ` ${htmlEscape(k)}=\"${htmlEscape(v.toString())}\"`\n }\n return htmlAttrs\n}\n\n/* eslint-disable-next-line no-unused-vars */\nexport default function (entity, text, attributes, options) {\n const opts = {\n text: text,\n attr: _tagAttrs(attributes)\n }\n return stringSupplant('#{text}', opts)\n}\n","// Converts URL entity to an html anchor tag.\n\nimport { clone, htmlEscape } from './helpers'\nimport linkToText from './linkToText'\n\nconst urlHasProtocol = /^https?:\\/\\//i\n\nexport default function (entity, text, options) {\n let url = entity.url\n const displayUrl = url\n let linkText = htmlEscape(displayUrl)\n\n const attrs = clone(options.htmlAttrs || {})\n\n if (!url.match(urlHasProtocol)) {\n url = `http://${url}`\n }\n attrs.href = url\n\n if (options.targetBlank) {\n attrs.target = '_blank'\n }\n\n // set class only if urlClass is specified.\n if (options.urlClass) {\n attrs['class'] = options.urlClass\n }\n\n // set target only if urlTarget is specified.\n if (options.urlTarget) {\n attrs.target = options.urlTarget\n }\n\n return linkToText(entity, linkText, attrs, options)\n}\n","// Converts mention entity to an html anchor tag.\n\nimport { clone, htmlEscape } from './helpers'\nimport linkToText from './linkToText'\n\nexport default function (entity, text, options) {\n const at = text.substring(entity.indices[0], entity.indices[0] + 1)\n const user = htmlEscape(entity.username)\n const attrs = clone(options.htmlAttrs || {})\n\n attrs.href = options.usernameUrlBase + user\n attrs.title = `@${user}`\n attrs['class'] = options.usernameClass\n attrs['data-username'] = user\n\n return linkToText(entity, `${at}${user}`, attrs, options)\n}\n","// Converts hashtag entity to an html anchor tag.\n\nimport { clone, htmlEscape } from './helpers'\nimport linkToText from './linkToText'\n\nconst rtlChars = /[\\u0600-\\u06FF]|[\\u0750-\\u077F]|[\\u0590-\\u05FF]|[\\uFE70-\\uFEFF]/gm\n\nexport default function (entity, text, options) {\n const hash = text.substring(entity.indices[0], entity.indices[0] + 1)\n const hashtag = htmlEscape(entity.hashtag)\n const attrs = clone(options.htmlAttrs || {})\n\n attrs.href = options.hashtagUrlBase + hashtag\n attrs.title = `#${hashtag}`\n attrs['class'] = options.hashtagClass\n attrs['data-hashtag'] = hashtag\n if (hashtag.charAt(0).match(rtlChars)) {\n attrs['class'] += ' rtl'\n }\n\n return linkToText(entity, `${hash}${hashtag}`, attrs, options)\n}\n","// Inserts an or tag with given css classes around\n// matched url, mentions or hashtags in text.\n\nimport { clone, htmlEscape } from './helpers'\nimport extractHtmlAttrs from './extractHtmlAttrs'\nimport linkToUrl from './linkToUrl'\nimport linkToMention from './linkToMention'\nimport linkToHashtag from './linkToHashtag'\n\nconst DEFAULT_USERNAME_CLASS = 'highlights username'\nconst DEFAULT_HASHTAG_CLASS = 'highlights hashtag'\nconst DEFAULT_URL_CLASS = 'highlights url'\n\nexport default function (text, entities, opts) {\n let options = clone(opts || {})\n options.usernameClass = options.usernameClass || DEFAULT_USERNAME_CLASS\n options.usernameUrlBase = options.usernameUrlBase || '/'\n options.hashtagClass = options.hashtagClass || DEFAULT_HASHTAG_CLASS\n options.hashtagUrlBase = options.hashtagUrlBase || '/hashtag/'\n options.urlClass = options.urlClass || DEFAULT_URL_CLASS\n options.htmlAttrs = extractHtmlAttrs(options)\n options.invisibleTagAttrs = options.invisibleTagAttrs || \"style='position:absolute;left:-9999px;'\"\n\n let result = ''\n let beginIndex = 0\n\n // sort entities by start index\n entities.sort(function (a, b) {\n return a.indices[0] - b.indices[0]\n })\n\n for (let i = 0; i < entities.length; i++) {\n const entity = entities[i]\n result += htmlEscape(text.substring(beginIndex, entity.indices[0]))\n\n if (entity.url) {\n result += linkToUrl(entity, text, options)\n } else if (entity.username) {\n result += linkToMention(entity, text, options)\n } else if (entity.hashtag) {\n result += linkToHashtag(entity, text, options)\n }\n beginIndex = entity.indices[1]\n }\n result += htmlEscape(text.substring(beginIndex, text.length))\n return result\n}\n","// Inserts a tag with given css classes around matched url,\n// mentions or hashtags in text.\n\nimport { htmlEscape, clone, stringSupplant } from './helpers'\n\nconst DEFAULT_USERNAME_CLASS = 'highlights username'\nconst DEFAULT_HASHTAG_CLASS = 'highlights hashtag'\nconst DEFAULT_URL_CLASS = 'highlights url'\n\nexport default function (text, entities, opts) {\n let result = ''\n let beginIndex = 0\n const options = clone(opts || {})\n const usernameClass = options.usernameClass || DEFAULT_USERNAME_CLASS\n const hashtagClass = options.hashtagClass || DEFAULT_HASHTAG_CLASS\n const urlClass = options.urlClass || DEFAULT_URL_CLASS\n\n // sort entities by start index\n entities.sort(function (a, b) {\n return a.indices[0] - b.indices[0]\n })\n\n for (let i = 0; i < entities.length; i++) {\n const entity = entities[i]\n result += htmlEscape(text.substring(beginIndex, entity.indices[0]))\n\n if (entity.url) {\n let url = htmlEscape(entity.url)\n result += _insertTag(url, urlClass)\n } else if (entity.username) {\n const at = text.substring(entity.indices[0], entity.indices[0] + 1)\n const user = htmlEscape(entity.username)\n result += _insertTag(`${at}${user}`, usernameClass)\n } else if (entity.hashtag) {\n const hash = text.substring(entity.indices[0], entity.indices[0] + 1)\n const tag = htmlEscape(entity.hashtag)\n result += _insertTag(`${hash}${tag}`, hashtagClass)\n }\n beginIndex = entity.indices[1]\n }\n result += htmlEscape(text.substring(beginIndex, text.length))\n return result\n}\n\n// =================\n// Private Functions\n// =================\n\nfunction _insertTag (text, classes = '') {\n const opts = {\n text: text,\n attr: `class=\"${classes}\"`\n }\n return stringSupplant('#{text}', opts)\n}\n","import extract from './extract'\nimport autoLink from './autoLink'\nimport autoHighlight from './autoHighlight'\n\nconst defaultOptions = {\n targetBlank: true,\n extractUrlsWithoutProtocol: true\n}\n\nexport function link (text, options = defaultOptions) {\n const entities = extract(text, options)\n return autoLink(text, entities, options)\n}\n\nexport function highlight (text, options = defaultOptions) {\n const entities = extract(text, options)\n return autoHighlight(text, entities, options)\n}\n\nexport function createRange (node, chars, range) {\n if (!range) {\n range = document.createRange()\n range.selectNode(node)\n range.setStart(node, 0)\n }\n if (chars.count === 0) {\n range.setEnd(node, chars.count)\n } else if (node && chars.count > 0) {\n if (node.nodeType === 3) {\n if (node.textContent.length < chars.count) {\n chars.count -= node.textContent.length\n } else {\n range.setEnd(node, chars.count)\n chars.count = 0\n }\n } else {\n for (let i = 0; i < node.childNodes.length; i++) {\n range = createRange(node.childNodes[i], chars, range)\n if (chars.count === 0) break\n }\n }\n }\n return range\n}\n\nexport function setCaretPosition (node, caretPosition) {\n if (caretPosition >= 0) {\n const range = createRange(node, { count: caretPosition })\n const selection = window.getSelection()\n if (range) {\n range.collapse(false)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n }\n}\n","import { link, highlight, setCaretPosition } from './utils'\n\nexport function autoHighlight (text, options) {\n return highlight(text, options)\n}\n\nexport function autoLink (text, options) {\n return link(text, options)\n}\n\nexport default {\n name: 'VueHighlights',\n props: {\n extractUrlsWithoutProtocol: {\n type: Boolean,\n default: true\n },\n caretColor: {\n type: String,\n default: '#ccc'\n },\n placeholder: {\n type: String,\n default: `What's Happening?`\n },\n value: String\n },\n data () {\n return {\n focused: false,\n body: ''\n }\n },\n computed: {\n showPlaceholder () {\n return !this.body.replace(/^\\s*\\n/gm, '').length\n },\n computedBody () {\n return highlight(this.body, {\n extractUrlsWithoutProtocol: this.extractUrlsWithoutProtocol\n })\n }\n },\n methods: {\n getCaretPos () {\n const parent = this.$refs.mbody\n const selection = window.getSelection()\n let node = selection.focusNode\n let charCount = selection.focusOffset\n while (node) {\n if (node === parent) break\n if (node.previousSibling) {\n node = node.previousSibling\n charCount += node.textContent.length\n } else {\n node = node.parentNode\n if (node === null) break\n }\n }\n return charCount\n },\n setCaretPos (caretPosition) {\n setCaretPosition(this.$refs.mbody, caretPosition)\n },\n clear () {\n this.$refs.mbody.innerText = ''\n this.body = ''\n },\n onKeyUp (e) {\n let caretPosition = this.getCaretPos()\n if (e.keyCode === 13) { // Enter key\n caretPosition++\n }\n this.body = e.target.innerText\n this.$emit('input', this.body)\n this.$nextTick(() => {\n this.setCaretPos(caretPosition)\n })\n },\n onFocus (e) {\n this.focused = true\n this.$emit('focus', e)\n },\n onBlur (e) {\n this.focused = false\n this.$emit('blur', e)\n }\n },\n render (h) {\n const placeHolder = this.showPlaceholder ? h('div', {\n attrs: {\n id: 'mplaceholder'\n },\n staticClass: 'highlights__placeholder'\n }, this.placeholder) : null\n\n const input = {\n ref: 'mbody',\n staticClass: 'highlights__body',\n style: {\n 'text-align': 'initial',\n outline: 'currentcolor none medium',\n 'user-select': 'text',\n 'white-space': 'pre-wrap',\n 'overflow-wrap': 'break-word',\n 'caret-color': `${this.caretColor}`\n },\n attrs: {\n 'aria-label': this.placeHolder,\n 'aria-autocomplete': 'list',\n 'aria-describedby': 'mplaceholder',\n 'aria-multiline': 'true',\n contenteditable: true,\n role: 'textbox',\n spellCheck: true,\n tabindex: 0\n },\n domProps: {\n innerHTML: this.computedBody\n },\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n keyup: this.onKeyUp\n }\n }\n\n return h('div', {\n staticClass: 'highlights__container',\n style: {\n position: 'relative'\n }\n }, [\n h('div', {\n staticClass: 'highlights__content'\n }, [\n placeHolder,\n h('div', {\n staticClass: 'highlights__body-container'\n }, [\n h('div', input)\n ])\n ])\n ])\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('nav',{attrs:{\"id\":\"nav\"}},[_c('div',{staticClass:\"flex vcenter between container\"},[_c('div',{staticClass:\"flex vcenter\"},[_c('img',{staticClass:\"mr-sm\",attrs:{\"alt\":\"Vue logo\",\"src\":require(\"@/assets/logo.png\")}}),_c('router-link',{attrs:{\"to\":\"/\"}},[_c('h1',[_vm._v(\"vue-highlights\")])])],1),_c('div',{staticClass:\"flex vcenter\"},[_c('router-link',{staticClass:\"nav-item\",attrs:{\"to\":{ name: 'home' }}},[_vm._v(\" Home \")]),_c('router-link',{staticClass:\"nav-item\",attrs:{\"to\":{ name: 'docs' }}},[_vm._v(\" Documentation \")]),_c('a',{staticClass:\"nav-item\",attrs:{\"href\":\"https://github.com/pggalaviz/vue-highlights\",\"title\":\"Github\",\"target\":\"_blank\"}},[_c('div',{staticClass:\"nav-icon\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z\"}})])])])],1)])]),_c('router-view'),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"flex center py-md mt-lg\",attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"text-center\"},[_c('div',[_vm._v(\" © 2019 Pedro G. Galaviz \")]),_c('a',{staticClass:\"text-sm\",attrs:{\"href\":\"http://pggalaviz.com\"}},[_vm._v(\"pggalaviz.com\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3ed9a496&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center\",attrs:{\"id\":\"home\"}},[_c('img',{attrs:{\"id\":\"logo\",\"alt\":\"Vue logo\",\"src\":require(\"./assets/logo.png\")}}),_c('h1',[_vm._v(\"vue-highlights\")]),_vm._m(0),_vm._m(1),_c('div',{staticClass:\"flex center text-md\"},[_c('vue-highlights',{staticClass:\"content-container\",attrs:{\"placeholder\":_vm.placeholder,\"caretColor\":_vm.caretColor,\"extractUrlsWithoutProtocol\":_vm.options.extractUrlsWithoutProtocol},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1),_c('div',{staticClass:\"flex center my-md\"},[_c('div',{staticClass:\"content-container\",attrs:{\"id\":\"options\"}},[_c('h4',[_vm._v(\"Options (props)\")]),_c('div',{staticClass:\"flex center\"},[_c('label',{staticClass:\"mr-lg cursor-pointer\",attrs:{\"for\":\"ep\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.extractUrlsWithoutProtocol),expression:\"options.extractUrlsWithoutProtocol\"}],attrs:{\"id\":\"ep\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.options.extractUrlsWithoutProtocol)?_vm._i(_vm.options.extractUrlsWithoutProtocol,null)>-1:(_vm.options.extractUrlsWithoutProtocol)},on:{\"change\":function($event){var $$a=_vm.options.extractUrlsWithoutProtocol,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.options, \"extractUrlsWithoutProtocol\", $$c)}}}}),_vm._v(\" extractUrlsWithoutProtocol \")]),_c('label',{staticClass:\"cursor-pointer\",attrs:{\"for\":\"tb\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.targetBlank),expression:\"options.targetBlank\"}],attrs:{\"id\":\"tb\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.options.targetBlank)?_vm._i(_vm.options.targetBlank,null)>-1:(_vm.options.targetBlank)},on:{\"change\":function($event){var $$a=_vm.options.targetBlank,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.options, \"targetBlank\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.options, \"targetBlank\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.options, \"targetBlank\", $$c)}}}}),_vm._v(\" targetBlank \")])]),_c('div',{staticClass:\"flex center mt-sm text-left relative\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"uc\"}},[_vm._v(\" usernameClass \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.usernameClass),expression:\"options.usernameClass\"}],staticClass:\"input\",attrs:{\"id\":\"uc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.usernameClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"usernameClass\", $event.target.value)}}})]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"ut\"}},[_vm._v(\" usernameUrlBase \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.usernameUrlBase),expression:\"options.usernameUrlBase\"}],staticClass:\"input\",attrs:{\"id\":\"ut\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.usernameUrlBase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"usernameUrlBase\", $event.target.value)}}})])])]),_c('div',{staticClass:\"flex center mt-sm text-left\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"hc\"}},[_vm._v(\" hashtagClass \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.hashtagClass),expression:\"options.hashtagClass\"}],staticClass:\"input\",attrs:{\"id\":\"hc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.hashtagClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"hashtagClass\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"ht\"}},[_vm._v(\" hashtagUrlBase \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.hashtagUrlBase),expression:\"options.hashtagUrlBase\"}],staticClass:\"input\",attrs:{\"id\":\"ht\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.hashtagUrlBase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"hashtagUrlBase\", $event.target.value)}}})])])]),_c('div',{staticClass:\"flex center mt-sm text-left\"},[_c('div',{staticClass:\"mr-md col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"urc\"}},[_vm._v(\" urlClass \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options.urlClass),expression:\"options.urlClass\"}],staticClass:\"input\",attrs:{\"id\":\"urc\",\"type\":\"text\"},domProps:{\"value\":(_vm.options.urlClass)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"urlClass\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-50\"},[_c('label',{staticClass:\"label cursor-pointer\",attrs:{\"for\":\"cc\"}},[_vm._v(\" caretColor \")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.caretColor),expression:\"caretColor\"}],staticClass:\"input\",attrs:{\"id\":\"cc\",\"type\":\"text\"},domProps:{\"value\":(_vm.caretColor)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.caretColor=$event.target.value}}})])])])])]),_c('div',{staticClass:\"column center vcenter\"},[_c('div',{staticClass:\"content-container\"},[_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"HTML with links:\")]),_c('div',{staticClass:\"text-md\",domProps:{\"innerHTML\":_vm._s(_vm.$autoLink(_vm.text, _vm.options))}})]),_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"Text with links:\")]),_c('div',{staticClass:\"text-center\"},[_c('div',{},[_vm._v(\" \"+_vm._s(_vm.$autoLink(_vm.text, _vm.options)))])])]),_c('div',{staticClass:\"mb-md\"},[_c('h4',[_vm._v(\"Model text:\")]),_c('div',{},[_vm._v(\" \"+_vm._s(_vm.text))])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-md\",attrs:{\"id\":\"description\"}},[_c('b',[_vm._v(\"Easy mention, hashtag and URL highlight for Vue 2.x\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex center mb-md text-sm\"},[_c('div',{staticClass:\"pa-md font-mono content-container\",attrs:{\"id\":\"install\"}},[_vm._v(\" npm install --save vue-highlights \")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=f2fe281c&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"docs\"}},[_c('div',{staticClass:\"container\"},[_c('h2',[_vm._v(\"Documentation\")]),_c('h3',[_vm._v(\"Installation\")]),_c('p',[_vm._v(\"You can install via npm or yarn:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"shell\",\"code\":_vm.code1}}),_c('p',[_vm._v(\"And then import the component in your app:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code2}}),_c('h3',[_vm._v(\"Usage\")]),_c('p',[_vm._v(\"Let's create our first component:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code3}}),_c('p',[_vm._v(\"As you can see, the component accepts some props:\")]),_vm._m(0),_c('p',[_vm._v(\" The exported component (vue-highlights) renders a text input that highlights all username, hashtag and URL matches. In order to work with this input some CSS classes should be attended, here's an example: \")]),_c('CodeSnippet',{attrs:{\"lang\":\"css\",\"code\":_vm.code4}}),_c('p',[_vm._v(\"With this we should get a working example.\")]),_vm._m(1),_vm._m(2),_c('h5',[_vm._v(\"Examples\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code5}}),_c('p',[_vm._v(\"Now we can render our linked/highlighted text anywhere we like:\")]),_c('CodeSnippet',{attrs:{\"lang\":\"js\",\"code\":_vm.code6}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"text-sm\",staticStyle:{\"width\":\"100%\"}},[_c('thead',{staticClass:\"mb-sm\"},[_c('tr',[_c('th',[_vm._v(\"Prop\")]),_c('th',{staticClass:\"px-sm\"},[_vm._v(\"Type\")]),_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Description\")])])]),_c('tbody',[_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" extractUrlsWithoutProtocol \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" Boolean \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" As the name says, when active, the compoponet will try to match URLs even when a protocol (http://, https://) is not found. \"),_c('b',[_vm._v(\"Defaults to true\")])])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" caretColor \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" A valid HEX color (eg. #ccc, #ff4545). \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" placeholder \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" A placeholder to show when no text is entered. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" usernameClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a @username match. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" hashtagClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a #hashtag match. \")])])]),_c('tr',[_c('td',{staticClass:\"props-name-col\"},[_c('div',{staticClass:\"props-name\"},[_vm._v(\" urlClass \")])]),_c('td',{staticClass:\"props-type-col px-sm\"},[_c('div',{staticClass:\"props-type\"},[_vm._v(\" String \")])]),_c('td',{staticClass:\"props-desc-col\"},[_c('div',{staticClass:\"props-desc\"},[_vm._v(\" The CSS class(es) that will be added to a URL match. \")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"As you can see when we first imported the package, 2 functions are also exported: \"),_c('b',[_vm._v(\"autoLink\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"autoHighlight\")]),_vm._v(\". \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" Both return a \"),_c('b',[_vm._v(\"String\")]),_vm._v(\" value which contains our highlighted text. \"),_c('b',[_vm._v(\"autoLink\")]),_vm._v(\" returns the matches found between \"),_c('b',[_vm._v(\"anchor\")]),_vm._v(\" tags for links. \"),_c('b',[_vm._v(\"autoHighlight\")]),_vm._v(\" returns the matches found between \"),_c('b',[_vm._v(\"span\")]),_vm._v(\" tags for highlight only. \")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"code-snippet box relative flex\"},[_c('div',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.lang))]),_c('div',{staticClass:\"line-numbers\"},_vm._l((_vm.lineCount),function(n){return _c('div',{key:n,staticClass:\"line-number\"},[_vm._v(_vm._s(n))])}),0),_c('div',{staticClass:\"render\",domProps:{\"innerHTML\":_vm._s(_vm.result)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeSnippet.vue?vue&type=template&id=0b2bb8ac&\"\nimport script from \"./CodeSnippet.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeSnippet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeSnippet.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Docs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Docs.vue?vue&type=template&id=ff0a3788&\"\nimport script from \"./Docs.vue?vue&type=script&lang=js&\"\nexport * from \"./Docs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Docs.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport VueHighlights, { autoLink, autoHighlight } from '../src'\nimport App from './App.vue'\nimport Home from './Home.vue'\nimport Docs from './Docs.vue'\n\nimport './styles/main.styl'\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n routes: [\n { path: '/', name: 'home', component: Home },\n { path: '/docs', name: 'docs', component: Docs },\n { path: '*', component: Home }\n ]\n})\n\nVue.component(VueHighlights.name, VueHighlights)\nVue.prototype.$autoLink = autoLink\nVue.prototype.$autoHighlight = autoHighlight\n\nVue.config.productionTip = false\n\nnew Vue({\n router,\n render: h => h(App)\n}).$mount('#app')\n"],"sourceRoot":""} \ No newline at end of file