@theappglobal/webflow 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/theapp.js +1 -1
- package/package.json +1 -1
package/dist/theapp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @theappglobal/webflow v1.0.
|
|
1
|
+
/*! @theappglobal/webflow v1.0.1 — theapp.global Webflow scripts. https://github.com/milesroxas/theapp-webflow#readme */
|
|
2
2
|
"use strict";(()=>{var d=(t,e=document)=>e.querySelector(t),c=(t,e=document)=>[...e.querySelectorAll(t)],D=t=>(t.textContent??"").trim(),I=(t="")=>t.replace(/[\u200B-\u200D]/g,"").replace(/\s+/g," ").trim(),k=(t,e)=>Object.assign(document.createElement(t),{className:e}),f=(t,e)=>Object.entries(e).forEach(([n,r])=>t.setAttribute(n,String(r))),v=encodeURIComponent,A={target:"_blank",rel:"noopener noreferrer"},x=t=>t.cloneNode(!0);var X="[tour-event]",C=(t,...e)=>console.warn(`${X} ${t}`,...e),j=(t,...e)=>console.error(`${X} ${t}`,...e);var L={list:"e_what_list",card:"e_what_card",img:"e_what_img",text:"e_what_card_text",trim:"u-text-trim-off"},ht="h1, h2, h3, h4, h5, h6, p, em, [class*='u-text-style-']",B=()=>c("[data-ewhat-content]").forEach(t=>{if(t.dataset.ewhatReady==="true")return;let e=t;for(let a=e.firstElementChild;a&&e.children.length===1&&c("img",a).length>1;a=e.firstElementChild)e=a;let n=[],r=null;if([...e.children].forEach(a=>{let o=a instanceof HTMLImageElement?a:d("img",a);if(o){Object.assign(o,{loading:"lazy",decoding:"async"});let i=x(o);i.className=L.img,r=k("div",L.text);let l=k("article",L.card);l.append(i,r),n.push(l);let m=x(a);c("img, figure, .w-richtext-figure-type-image",m).forEach(u=>u.remove()),m.textContent?.trim()&&r.append(...m.children);return}if(!r)return;let s=x(a);[s,...c(ht,s)].forEach(i=>i.classList.add(L.trim)),r.append(s)}),!n.length)return C("activations: no cards detected",t);t.replaceChildren(...n),t.classList.add(L.list),t.dataset.ewhatReady="true"}),xt="(min-width: 992px)",bt=4,Y=()=>{window.matchMedia(xt).matches&&c(".e_what_scroll").forEach(t=>{if(c(`.${L.card}`,t).length<=bt)return;t.classList.add("is-draggable");let e=!1,n=0,r=0,a=()=>{e=!1,t.classList.remove("is-dragging")};t.addEventListener("mousedown",o=>{o.button===0&&(e=!0,n=o.pageX,r=t.scrollLeft,t.classList.add("is-dragging"))}),t.addEventListener("mousemove",o=>{e&&(o.preventDefault(),t.scrollLeft=r-(o.pageX-n))}),t.addEventListener("mouseleave",a),window.addEventListener("mouseup",a)})};var S=t=>t.toISOString().replace(/[-:]|\.\d{3}/g,""),vt=t=>t.replace(/[;,]/g,"\\$&"),wt={"data-gcal":({title:t,start:e,end:n})=>({...A,href:`https://calendar.google.com/calendar/render?action=TEMPLATE&text=${v(t)}&dates=${S(e)}/${S(n)}`}),"data-outlook":({title:t,start:e,end:n})=>({...A,href:`https://outlook.live.com/calendar/0/deeplink/compose?path=/calendar/action/compose&rru=addevent&subject=${v(t)}&startdt=${v(e.toISOString())}&enddt=${v(n.toISOString())}`}),"data-apple":({title:t,start:e,end:n})=>({download:`${t}.ics`,href:`data:text/calendar;charset=utf8,${v(["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//APP//Event Calendar//EN","BEGIN:VEVENT",`UID:${Date.now()}@theapp.global`,`DTSTAMP:${S(new Date)}`,`DTSTART:${S(e)}`,`DTEND:${S(n)}`,`SUMMARY:${vt(t)}`,"END:VEVENT","END:VCALENDAR"].join(`\r
|
|
3
3
|
`))}`})},K=({title:t,start:e,end:n})=>{if(!t||!e)return;let r={title:t,start:e,end:n??new Date(+e+2*36e5)};Object.entries(wt).forEach(([a,o])=>{let s=c(`[${a}]`);if(s.length){let i=o(r);s.forEach(l=>f(l,i))}})};var Z=(t,e=new Map)=>n=>{let r=e.get(n);if(r!==void 0)return r;let a=t(n);return e.set(n,a),a};var Tt={P:"America/Los_Angeles",M:"America/Denver",C:"America/Chicago",E:"America/New_York",AK:"America/Anchorage",HI:"Pacific/Honolulu"},At=/^(\d{4})-(\d{1,2})-(\d{1,2})(?:(?:\s+|T)(\d{1,2})(?::(\d{2}))?(?::(\d{2}))?\s*(am|pm)?)?$/i,J=t=>Tt[t.toUpperCase().replace(/^([PMCE])[SD]?T$/,"$1")]??t,yt=Z(t=>new Intl.DateTimeFormat("en-US",{timeZone:t,hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),G=(t,e)=>{let n=yt(e).formatToParts(new Date(t)),r=Object.fromEntries(n.map(({type:u,value:E})=>[u,+E])),{year:a=NaN,month:o=NaN,day:s=NaN,hour:i=NaN,minute:l=NaN,second:m=NaN}=r;return Date.UTC(a,o-1,s,i,l,m)-t},$t=t=>{let e=t.match(At);if(e){let[,r="",a="",o="",s="0",i="0",l="0",m]=e;return[+r,+a-1,+o,m?+s%12+(/pm/i.test(m)?12:0):+s,+i,+l]}let n=new Date(t);return Number.isNaN(n.getTime())?null:[n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds()]},Ct=/(Z|[+-]\d{2}:?\d{2})$/i,_=(t,e)=>{let n=(t??"").trim();if(!n)return null;if(Ct.test(n)){let o=new Date(n);return Number.isNaN(o.getTime())?null:o}let r=$t(n);if(!r)return null;if(!e)return new Date(...r);let a=Date.UTC(...r);return new Date(a-G(a-G(a,e),e))},Q=(t,e)=>t?new Intl.DateTimeFormat("en-US",{timeZone:e||void 0,month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(t):"";var O=(...t)=>{let e=d("[data-date-timezone]"),n=t.map(r=>r?.closest("[data-tz]")?.getAttribute("data-tz")?.trim()).find(Boolean)||e?.getAttribute("data-date-timezone")?.trim()||e?.textContent?.trim()||"PT";return n==="client"?null:J(n)};var Lt={"event-start":"data-event-start","event-end":"data-event-end","registration-start":"data-registration-start","registration-end":"data-registration-end"},Nt=[["data-days",86400],["data-hours",3600],["data-minutes",60],["data-seconds",1]],St=t=>String(t).padStart(2,"0"),_t=t=>{let e=t.getAttribute("data-countdown")?.trim()??"",n=Lt[e]??e;if(!n.startsWith("data-"))return null;let r=t.closest("[data-countdown-scope]")??document,a=t.hasAttribute(n)?t:d(`[${n}]`,r)??d(`[${n}]`);return a&&_(a.getAttribute(n),O(t,a))?.getTime()},tt=()=>{let t=c("[data-countdown]").map(r=>({deadline:_t(r),cells:Nt.map(([a,o])=>[d(`[${a}]`,r),o])})).filter(r=>!!r.deadline);if(!t.length)return;let e=()=>{let r=Date.now();return t.forEach(({deadline:a,cells:o})=>{let s=Math.max(0,Math.floor((a-r)/1e3));o.forEach(([i,l])=>{i&&(i.textContent=St(Math.floor(s/l))),s%=l})}),t.every(a=>a.deadline<=r)},n=setInterval(()=>e()&&clearInterval(n),1e3);e()};var et=()=>c("[data-external] a, a[data-external]").forEach(t=>f(t,A));var Mt=/\[(event_full|event_start)\]/g,Rt=new Set(["SCRIPT","STYLE","NOSCRIPT"]),nt=({title:t,start:e,zone:n})=>{let r={event_full:t,event_start:Q(e,n)},a=document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT,o=>(o.nodeValue??"").includes("[")&&!Rt.has(o.parentElement?.tagName??"")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT);for(let o=a.nextNode();o;o=a.nextNode()){let s=o.nodeValue??"",i=s.replace(Mt,(l,m)=>r[m]??"");i!==s&&(o.nodeValue=i)}};var Dt=["line1","city","state","zip"],rt=()=>c("[data-map-link]").forEach(t=>{let e=t.closest(".map_fpo");if(!e)return;let n=Dt.map(r=>d(`[data-map-${r}]`,e)?.textContent?.trim()).filter(Boolean).join(", ");if(!n){t.style.display="none";return}f(t,{...A,href:`https://www.google.com/maps/search/?api=1&query=${v(n)}`})});var g={root:"data-marquee",track:"data-marquee-track",speed:"data-marquee-speed",clone:"data-marquee-clone",ready:"is-ready",defaultSpeed:70,resizeDelay:150,maxSets:50,reduced:"(prefers-reduced-motion: reduce)"},It="a, button, input, select, textarea, summary, [tabindex], [contenteditable='true']",N=window.__webflowMarqueeStore??(window.__webflowMarqueeStore={map:new WeakMap,instances:new Set}),at=t=>t.getBoundingClientRect().width,Ot=t=>d(`[${g.track}]`,t)??d(".marquee_track",t)??d(".marquee_wrap .w-dyn-items",t)??d(".w-dyn-list .w-dyn-items",t)??d(".w-dyn-items",t),Pt=t=>{let e=Number(t.getAttribute(g.speed));return Number.isFinite(e)&&e>0?e:g.defaultSpeed},kt=(t,e)=>{let n=x(t);return f(n,{[g.clone]:"","data-marquee-clone-index":e,"aria-hidden":"true"}),[n,...c("[id]",n)].forEach(r=>r.removeAttribute("id")),"inert"in n&&(n.inert=!0),n.style.pointerEvents="none",c(It,n).forEach(r=>f(r,{tabindex:"-1","aria-hidden":"true"})),n},qt=t=>Promise.all([...c("img",t).map(e=>e.complete?null:typeof e.decode=="function"?e.decode().catch(()=>{}):new Promise(n=>{for(let r of["load","error"])e.addEventListener(r,n,{once:!0})})),document.fonts?.ready.catch(()=>{})]),Ht=t=>{let e=Ot(t);if(!e)return null;let n=d(".marquee_wrap",t)??t,r=window.matchMedia?.(g.reduced),a,o,s=0,i=0,l=!1,m=!1,u=()=>[...e.children].filter(p=>!p.hasAttribute(g.clone)),E=p=>e.append(...p.map(kt)),w=p=>[e,t].forEach(M=>M.classList.toggle(g.ready,p)),b=()=>{w(!1);for(let p of["--marquee-distance","--marquee-duration"])e.style.removeProperty(p);c(`:scope > [${g.clone}]`,e).forEach(p=>p.remove())},y=()=>{if(l)return;b();let p=u(),[M]=p;if(!M)return;let V=!!r?.matches;if(t.toggleAttribute("data-marquee-reduced",V),V)return w(!0);let P=at(n);if(!P)return;E(p);let W=e.children[p.length],R=W?W.getBoundingClientRect().left-M.getBoundingClientRect().left:0;if(!(R>0))return b();for(let U=0;e.scrollWidth-R<P&&U<g.maxSets;U++)E(p);e.style.setProperty("--marquee-distance",`${R}px`),e.style.setProperty("--marquee-duration",`${R/Pt(t)}s`),i=P,w(!0)},T=()=>{l||(clearTimeout(o),o=setTimeout(()=>{cancelAnimationFrame(s),s=requestAnimationFrame(y)},g.resizeDelay))},$=()=>{if(!m)return;let p=at(n);Math.abs(p-i)<1||(i=p,T())},z={init:()=>{w(!1),qt(e).then(()=>{l||requestAnimationFrame(()=>{y(),m=!0,typeof ResizeObserver<"u"?(a=new ResizeObserver($)).observe(n):window.addEventListener("resize",$,{passive:!0}),r?.addEventListener("change",T)})})},destroy:()=>{l=!0,clearTimeout(o),cancelAnimationFrame(s),a?.disconnect(),window.removeEventListener("resize",$),r?.removeEventListener("change",T),b(),N.map.delete(t),N.instances.delete(z)}};return z},q=()=>c(`[${g.root}]`).forEach(t=>{N.map.get(t)?.destroy();let e=Ht(t);e&&(N.map.set(t,e),N.instances.add(e),e.init())}),ot=()=>[...N.instances].forEach(t=>t.destroy());var st={top:80,threshold:8},it=()=>{let t=window.Webflow?.require?.("ix3");if(!t)throw new Error("IX3 unavailable");let e=window.scrollY,n="main",r=!1,a=(s,i)=>{n!==s&&(n=s,t.emit(i))},o=()=>{let s=window.scrollY,i=s-e;s<=st.top?a("main","nav-scroll-up"):Math.abs(i)>=st.threshold&&(i>0?a("event","nav-scroll-down"):a("main","nav-scroll-up")),e=s,r=!1};window.addEventListener("scroll",()=>{r||(r=!0,requestAnimationFrame(o))},{passive:!0})};var Ft=["player","spectator"],zt=t=>{t.hidden=!1,t.style.display=""},Vt=(t,e)=>{let n=`data-pricing-${e}`,r=s=>d(`[${n}="${s}"]`,t)??d(`[${n}="${s}"]`),a=r("source");if(!a)return;let o=r("link-0")?.getAttribute("href");c("p",a).forEach((s,i)=>{let l=h=>c(`[${n}="${h}-${i+1}"]`,t),m=l("link"),u=I(s.textContent??"");if(u==="-")return m.forEach(h=>h.remove());let E=l("title"),w=l("price");if([...m,...E,...w].forEach(zt),!u)return;let b=u.indexOf(":"),y=b>-1?I(u.slice(0,b)):"",T=I(b>-1?u.slice(b+1):u),$=d("a",s)?.getAttribute("href")||o;y&&y!=="-"&&E.forEach(h=>h.textContent=y),T&&T!=="-"&&w.forEach(h=>h.textContent=T),$&&m.forEach(h=>h.setAttribute("href",$))})},ct=()=>c("[data-section-pricing]").forEach(t=>Ft.forEach(e=>Vt(t,e)));var Wt="(max-width: 479px)",Ut="player",lt=()=>c('[data-register-tabs="wrap"]').forEach(t=>{let e=c("[data-register-tab]",t),n=c("[data-register-pane]",t);if(!e.length||!n.length)return;let r=window.matchMedia(Wt),a=Ut,o=()=>{let s=(i,l,m)=>r.matches?i.setAttribute(l,String(m)):i.removeAttribute(l);e.forEach(i=>{let l=i.getAttribute("data-register-tab")===a;i.classList.toggle("is-active",l),s(i,"aria-selected",l)}),n.forEach(i=>{let l=i.getAttribute("data-register-pane")===a;i.classList.toggle("is-active",l),s(i,"aria-hidden",!l)})};e.forEach(s=>s.addEventListener("click",()=>{a=s.getAttribute("data-register-tab"),o()})),r.addEventListener("change",o),o()});var Xt=()=>{let t=new Map(c("[data-card-template]").map(e=>[e.getAttribute("data-card-template")?.trim()??"",e]));return c("[data-card-templates]").forEach(e=>e.remove()),t},dt=t=>d(":scope > ul, :scope > ol",t),H=t=>{let e=dt(t);return e?c(":scope > li",e):[]},mt=t=>{let e=dt(t);return[...t.childNodes].filter(n=>n!==e).map(D).filter(Boolean).join(" ")},jt={"data-stream-list":{template:"stream",extract:t=>{let e=H(t).map(D),n=e.length>=3;return{details:n?e.filter((r,a)=>a!==2):e,pill:n?e[2]??null:null}}},"data-stream-broadcast":{template:"broadcast",extract:t=>{let[e]=H(t),[n]=e?H(e):[];return{details:e?[mt(e)].filter(Boolean):[],pill:n?D(n):null}}}},Bt=(t,{base:e,linked:n},{details:r,pill:a})=>{let o=d("a[href]",t),s=x(o?n:e);if(s.removeAttribute("data-card-template"),s.classList.remove("hide","w-condition-invisible"),o){let u=o.getAttribute("target"),E=o.getAttribute("rel")||(u==="_blank"?"noopener noreferrer":"");f(s,{href:o.getAttribute("href")??"",...u?{target:u}:{},...E?{rel:E}:{}})}else for(let u of["href","target","rel"])s.removeAttribute(u);let i=d("[data-card-title]",s);i&&(i.textContent=mt(t));let l=d("[data-card-detail]",s);l?.replaceWith(...r.map(u=>Object.assign(x(l),{textContent:u})));let m=d("[data-card-pill]",s);return m&&(a?m.textContent=a:(m.closest("[data-card-pill-wrap]")??m).remove()),s},ut=()=>{let t,e=()=>t??(t=Xt());Object.entries(jt).forEach(([n,{template:r,extract:a}])=>c(`[${n}]`).forEach(o=>{let s=o.getAttribute(n)?.trim()||r,i=e().get(s);if(!i)return C(`missing [data-card-template="${s}"] — [${n}] left as rich text`);let l={base:i,linked:e().get(`${s}-link`)??i};c(":scope > ul, :scope > ol",o).forEach(m=>m.replaceWith(...c(":scope > li",m).map(u=>Bt(u,l,a(u)))))}))};var pt={zone:null,start:null,end:null,title:""},ft=()=>{let t=d("[data-event-start]"),e=d("[data-event-end]"),n=d("[data-event-full]"),r=O(t,e),a=_(t?.getAttribute("data-event-start"),r),o=_(e?.getAttribute("data-event-end"),r);return(t||e)&&!(a&&o)&&C("event dates missing or unreadable →",{start:t?.getAttribute("data-event-start"),end:e?.getAttribute("data-event-end"),zone:r}),{zone:r,start:a,end:o,title:n?.getAttribute("data-event-full")?.trim()||n?.textContent?.trim()||""}};var gt=t=>{let e=[];(window.Webflow||(window.Webflow=e)).push(t)};var Yt={renderLists:ut,renderPricing:ct,runCountdowns:tt,addToCalendar:K,mapLinks:rt,externalLinks:et,renderActivations:B,dragScroll:Y,registerTabs:lt,initMarquees:q,fillText:nt},F=(t,e,...n)=>{try{return e(...n)}catch(r){j(`${t} failed:`,r);return}},Et=()=>{let t=F("eventContext",ft)??pt;Object.entries(Yt).forEach(([e,n])=>F(e,n,t))};window.WebflowMarquee={init:q,destroy:ot};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Et,{once:!0}):Et();gt(()=>F("navScroll",it));})();
|
|
4
4
|
//# sourceMappingURL=theapp.js.map
|
package/package.json
CHANGED