- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
2 lines
18 KiB
JavaScript
2 lines
18 KiB
JavaScript
import{m as e,L as t,d as o,s as n,r as i,u as s,a as l,D as r,b as a}from"./core-Do8DihFV.js";const c={},d=function(e,t,o){let n=Promise.resolve();if(t&&t.length>0){let e=function(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(null==o?void 0:o.nonce)||(null==o?void 0:o.getAttribute("nonce"));n=e(t.map(e=>{if((e=function(e){return"/"+e}(e))in c)return;c[e]=!0;const t=e.endsWith(".css"),o=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${o}`))return;const n=document.createElement("link");return n.rel=t?"stylesheet":"modulepreload",t||(n.as="script"),n.crossOrigin="",n.href=e,i&&n.setAttribute("nonce",i),document.head.appendChild(n),t?new Promise((t,o)=>{n.addEventListener("load",t),n.addEventListener("error",()=>o(new Error(`Unable to preload CSS for ${e}`)))}):void 0}))}function i(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&i(e.reason);return e().catch(i)})},u={noise:{selector:".noise-overlay",toggleKey:"g",className:"grainy",enableTransition:!0},"shortcut-handler.js":{debug:!1},scrollfx:{selector:".fade-in-on-scroll, .zoom-in",offset:.8,baseDelay:.075,once:!0},"scroll-timeline":{attribute:"data-scroll-step",triggerPoint:.4,once:!1},"smooth-scroll":{speed:.2}},m=new Map;async function g(){var i;let s;s="undefined"!=typeof global&&(null==(i=global.importMeta)?void 0:i.glob)?global.importMeta.glob("./*/index.js",{eager:!1}):Object.assign({"./example-module/index.js":()=>d(()=>Promise.resolve().then(()=>v),void 0),"./inertia-scroll/index.js":()=>d(()=>Promise.resolve().then(()=>A),void 0),"./lightbox-trigger/index.js":()=>d(()=>Promise.resolve().then(()=>z),void 0),"./noise/index.js":()=>d(()=>Promise.resolve().then(()=>D),void 0),"./parallax/index.js":()=>d(()=>Promise.resolve().then(()=>I),void 0),"./scroll-dependent/index.js":()=>d(()=>Promise.resolve().then(()=>C),void 0),"./scroll-loop/index.js":()=>d(()=>Promise.resolve().then(()=>N),void 0),"./scroll-timeline/index.js":()=>d(()=>Promise.resolve().then(()=>H),void 0),"./scrollfx/index.js":()=>d(()=>Promise.resolve().then(()=>h),void 0),"./sidebar/index.js":()=>d(()=>Promise.resolve().then(()=>K),void 0),"./smooth-scroll/index.js":()=>d(()=>Promise.resolve().then(()=>U),void 0),"./sticky-fade/index.js":()=>d(()=>Promise.resolve().then(()=>Q),void 0),"./sticky-steps/index.js":()=>d(()=>Promise.resolve().then(()=>ee),void 0),"./ui/index.js":()=>d(()=>Promise.resolve().then(()=>te),void 0),"./wheel-boost/index.js":()=>d(()=>Promise.resolve().then(()=>oe),void 0)});const l=new Set(Array.from(document.querySelectorAll("[data-module]")).map(e=>e.dataset.module).filter(Boolean)),r=new Set(l),a=0===r.size,c={};Object.keys(s).forEach(e=>{const n=e.split("/").slice(-2,-1)[0];if(!a&&!r.has(n))return void t.info(`⏭️ [Module] Skipping unused module: ${n}`);c[n]=s[e];const i={name:n,version:"1.0.0",dependencies:[],provides:[],priority:0};o.register(i)});const g=o.calculateInitializationOrder();for(const d of g){if(!a&&!r.has(d)){t.info(`⏭️ [Module] Skipped (not used in DOM): ${d}`);continue}if(!c[d]){t.warn(`⛔ [Module] No loader found for: ${d}`);continue}let i;try{i=await c[d](),t.info(`📦 [Module] Lazy loaded: ${d}`)}catch(f){t.error(`❌ [Module] Failed to load ${d}:`,f);continue}const s=u[d]||{},l=o.checkDependencies(d);if(l.satisfied)if("function"==typeof i.init)try{o.markInitializing(d);const l=n.createScope(d),r=e.wrapModule(i,d);await r.init(s,l),o.markInitialized(d),m.set(d,{mod:r,config:s,state:l,original:i}),t.info(`✅ [Module] Initialized: ${d}`)}catch(f){t.error(`❌ [Module] Failed to initialize ${d}:`,f),m.set(d,{mod:null,config:s,error:f,original:i})}else t.warn(`⛔ [Module] No init() in ${d}`);else t.error(`❌ [Module] Cannot initialize ${d}: ${l.reason}`),m.set(d,{mod:null,config:s,error:new Error(l.reason),original:i})}a&&t.info("⚠️ [Module] No data-module usage detected, fallback to full init mode")}"undefined"!=typeof window&&(window.moduleHealth=function(){const t={total:m.size,active:0,failed:0,modules:{},errorBoundary:e.getHealthStatus()};for(const[e,{mod:o,error:n}]of m.entries())n?(t.failed++,t.modules[e]={status:"failed",error:n.message}):o?(t.active++,t.modules[e]={status:"active"}):t.modules[e]={status:"unknown"};return t});const f=new class{constructor(){this.triggers=new Set,this.viewportHeight=window.innerHeight,this._loop=this._loop.bind(this),window.addEventListener("resize",()=>{this.viewportHeight=window.innerHeight}),requestAnimationFrame(this._loop)}register(e){this.triggers.add(e)}unregister(e){this.triggers.delete(e)}clear(){this.triggers.clear()}_loop(){this.triggers.forEach(e=>{e.update(this.viewportHeight)}),requestAnimationFrame(this._loop)}};class p{constructor(e){if(this.element=this.resolveElement(e.element),this.target=e.target?this.element.querySelector(e.target):this.element,e.target&&!this.target)throw new Error(`Target selector '${e.target}' not found inside element '${e.element}'.`);this.start=e.start||"top 80%",this.end=e.end||"bottom 20%",this.scrub=e.scrub||!1,this.onEnter=e.onEnter||null,this.onLeave=e.onLeave||null,this.onUpdate=e.onUpdate||null,this._wasVisible=!1,this._progress=0}resolveElement(e){if("string"==typeof e){const t=document.querySelectorAll(e);if(1===t.length)return t[0];throw new Error(`Selector '${e}' matched ${t.length} elements, expected exactly 1.`)}return e}getScrollProgress(e){const t=this.element.getBoundingClientRect(),o=this.parsePosition(this.start,e),n=this.parsePosition(this.end,e)-o,i=t.top-o;return 1-Math.min(Math.max(i/n,0),1)}parsePosition(e,t){const[o,n]=e.split(" ");return("top"===o?0:t)-t*(parseFloat(n)/100)}update(e){const t=this.element.getBoundingClientRect(),o=t.bottom>0&&t.top<e;if(o&&!this._wasVisible&&(this._wasVisible=!0,this.onEnter&&this.onEnter(this.target)),!o&&this._wasVisible&&(this._wasVisible=!1,this.onLeave&&this.onLeave(this.target)),this.scrub&&o){const t=this.getScrollProgress(e);this.onUpdate&&this.onUpdate(this.target,t)}}}const h=Object.freeze(Object.defineProperty({__proto__:null,createTrigger:function(e){const t="string"==typeof e.element?document.querySelectorAll(e.element):[e.element],o=[];return t.forEach(t=>{const n=new p({...e,element:t});f.register(n),o.push(n)}),1===o.length?o[0]:o},init:function(e={}){const{selector:t=".fade-in-on-scroll, .zoom-in, .fade-out, .fade",offset:o=.85,baseDelay:n=.05,once:i=!0}=e,s=Array.from(document.querySelectorAll(t)).map(e=>({el:e,triggered:!1}));requestAnimationFrame(function e(){const t=window.innerHeight*o;s.forEach((e,o)=>{if(e.triggered&&i)return;e.el.getBoundingClientRect().top<t?(e.el.style.transitionDelay=o*n+"s",e.el.classList.add("visible","entered"),e.el.classList.remove("fade-out"),e.triggered=!0):i||(e.el.classList.remove("visible","entered"),e.triggered=!1)}),requestAnimationFrame(e)})}},Symbol.toStringTag,{value:"Module"}));let y="example-module",_=null,b=null;const v=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){t.info("[example-module] destroy"),_&&(window.removeEventListener("resize",_),_=null),s(y),b&&"function"==typeof b.cleanup&&b.cleanup(),b=null},init:function(e={},o=null){t.info("[example-module] init"),b=o,b&&(b.register("windowSize",{width:window.innerWidth,height:window.innerHeight}),b.register("scrollPosition",{x:0,y:0}),b.register("isVisible",!0)),_=()=>{const e={width:window.innerWidth,height:window.innerHeight};t.info("Fenstergröße geändert:",e),b&&b.set("windowSize",e)},window.addEventListener("resize",_),i(y,()=>{const e=window.scrollY,t=window.scrollX;if(b){const o=b.get("scrollPosition");o.x===t&&o.y===e||b.set("scrollPosition",{x:t,y:e})}},{autoStart:!0})}},Symbol.toStringTag,{value:"Module"}));let w,S="inertia-scroll",E=0,P=window.scrollY,x=!1,L=.9,O=.2;function j(){x=!0,clearTimeout(w),w=setTimeout(()=>{x=!1},50)}const A=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){window.removeEventListener("scroll",j),s(S),E=0,P=window.scrollY,x=!1,clearTimeout(w);const e=document.documentElement;delete e.dataset.scrollState,delete e.dataset.scrollDirection,delete e.dataset.scrollSpeed},init:function(e={}){L="number"==typeof e.damping?e.damping:.9,O="number"==typeof e.minVelocity?contig.minVelocity:.1,window.addEventListener("scroll",j,{passive:!0}),i(S,()=>{const e=document.documentElement,t=window.scrollY,o=t-P,n=o>0?"down":o<0?"up":"none",i=Math.abs(o);!x&&Math.abs(E)>O?(window.scrollTo(0,t+E),E*=L,e.dataset.scrollState="inertia"):x?(E=o,P=t,e.dataset.scrollState="active"):delete e.dataset.scrollState,e.dataset.scrollDirection=n,e.dataset.scrollSpeed=i.toFixed(2)},{autoStart:!0})}},Symbol.toStringTag,{value:"Module"}));class T{constructor({content:e="",className:t="",onClose:o=null}={}){this.onClose=o,this.dialog=document.createElement("dialog"),this.dialog.className=t,this.dialog.innerHTML=`\n <form method="dialog" class="${t}-content">\n ${e}\n <button class="${t}-close" value="close">×</button>\n </form>\n `,l(this.dialog,"click",e=>{!e.target.closest(t+"-content")&&this.close()}),l(this.dialog,"cancel",e=>{e.preventDefault(),this.close()})}open(){var e,t;document.body.appendChild(this.dialog),(null==(t=(e=this.dialog).showModal)?void 0:t.call(e))||this.dialog.setAttribute("open",""),document.documentElement.dataset[`${this.dialog.className}Open`]="true"}close(){var e,t,o;(null==(t=(e=this.dialog).close)?void 0:t.call(e))||this.dialog.removeAttribute("open"),this.dialog.remove(),delete document.documentElement.dataset[`${this.dialog.className}Open`],null==(o=this.onClose)||o.call(this)}}const M={modal:class extends T{constructor(e){super({...e,className:"modal"})}}},k={open(e,o={}){const n=M[e];if(!n)return t.warn(`[UIManager] Unknown type: ${e}`),null;const i=new n(o);return i.open(),i},close(e){(null==e?void 0:e.close)&&e.close()}};function $(e){const t=e.target.closest("[data-lightbox]");t&&"IMG"===t.tagName&&(e.preventDefault(),k.open("lightbox",{content:`<img src="${t.src}" alt="${t.alt||""}" />`}))}const z=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){t.info("[lightbox-trigger] destroy")},init:function(){t.info("[lightbox-trigger] init"),l(document,"click",$)}},Symbol.toStringTag,{value:"Module"}));const D=Object.freeze(Object.defineProperty({__proto__:null,init:function(e={}){t.log("Noise Toggle Init",e);const{selector:o=".noise-overlay",toggleKey:n="g",className:i="grainy",enableTransition:s=!0}=e,l=document.body,r=document.querySelector(o);if(!r)return;function a(){s?r.classList.toggle("hidden",!l.classList.contains(i)):r.style.display=l.classList.contains(i)?"block":"none"}a(),document.addEventListener("keydown",e=>{var t;e.key.toLowerCase()!==n||e.ctrlKey||e.metaKey||e.altKey||(t=e.target,["input","textarea"].includes(t.tagName.toLowerCase()))||(l.classList.toggle(i),a())})}},Symbol.toStringTag,{value:"Module"}));const I=Object.freeze(Object.defineProperty({__proto__:null,init:function(e={}){t.info("Parallax init");const o={selector:"[data-parallax]",speedAttr:"data-parallax-speed",defaultSpeed:.5,...e},n=document.querySelectorAll(o.selector);i("parallax",function(){const e=window.scrollY;n.forEach(t=>{const n=parseFloat(t.getAttribute(o.speedAttr))||o.defaultSpeed,i=e*n;t.style.transform=`translateY(${i}px)`})},{autoStart:!0})}},Symbol.toStringTag,{value:"Module"})),V=r.createDefinition("scroll-dependent","1.0.0").depends("example-module","1.0.0").depends("scrollfx","1.0.0",!0).provides("scroll-coordination").priority(10);let q=null,R=null;const C=Object.freeze(Object.defineProperty({__proto__:null,definition:V,destroy:function(){t.info("[scroll-dependent] destroy"),q&&R&&(R.unsubscribe(q),q=null),R&&"function"==typeof R.cleanup&&R.cleanup(),R=null},init:function(e={},o=null){t.info("[scroll-dependent] init"),R=o,R&&(R.register("isScrolling",!1),R.register("scrollDirection","none"),q=R.subscribe("example-module.scrollPosition",(e,o)=>{if(o.y!==e.y){const n=e.y>o.y?"down":"up";R.set("scrollDirection",n),R.set("isScrolling",!0),setTimeout(()=>{R&&R.set("isScrolling",!1)},150),t.info(`[scroll-dependent] Scroll ${n}: ${e.y}`)}}))}},Symbol.toStringTag,{value:"Module"}));const N=Object.freeze(Object.defineProperty({__proto__:null,init:function(e={}){const t=document.querySelectorAll("[data-scroll-loop]");t.forEach(e=>{if("translate"===(e.dataset.scrollType||"translate")&&1===e.children.length){const t=e.firstElementChild.cloneNode(!0);t.setAttribute("aria-hidden","true"),e.appendChild(t)}}),i("scroll-loop",()=>{const o=window.scrollY,n=window.scrollX;t.forEach(t=>{const i=parseFloat(t.dataset.scrollSpeed||e.speed||.2),s=t.dataset.scrollAxis||"y",l=t.dataset.scrollType||"translate",r="true"===t.dataset.loopPause,a=parseFloat(t.dataset.loopOffset||0),c=parseFloat(t.dataset.loopLimit||0),d="x"===s?n:o;if(c&&d>c)return;if(r&&(t.matches(":hover")||t.matches(":active")))return;const u=(d+a)*i;switch(l){case"translate":{const e=-u%("x"===s?t.offsetWidth:t.offsetHeight),o="x"===s?`translateX(${e}px)`:`translateY(${e}px)`;t.style.transform=o;break}case"rotate":{const e=u%360;t.style.transform=`rotate(${e}deg)`;break}case"background":{const e=u%100;t.style.backgroundPosition="x"===s?`${e}% center`:`center ${e}%`;break}case"scale":{const e=1+.1*Math.sin(.01*u);t.style.transform=`scale(${e.toFixed(3)})`;break}}})},{autoStart:!0})}},Symbol.toStringTag,{value:"Module"})),F={onEnter(e,o){o.classList.add("active"),document.body.dataset.activeScrollStep=e,t.info(`[ScrollStep] Enter: ${e}`),1===e&&t.info("Intro sichtbar"),2===e&&t.info("Chart aktiviert"),3===e&&t.info("Zitat eingeblendet")},onLeave(e,o){o.classList.remove("active"),o.style.transitionDelay="",t.info(`[ScrollStep] Leave: ${e}`),document.body.dataset.activeScrollStep===String(e)&&delete document.body.dataset.activeScrollStep,1===e&&t.info("Intro ausgeblendet"),2===e&&t.info("Chart deaktiviert"),3===e&&t.info("Zitat ausgeblendet")}};const H=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){s("scroll-timeline")},init:function(e={}){t.info("ScrollTimeline init");const o={attribute:"data-scroll-step",triggerPoint:.4,once:!0,...e},n=Array.from(document.querySelectorAll(`[${o.attribute}]`)).map(e=>({el:e,index:parseInt(e.getAttribute(o.attribute),10),active:!1}));i("scroll-timeline",function(){const e=window.innerHeight*o.triggerPoint;n.forEach(n=>{var i,s;const l=n.el.getBoundingClientRect(),r=l.top<e&&l.bottom>0;r&&!n.active&&(n.active=!0,n.el.classList.add("active"),t.log(`➡️ ENTER step ${n.index}`),null==(i=F.onEnter)||i.call(F,n.index,n.el)),!r&&n.active&&(n.active=!1,n.el.classList.remove("active"),t.log(`⬅️ LEAVE step ${n.index}`),o.once||null==(s=F.onLeave)||s.call(F,n.index,n.el))})},{autoStart:!0})}},Symbol.toStringTag,{value:"Module"}));let Y=null,B=null;const K=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){a("sidebar")},init:function(){document.getElementById("sidebar-menu");const e=document.getElementById("menu-toggle"),t=document.getElementById("sidebar"),o=document.querySelector(".backdrop"),n=document.querySelector("footer"),i=document.querySelector("header a");l(e,"click",e=>{t.classList.toggle("show"),t.classList.contains("show")?(o.classList.add("visible"),n.setAttribute("inert","true"),i.setAttribute("inert","true")):(o.classList.remove("visible"),n.removeAttribute("inert"),i.removeAttribute("inert"))}),Y=e=>{"Escape"===e.key&&t.classList.contains("show")&&(t.classList.remove("show"),o.classList.remove("visible"))},l(document,"keydown",Y),B=e=>{t.classList.remove("show"),o.classList.remove("visible"),n.removeAttribute("inert"),i.removeAttribute("inert")},l(o,"click",B)}},Symbol.toStringTag,{value:"Module"})),U=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let W="sticky-fade",X=[],Z=window.scrollY,G=new WeakMap,J={direction:!1,reset:!1};const Q=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){s(W),X.forEach(e=>{e.style.opacity="",e.style.transform="",e.classList.remove("visible"),delete e.dataset.scrollDir}),X=[],G=new WeakMap},init:function(e={}){X=Array.from(document.querySelectorAll("[data-sticky-fade]")),0!==X.length&&(J.direction=e.direction??!1,J.reset=e.reset??!1,i(W,()=>{const e=window.scrollY,t=e>Z?"down":e<Z?"up":"none";Z=e;const o=window.innerHeight;X.forEach(e=>{const n=e.getBoundingClientRect(),i=1-Math.min(Math.max(n.top/o,0),1);if(e.style.opacity=i.toFixed(3),e.style.transform=`translateY(${20*(1-i)}px)`,J.direction&&(e.dataset.scrollDir=t),J.reset){const t=i>=1,o=G.get(e)||!1;t&&!o?(e.classList.add("visible"),G.set(e,!0)):!t&&o&&(e.classList.remove("visible"),G.set(e,!1))}})},{autoStart:!0}))}},Symbol.toStringTag,{value:"Module"}));const ee=Object.freeze(Object.defineProperty({__proto__:null,destroy:function(){s("sticky-steps")},init:function(e={}){t.info("StickySteps init");const o={containerSelector:"[data-sticky-container]",stepSelector:"[data-sticky-step]",activeClass:"is-sticky-active",datasetKey:"activeStickyStep",...e};document.querySelectorAll(o.containerSelector).forEach(e=>{const t=e.querySelectorAll(o.stepSelector),n=e.offsetTop;i(`sticky-steps-${e.dataset.moduleId||Math.random()}`,function(){const i=window.scrollY,s=e.offsetHeight;t.forEach((l,r)=>{const a=n+r*(s/t.length),c=n+(r+1)*(s/t.length),d=i>=a&&i<c;l.classList.toggle(o.activeClass,d),d&&(e.dataset[o.datasetKey]=r)})},{autoStart:!0})})}},Symbol.toStringTag,{value:"Module"}));const te=Object.freeze(Object.defineProperty({__proto__:null,init:function(){}},Symbol.toStringTag,{value:"Module"})),oe=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{d as _,g as r};
|