(function(o,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(o=typeof globalThis<"u"?globalThis:o||self,n(o.vueTyperNext={},o.Vue))})(this,function(o,n){"use strict";const w={data:{type:[String,Array],default:""},handlerNum:{type:Number,default:1,validator(i){if(i>0)return!0;throw Error("handlerNum必须大于0")}},typeSpeed:{type:Number,default:15},typeSpeedLine:{type:Number,default:100},cursorChar:{type:String,default:"_"},back:{type:Boolean,default:!1},backSpeed:{type:Number,default:30},scrollDom:{type:String,default:""}},B="",N={class:"content"},b=["innerHTML"],m=n.defineComponent({name:"vueTyperNext",__name:"typer",props:w,emits:["complete","lineComplete"],setup(i,{expose:d,emit:h}){const a=i,e=n.ref("");let u=1,p="start",y;const r=`${a.cursorChar}`;n.watch(()=>a.data,()=>{console.log("watch"),u=a.handlerNum,T()},{immediate:!0});function v(){e.value="",e.value=e.value+r}async function T(){if(Array.isArray(a.data)){for(;u>0;)v(),await k(),u--;h("complete")}else{for(;u>0;)v(),await C(),u--;h("complete")}}async function C(){for(let t=0;t"+(t{t?setTimeout(l,t):y=window.setInterval(()=>{p==="start"&&(l(),clearInterval(y))},100)})}function g(){if(a.scrollDom){const t=document.querySelector(a.scrollDom);t&&(t.scrollTop=t.scrollHeight)}}function D(){p="start"}function A(){p="pause"}return d({start:D,pause:A}),(t,l)=>(n.openBlock(),n.createElementBlock("div",N,[n.renderSlot(t.$slots,"prefix"),n.createElementVNode("div",{class:"result",innerHTML:e.value},null,8,b),n.renderSlot(t.$slots,"suffix")]))}}),x=[m],_=i=>{x.map(d=>{i.component(d.name,d)})};o.default=_,o.vueTyperNext=m,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});