website/themes/LoveIt/assets/lib/typeit/index.umd.js

2 lines
7.9 KiB
JavaScript
Raw Normal View History

2022-12-01 17:30:08 +01:00
// TypeIt by Alex MacArthur - https://typeitjs.com
(function(E,w){typeof exports=="object"&&typeof module<"u"?module.exports=w():typeof define=="function"&&define.amd?define(w):(E=typeof globalThis<"u"?globalThis:E||self,E.TypeIt=w())})(this,function(){"use strict";var E=e=>Array.isArray(e),w=e=>E(e)?e:[e];let se=function(e){let r=function(c){return w(c).forEach(g=>m.set(Symbol(g.char?.innerText),{...g})),this},l=()=>f().filter(c=>c.typeable),s=function(c,g){let O=[...m.keys()];m.set(O[c],g)},o=function(){m.forEach(c=>delete c.done)},d=function(){m=new Map,r(e)},T=()=>m,f=()=>Array.from(m.values()),p=c=>m.delete(c),b=(c=!1)=>c?f():f().filter(g=>!g.done),x=(c,g=!1)=>g?m.delete(c):m.get(c).done=!0,m=new Map;return r(e),{add:r,set:s,wipe:d,reset:o,destroy:p,done:x,getItems:b,getQueue:T,getTypeable:l}};var W=e=>Array.from(e),R=e=>document.createTextNode(e);let B=e=>([...e.childNodes].forEach(r=>{if(r.nodeValue){[...r.nodeValue].forEach(l=>{r.parentNode.insertBefore(R(l),r)}),r.remove();return}B(r)}),e);var J=e=>{let r=document.implementation.createHTMLDocument();return r.body.innerHTML=e,B(r.body)};const K="data-typeit-id",k="ti-cursor",oe="END",ae={started:!1,completed:!1,frozen:!1,destroyed:!1},ue={breakLines:!0,cursor:!0,cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,html:!0,lifeLike:!0,loop:!1,loopDelay:750,nextStringDelay:750,speed:100,startDelay:250,startDelete:!1,strings:[],waitUntilVisible:!1,beforeString:()=>{},afterString:()=>{},beforeStep:()=>{},afterStep:()=>{},afterComplete:()=>{}},de=`[${K}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`;function X(e,r=!1){let l=document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:d=>d.classList?.contains(k)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),s,o=[];for(;s=l.nextNode();)s.originalParent=s.parentNode,o.push(s);return r?o.reverse():o}function fe(e){return X(J(e))}function ce(e,r=!0){return r?fe(e):W(e).map(R)}var P=e=>document.createElement(e),Y=(e,r="")=>{let l=P("style");l.id=r,l.appendChild(R(e)),document.head.appendChild(l)},G=e=>(E(e)||(e=[e/2,e/2]),e),Z=(e,r)=>Math.abs(Math.random()*(e+r-(e-r))+(e-r));let ee=e=>e/2;function ye(e){let{speed:r,deleteSpeed:l,lifeLike:s}=e;return l=l!==null?l:r/3,s?[Z(r,ee(r)),Z(l,ee(l))]:[r,l]}var pe=e=>(e.forEach(clearTimeout),[]),he=()=>Math.random().toString().substring(2,9),Q=e=>"value"in e;let me=e=>Q(e)?W(e.value):X(e,!0).filter(r=>!(r.childNodes.length>0));var be=(e,r)=>{new IntersectionObserver((s,o)=>{s.forEach(d=>{d.isIntersecting&&(r(),o.unobserve(e))})},{threshold:1}).observe(e)};let C=e=>typeof e=="function"?e():e;var te=e=>Number.isInteger(e);let z=(e,r=document,l=!1)=>r[`querySelector${l?"All":""}`](e),ge=e=>e?.tagName==="BODY",Se=(e,r)=>{if(Q(e)){e.value=`${e.value}${r.textContent}`;return}r.innerHTML="";let l=ge(r.originalParent)?e:r.originalParent||e;l.insertBefore(r,z("."+k,l)||null)},Te=(e,r,l)=>Math.min(Math.max(r+e,0),l.length);var D=(e,r)=>Object.assign({},e,r),F=e=>{if(!e)return;let r=e.parentNode;(r.childNodes.length>1?e:r).remove()},ve=(e,r,l)=>{let s=r[l-1],o=z(`.${k}`,e);e=s?.parentNode||e,e.insertBefore(o,s||null)};function _e(e){return typeof e=="string"?z(e):e}var Ee=e=>/<(.+)>(.*?)<\/(.+)>/.test(e.outerHTML);let we=async(e,r,l)=>new Promise(s=>{let o=async()=>{await e(),s()};l.push(setTimeout(o,r||0))}),Ce={"font-family":"","font-weight":"","font-size":"","font-style":"","line-height":"",color:"","margin-left":"-.125em","margin-right":".125em"},Ne=(e,r,l)=>{let o=`${`[${K}='${e}']`} .${k}`,d=getComputedStyle(l),T=Object.entries(Ce).reduce((f,[p,b])=>`${f} ${p}: var(--ti-cursor-${p}, ${b||d[p]});`,"");Y(`@keyframes blink-${e} { 0% {opacity: 0} 49% {opacity: 0} 50% {opacity: 1} } ${o} { display: inline; letter-spacing: -1em; ${T} animation: blink-${e} ${r.cursorSpeed/1e3}s infinite; } ${o}.with-delay { animation-delay: 500ms; } ${o}.disabled { animation: none; }`,e)};var U=(e,r)=>new Array(r).fill(e);const re=({queueItems:e,selector:r,cursorPosition:l,to:s})=>{if(te(r))return r*-1;let o=new RegExp(oe,"i").test(s),d=r?[...e].reverse().findIndex(({char:f})=>{let p=f.parentElement,b=p.matches(r);return o&&b?!0:b