{"version":3,"file":"chunks/1cb49567969d04.js","mappings":"uoCAA4B,IAEPA,EAAgB,WAUnC,SAAAA,EAAYC,EAAsBC,I,4FAAaC,CAAA,KAAAH,GAC7CI,KAAKH,QAAUI,EAAEJ,GACjBG,KAAKF,O,+VAAMI,CAAA,GAAQJ,GACnBE,KAAKG,aAAeF,EAAE,iBAAkBD,KAAKH,SAC7CG,KAAKI,kBAAoBJ,KAAKF,OAAOK,aAAaE,OAClDL,KAAKM,UAAY,IACjBN,KAAKO,UAAY,IACjBP,KAAKQ,MAAQ,EACbR,KAAKS,UACLT,KAAKU,MACP,C,QAmEC,O,EAnEAd,G,EAAA,EAAAe,IAAA,OAAAC,MAED,WACEZ,KAAKS,UAAYI,YACf,WACEb,KAAKc,eACP,EAAEC,KAAKf,MACPA,KAAKF,OAAOkB,SAEhB,GAAC,CAAAL,IAAA,gBAAAC,MAED,WACE,OAAQZ,KAAKF,OAAOmB,OAClB,IAAK,SACHjB,KAAKkB,aACL,MACF,IAAK,aACHlB,KAAKmB,iBAKX,GAAC,CAAAR,IAAA,aAAAC,MAED,WACMZ,KAAKQ,QAAUR,KAAKI,kBAAoB,EACtCJ,KAAKF,OAAOsB,KACdpB,KAAKQ,MAAQ,EAEba,cAAcrB,KAAKS,WAGrBT,KAAKQ,MAAQR,KAAKQ,MAAQ,CAE9B,GAAC,CAAAG,IAAA,aAAAC,MAED,WACEZ,KAAKG,aAAamB,QAChB,CAAEC,QAAS,GACXvB,KAAKM,UACL,WACEN,KAAKG,aACFqB,KAAKxB,KAAKF,OAAOK,aAAaH,KAAKQ,QACnCc,QAAQ,CAAEC,QAAS,GAAKvB,KAAKM,WAChCN,KAAKyB,YACP,EAAEV,KAAKf,MAEX,GAAC,CAAAW,IAAA,iBAAAC,MAED,WACE,IAAIc,EAAa1B,KAAKF,OAAOK,aAAaH,KAAKQ,OAAOmB,MAAM,IACxDC,EAAmBF,EAAWrB,OAC9BwB,EAAU,EACVL,EAAO,GACPM,EAASjB,YACX,WACEW,GAAcE,EAAWG,GACzB7B,KAAKG,aAAaqB,KAAKA,GACnBK,EAAUD,EAAmB,EAC/BC,GAAoB,EAEpBR,cAAcS,EAElB,EAAEf,KAAKf,MACPA,KAAKO,WAEPP,KAAKyB,YACP,M,oEAAC7B,CAAA,CAvFkC,E","sources":["webpack:///./resources/js/components/generic/heading-animation.ts"],"sourcesContent":["import * as $ from \"jquery\";\n\nexport default class HeadingAnimation {\n  domRoot: JQuery<any>;\n  params: any;\n  animatedText: JQuery<HTMLElement>;\n  replacementLength: any;\n  fadeSpeed: number;\n  typeSpeed: number;\n  index: number;\n  animation: any;\n\n  constructor(domRoot: HTMLElement, params: any) {\n    this.domRoot = $(domRoot);\n    this.params = { ...params };\n    this.animatedText = $(\".animated-text\", this.domRoot);\n    this.replacementLength = this.params.animatedText.length;\n    this.fadeSpeed = 200;\n    this.typeSpeed = 100;\n    this.index = 1;\n    this.animation;\n    this.init();\n  }\n\n  init() {\n    this.animation = setInterval(\n      function () {\n        this.playAnimation();\n      }.bind(this),\n      this.params.duration\n    );\n  }\n\n  playAnimation() {\n    switch (this.params.style) {\n      case \"fadeIn\":\n        this.fadeInText();\n        break;\n      case \"typewriter\":\n        this.typewriterText();\n        break;\n      default:\n        break;\n    }\n  }\n\n  handleLoop() {\n    if (this.index === this.replacementLength - 1) {\n      if (this.params.loop) {\n        this.index = 0;\n      } else {\n        clearInterval(this.animation);\n      }\n    } else {\n      this.index = this.index + 1;\n    }\n  }\n\n  fadeInText() {\n    this.animatedText.animate(\n      { opacity: 0 },\n      this.fadeSpeed,\n      function () {\n        this.animatedText\n          .text(this.params.animatedText[this.index])\n          .animate({ opacity: 1 }, this.fadeSpeed);\n        this.handleLoop();\n      }.bind(this)\n    );\n  }\n\n  typewriterText() {\n    var characters = this.params.animatedText[this.index].split(\"\");\n    var charactersLength = characters.length;\n    var counter = 0;\n    var text = \"\";\n    var typing = setInterval(\n      function () {\n        text = text + characters[counter];\n        this.animatedText.text(text);\n        if (counter < charactersLength - 1) {\n          counter = counter + 1;\n        } else {\n          clearInterval(typing);\n        }\n      }.bind(this),\n      this.typeSpeed\n    );\n    this.handleLoop();\n  }\n}\n"],"names":["HeadingAnimation","domRoot","params","_classCallCheck","this","$","_objectSpread","animatedText","replacementLength","length","fadeSpeed","typeSpeed","index","animation","init","key","value","setInterval","playAnimation","bind","duration","style","fadeInText","typewriterText","loop","clearInterval","animate","opacity","text","handleLoop","characters","split","charactersLength","counter","typing"],"sourceRoot":""}