@stacksjs/stx 0.2.172 → 0.2.173
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/cli.js +294 -294
- package/dist/craft.js +122 -122
- package/dist/pwa.js +70 -70
- package/dist/server-bindings.js +45 -1
- package/dist/ssg.js +81 -81
- package/package.json +5 -5
package/dist/craft.js
CHANGED
|
@@ -2539,7 +2539,7 @@ catch (e) {
|
|
|
2539
2539
|
}
|
|
2540
2540
|
throw e;
|
|
2541
2541
|
}
|
|
2542
|
-
`),J.set(W,U)}return U(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class wZ{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime(X,$){let Z=this.metrics.get(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function EK(){if(!t$)t$=new wZ;return t$}var S5,IK=500,rA,t$=null,qZ;var P5=D(()=>{S5=new Map;rA=new QZ;qZ=new Proxy({},{get(X,$){return EK()[$]}})});function WZ(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function e$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=WZ(J)&&WZ(Z[Y])?e$(Z[Y],J):J;return Z}function UZ(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...w}=Z,q=e$(w,G),W=e$(Q||{},J||{});if(Object.keys(W).length>0)q.extend=W;let U=[...X.safelist||[],...$.safelist||[]],K={...X.shortcuts||{},...$.shortcuts||{}},z=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:q,safelist:U,shortcuts:K,...z.length>0?{preflights:z}:{},content:[],output:""},safelist:U,shortcuts:K,includePreflight:$.preflight!==!1,minify:$.minify===!0}}var B0;var KZ=D(()=>{B0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var LZ={};t(LZ,{resetCssCache:()=>xK,resetCrosswindCache:()=>fK,rebuildCrosswindCSS:()=>gK,loadCrosswindConfig:()=>Y9,loadCrosswind:()=>Z9,injectCrosswindCSS:()=>J9,getCrosswindServeAsset:()=>bK,getCachedCSS:()=>hK,generateCrosswindCSS:()=>HZ,extractClassNames:()=>jZ,buildCrosswindCSS:()=>BZ});import J0 from"path";import{hasLocalConfig as DK}from"bunfig";function yX(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function X9(X,$){if(O1.has(X))O1.delete(X);else if(O1.size>=_Z)O1.delete(O1.keys().next().value);O1.set(X,$)}function yK(X){let $=yX(X);if(t0.has($))t0.delete($);else if(t0.size>=_Z)t0.delete(t0.keys().next().value);return t0.set($,X),$}function bK(X){let $=t0.get(X);if($===void 0)return;return t0.delete(X),t0.set(X,$),$}async function SK(X){if(!S1)return null;try{let $=Bun.file(J0.join(S1,`cw-${yX(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function CK(X,$){if(!S1)return;try{if(!fs.existsSync(S1))fs.mkdirSync(S1,{recursive:!0});await Bun.write(J0.join(S1,`cw-${yX(X)}.css`),$)}catch{}}async function zZ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function PK(){let X=[],$=process.cwd();while($!==J0.dirname($))X.push(J0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=J0.dirname($);return X}function vK(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[J0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function Z9(){if($9)return q1;$9=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await zZ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=J0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return q1=G,q1}let $=await X(PK());if($)return q1=$,q1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await zZ(J);if(G){if(q1=G,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return q1}}let Y=await X(vK());if(Y)return q1=Y,q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function xK(){O1.clear(),t0.clear()}function fK(){q1=null,$9=!1,e0=null,C7="",O1.clear(),t0.clear(),DX=null}async function Y9(X){try{if(!DK({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=J0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}async function BZ(X){if(v5)return C7;v5=!0;try{let $=await Z9();if(!$||!$.build)return v5=!1,"";if(!e0)e0=await Y9(X);if(!e0)return v5=!1,"";let Z=$.defaultConfig?.theme||{},Y=e0.theme||{},J={...$.defaultConfig,...e0,theme:{...Z,...Y,extend:{...Z.extend||{},...Y.extend||{}}}},G=performance.now(),Q=await $.build(J),w=performance.now()-G;if(C7=Q.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),J.output){let q=J0.isAbsolute(J.output)?J.output:J0.join(X,J.output),W=J0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return v5=!1,Q.css}catch($){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,$),v5=!1,C7}}async function gK(X){e0=null,await BZ(X)}function hK(){return C7}function jZ(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())$.add(q.trim())}G=J.exec(X)}return $}async function HZ(X,$){try{let Z=await Z9();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):jZ(X);if(Y.size===0)return"";let J=$?J0.resolve($):process.cwd();if(!S1)S1=T7(J,"cache");let G=[...Y].sort().join(" "),Q=`${DX||"default"}::${G}`,w=O1.get(Q);if(w!==void 0)return X9(Q,w),w;let q=await SK(Q);if(q!==null)return X9(Q,q),q;if(!e0){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (H1(),OZ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=J0.isAbsolute(R.css)?R.css:J0.resolve(J,R.css);if(await Bun.file(T).exists()){let M=await import(T);V=M.default||M,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=J0.isAbsolute(R.css.config)?R.css.config:J0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let M=await import(T);V={...M.default||M,...V}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}e0=V||await Y9(J);try{DX=yX(JSON.stringify(e0??{}))}catch{DX="unhashable"}}let W=Z.defaultConfig||Z.config,U=e0||{},K=UZ(W,U),{safelist:z,includePreflight:B,minify:_}=K,j=K.config,H=new Z.CSSGenerator(j);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let O=H.toCSS(B,_),L=j.shortcuts||U.shortcuts||{};for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}O=H.toCSS(B,_);let F=O.split(`
|
|
2542
|
+
`),J.set(W,U)}return U(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class wZ{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime(X,$){let Z=this.metrics.get(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function EK(){if(!t$)t$=new wZ;return t$}var S5,IK=500,oA,t$=null,qZ;var P5=D(()=>{S5=new Map;oA=new QZ;qZ=new Proxy({},{get(X,$){return EK()[$]}})});function WZ(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function e$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=WZ(J)&&WZ(Z[Y])?e$(Z[Y],J):J;return Z}function UZ(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...w}=Z,q=e$(w,G),W=e$(Q||{},J||{});if(Object.keys(W).length>0)q.extend=W;let U=[...X.safelist||[],...$.safelist||[]],K={...X.shortcuts||{},...$.shortcuts||{}},z=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:q,safelist:U,shortcuts:K,...z.length>0?{preflights:z}:{},content:[],output:""},safelist:U,shortcuts:K,includePreflight:$.preflight!==!1,minify:$.minify===!0}}var B0;var KZ=D(()=>{B0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var LZ={};t(LZ,{resetCssCache:()=>xK,resetCrosswindCache:()=>fK,rebuildCrosswindCSS:()=>gK,loadCrosswindConfig:()=>Y9,loadCrosswind:()=>Z9,injectCrosswindCSS:()=>J9,getCrosswindServeAsset:()=>bK,getCachedCSS:()=>hK,generateCrosswindCSS:()=>HZ,extractClassNames:()=>jZ,buildCrosswindCSS:()=>BZ});import J0 from"path";import{hasLocalConfig as DK}from"bunfig";function yX(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function X9(X,$){if(O1.has(X))O1.delete(X);else if(O1.size>=_Z)O1.delete(O1.keys().next().value);O1.set(X,$)}function yK(X){let $=yX(X);if(t0.has($))t0.delete($);else if(t0.size>=_Z)t0.delete(t0.keys().next().value);return t0.set($,X),$}function bK(X){let $=t0.get(X);if($===void 0)return;return t0.delete(X),t0.set(X,$),$}async function SK(X){if(!S1)return null;try{let $=Bun.file(J0.join(S1,`cw-${yX(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function CK(X,$){if(!S1)return;try{if(!fs.existsSync(S1))fs.mkdirSync(S1,{recursive:!0});await Bun.write(J0.join(S1,`cw-${yX(X)}.css`),$)}catch{}}async function zZ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function PK(){let X=[],$=process.cwd();while($!==J0.dirname($))X.push(J0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=J0.dirname($);return X}function vK(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[J0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function Z9(){if($9)return q1;$9=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await zZ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=J0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return q1=G,q1}let $=await X(PK());if($)return q1=$,q1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await zZ(J);if(G){if(q1=G,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return q1}}let Y=await X(vK());if(Y)return q1=Y,q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function xK(){O1.clear(),t0.clear()}function fK(){q1=null,$9=!1,e0=null,C7="",O1.clear(),t0.clear(),DX=null}async function Y9(X){try{if(!DK({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=J0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}async function BZ(X){if(v5)return C7;v5=!0;try{let $=await Z9();if(!$||!$.build)return v5=!1,"";if(!e0)e0=await Y9(X);if(!e0)return v5=!1,"";let Z=$.defaultConfig?.theme||{},Y=e0.theme||{},J={...$.defaultConfig,...e0,theme:{...Z,...Y,extend:{...Z.extend||{},...Y.extend||{}}}},G=performance.now(),Q=await $.build(J),w=performance.now()-G;if(C7=Q.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),J.output){let q=J0.isAbsolute(J.output)?J.output:J0.join(X,J.output),W=J0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return v5=!1,Q.css}catch($){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,$),v5=!1,C7}}async function gK(X){e0=null,await BZ(X)}function hK(){return C7}function jZ(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())$.add(q.trim())}G=J.exec(X)}return $}async function HZ(X,$){try{let Z=await Z9();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):jZ(X);if(Y.size===0)return"";let J=$?J0.resolve($):process.cwd();if(!S1)S1=T7(J,"cache");let G=[...Y].sort().join(" "),Q=`${DX||"default"}::${G}`,w=O1.get(Q);if(w!==void 0)return X9(Q,w),w;let q=await SK(Q);if(q!==null)return X9(Q,q),q;if(!e0){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (H1(),OZ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=J0.isAbsolute(R.css)?R.css:J0.resolve(J,R.css);if(await Bun.file(T).exists()){let M=await import(T);V=M.default||M,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=J0.isAbsolute(R.css.config)?R.css.config:J0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let M=await import(T);V={...M.default||M,...V}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}e0=V||await Y9(J);try{DX=yX(JSON.stringify(e0??{}))}catch{DX="unhashable"}}let W=Z.defaultConfig||Z.config,U=e0||{},K=UZ(W,U),{safelist:z,includePreflight:B,minify:_}=K,j=K.config,H=new Z.CSSGenerator(j);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let O=H.toCSS(B,_),L=j.shortcuts||U.shortcuts||{};for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}O=H.toCSS(B,_);let F=O.split(`
|
|
2543
2543
|
`);for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean),T=[],M=[];for(let k of R){let N=k.startsWith("dark:"),C=`.${(N?k.slice(5):k).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let S=0;S<F.length;S++){let b=F[S].trim();if(b===`${C} {`||b.startsWith(`${C} {`)){let P=S,x="";while(P<F.length){if(x+=F[P],F[P].includes("}"))break;P++}let m=x.match(/\{([^}]+)\}/);if(m)if(N)M.push(m[1].trim());else T.push(m[1].trim());break}}}if(T.length)O+=`
|
|
2544
2544
|
.${V} { ${T.join(" ")} }`;if(M.length)O+=`
|
|
2545
2545
|
@media (prefers-color-scheme: dark) { .dark .${V} { ${M.join(" ")} } }`}return X9(Q,O),CK(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function J9(X,$,Z=!1){let Y=await HZ(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${yK(Y)}.css">`:`<style data-crosswind="generated">
|
|
@@ -2891,7 +2891,7 @@ else {
|
|
|
2891
2891
|
|
|
2892
2892
|
console.log('[stx] Lifecycle runtime initialized');
|
|
2893
2893
|
})();
|
|
2894
|
-
`}function q9(X){return Symbol(X)}var
|
|
2894
|
+
`}function q9(X){return Symbol(X)}var QR,wR,qR;var AZ=D(()=>{QR=q9("theme"),wR=q9("router"),qR=q9("i18n")});import*as TZ from"crypto";function RZ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function uK(){return`stx-${TZ.randomBytes(4).toString("hex")}`}function dK(X){return/\$\w+\./.test(X)}function mK(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],U=!1,K=w,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(z)];for(let H of B){let O=H[0],L=H[1],F=H[2];if(dK(F)){U=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(W.push({attr:L,expr:A,fullMatch:O,originalAttr:L}),RZ(A).forEach((T)=>Z.add(T)),L==="text")K=K.replace(O,"");else if(L==="class")K=K.replace(O,'class=""');else if(L==="disabled"||L==="hidden")K=K.replace(O,"");else K=K.replace(O,`${L}=""`)}}}if(!U)return G;let _=K.match(/\bid\s*=\s*"([^"]+)"/),j;if(_)j=_[1];else j=uK(),K=` id="${j}"${K}`;for(let H of W)$.push({elementId:j,attribute:H.attr,expression:H.expr,stores:RZ(H.expr)});return`<${Q}${K}${q}`}),{html:J,bindings:$,stores:Z}}function lK(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
|
|
2895
2895
|
<script>
|
|
2896
2896
|
(function() {
|
|
2897
2897
|
'use strict';
|
|
@@ -3669,7 +3669,7 @@ ${kJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
3669
3669
|
`}}if(S){let x=DB(A,S);if(A=x.html,x.mergedIntoExisting)C=C.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await O3(A,N,L,Y,J,G);let{processLoops:b}=await Promise.resolve().then(() => (H3(),MJ)),P=b(A,N,L);if(P=G5(P,N,L),P=b1(P,N,L),k)P+=`
|
|
3670
3670
|
`+k;if(C)P+=`
|
|
3671
3671
|
`+C;return P}catch(V){let A=V instanceof Error?V.message:String(V);return K0("Include",`Error processing include ${_}: ${A}`,Z,H,O)}}let z=/@include\s*\(/g,B;while((B=z.exec(w))!==null){let _=B.index,j=_+B[0].length-1,H=1,O=j+1;while(O<w.length&&H>0){if(w[O]==="(")H++;else if(w[O]===")")H--;O++}if(H!==0)break;let L=w.substring(_,O),F=w.substring(j+1,O-1),V=F.match(/^\s*['"]([^'"]+)['"]/);if(!V){z.lastIndex=O;continue}let A=V[1],R,T=F.substring(V[0].length),M=L3(T,0);if(M!==-1)R=T.substring(M+1).trim();let k={};if(R)try{k=O0(R,$)}catch(y){let I=y instanceof Error?y.message:String(y);w=w.replace(L,K0("Include",`Error parsing include variables for ${A}: ${I}`,Z,X,_)),z.lastIndex=0;continue}let N=await K(A,k,X,_);w=w.substring(0,_)+N+w.substring(O),z.lastIndex=0}return w}function F3(X,$){let Z=X;function Y(J,G,Q,w){let q=J,W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),K=q.match(U);if(!K||K.index===void 0)break;let z=K.index,B=K[1],_=z+K[0].length,j=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),O=1,L=_,F=-1;while(O>0&&L<q.length){let A=q.slice(L),R=A.match(j),T=A.match(H),M=R?L+R.index:1/0,k=T?L+T.index:1/0;if(M<k)O++,L=M+(R[0].length||1);else if(k<1/0){if(O--,O===0){F=k;break}L=k+Q.length+1}else break}if(F===-1)break;let V=q.slice(_,F);if(!$[B])$[B]=[];if(w)$[B].unshift(V);else $[B].push(V);q=q.substring(0,z)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function V3(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
|
|
3672
|
-
`)})}var NJ=0,
|
|
3672
|
+
`)})}var NJ=0,vN,yB;var DJ=D(()=>{rX();mX();w1();J1();P5();F0();T0();vN=new Z5(500),yB=new Set});import*as A3 from"path";async function yJ(X,$,Z=""){if(A3.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return SJ(X,$,Z,"@js","@endjs")}async function bJ(X,$,Z=""){if(A3.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return SJ(X,$,Z,"@ts","@endts")}async function SJ(X,$,Z,Y,J){let G=X,Q=C5(`${Y}([\\s\\S]*?)${J}`,"g"),w=[],q;while((q=Q.exec(X))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:U,index:K}of w)try{let z={...$,global:$},B=Object.keys(z),_=Object.values(z),j=U.trim();if(Y==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let O=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=O.length>0?`return { ${O.join(", ")} };`:"return {};",F=`
|
|
3673
3673
|
${j}
|
|
3674
3674
|
${L}
|
|
3675
3675
|
`,A=Function(...B,F)(..._);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(W,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),_=K0(`${Y} Directive`,`Error executing code: ${B}`,Z,X,K,W);console.error(_),G=G.replace(W,"")}return G}var CJ=D(()=>{P5();T0()});function SB(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function PJ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return SB(Y,G||"_method")})}async function vJ(X,$,Z,Y,J){if(!Y.middleware||Y.middleware.length===0)return X;let G=X,Q=Y.middleware.filter((w)=>w.timing===J);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,$,Z,Y);if(typeof q==="string")G=q;else if(Y.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(Y.debug)console.error(`Error in middleware ${w.name}:`,q);if(Y.debug){let W=K0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,X);G=G.replace(/<body[^>]*>/,`$&
|
|
@@ -3712,29 +3712,29 @@ ${kJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
3712
3712
|
`;let U=X;if(!G)U=U.replace(/<head[^>]*>/,`$&
|
|
3713
3713
|
<title>${p(Q)}</title>`);return U.replace(/<head[^>]*>/,`$&
|
|
3714
3714
|
${W}
|
|
3715
|
-
`)}function p(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var pJ,iJ;var R3=D(()=>{F1();F0();pJ={name:"meta",handler:(X,$,Z,Y)=>{if($.length<1)return $0("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"";return`<meta name="${p(J)}" content="${p(G)}">`},hasEndTag:!1},iJ={name:"structuredData",handler:(X,$,Z,Y)=>{if(X.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse(X);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return $0("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let G=J instanceof Error?J.message:String(J);return $0("StructuredData",G,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function nJ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(r7.exact[X])for(let Y of r7.exact[X])await Promise.resolve(Y($,X));if(r7.exact[Z])for(let Y of r7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of r7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var r7;var rJ=D(()=>{r7={patterns:[],exact:{}}});function sJ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>sJ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function oJ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);function Q(W){return J.some(([U,K])=>W>=U&&W<K)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)((
|
|
3715
|
+
`)}function p(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var pJ,iJ;var R3=D(()=>{F1();F0();pJ={name:"meta",handler:(X,$,Z,Y)=>{if($.length<1)return $0("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"";return`<meta name="${p(J)}" content="${p(G)}">`},hasEndTag:!1},iJ={name:"structuredData",handler:(X,$,Z,Y)=>{if(X.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse(X);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return $0("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let G=J instanceof Error?J.message:String(J);return $0("StructuredData",G,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function nJ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(r7.exact[X])for(let Y of r7.exact[X])await Promise.resolve(Y($,X));if(r7.exact[Z])for(let Y of r7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of r7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var r7;var rJ=D(()=>{r7={patterns:[],exact:{}}});function vB(X){let $=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(J))continue;let G=Y.index,Q=G+Y[0].length,w=Y[1].toLowerCase();if(Y[0].endsWith("/>")||PB.has(w)){$.push([G,Q]);continue}let q=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");W.lastIndex=Q;let U=1,K=Q,z;while((z=W.exec(X))!==null)if(z[0].startsWith("</")){if(U--,U===0){K=z.index+z[0].length;break}}else if(!z[0].endsWith("/>"))U++;$.push([G,K])}return $}function sJ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>sJ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function oJ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);J.push(...vB(X));function Q(W){return J.some(([U,K])=>W>=U&&W<K)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],U=G[2];if(!U||!U.includes(":"))continue;let K=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=U,_=!1;while((z=K.exec(U))!==null){let j=z[1],H=z[2];if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let O=Object.keys($),L=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!O.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...O,`return (${H})`)(...L);if(j==="class"){let R=sJ(A);if(R){let T=B.match(/\sclass="([^"]*)"/);if(T)B=B.replace(T[0],` class="${T[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");_=!0;continue}if(CB.has(j)){if(A)B=B.replace(z[0],` ${j}`);else B=B.replace(z[0],"");_=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(z[0],` ${j}="${R}"`)}_=!0}catch{continue}}if(_){let j=W.endsWith("/>")?" /":"",O=`<${G[1]}${B}${j}>`;q.push({start:G.index,end:G.index+W.length,replacement:O})}}for(let W=q.length-1;W>=0;W--){let{start:U,end:K,replacement:z}=q[W];Z=Z.slice(0,U)+z+Z.slice(K)}return Z}var CB,PB;var aJ=D(()=>{CB=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),PB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function K5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&xB.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function gB(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let w=G.exec(X),q=Q.exec(X);if(!q)return-1;if(w&&w.index<q.index)Y++,J=w.index+w[0].length;else{if(Y--,Y===0)return q.index+q[0].length;J=q.index+q[0].length}}return-1}function W1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=gB(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function tJ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function n5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function g1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function h1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function hB(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function uB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=n5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),w=G[2].trim(),q;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),O=H[0],L=H[1];q=`${w} as ${L} => ${O}`}else q=`${w} as ${Q}`;let W=g1(Y.attrs,"v-for"),U=g1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U),_=`@foreach(${q})
|
|
3716
3716
|
`,j=`${_}${B}
|
|
3717
|
-
@endforeach`;$=$.slice(0,K.outerStart)+j+$.slice(K.outerEnd),Z=K.outerStart+_.length}return $}function
|
|
3717
|
+
@endforeach`;$=$.slice(0,K.outerStart)+j+$.slice(K.outerEnd),Z=K.outerStart+_.length}return $}function dB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=n5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=W1($,Y),w=g1(Y.attrs,"v-if"),q=h1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},w);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:Y});let W=Q.outerEnd,U=!0;while(U){let j=$.slice(W).match(/^\s*/),H=j?j[0].length:0,O=K5($,W+H);if(!O){U=!1;break}let L=n5(O.attrs,"v-else-if"),F=tJ(O.attrs,"v-else");if(L!==null){let V=W1($,O),A=g1(O.attrs,"v-else-if"),R=h1($.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},A);G.push({type:"else-if",expr:L,outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:O}),W=V.outerEnd}else if(F){let V=W1($,O),A=g1(O.attrs,"v-else"),R=h1($.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},A);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:O}),U=!1}else U=!1}let K=[];for(let j of G)if(j.type==="if")K.push(`@if(${j.expr})
|
|
3718
3718
|
${j.element}`);else if(j.type==="else-if")K.push(`@elseif(${j.expr})
|
|
3719
3719
|
${j.element}`);else K.push(`@else
|
|
3720
3720
|
${j.element}`);K.push("@endif");let z=K.join(`
|
|
3721
|
-
`),B=G[0].outerStart,_=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(_),Z=B+z.length}return $}function
|
|
3721
|
+
`),B=G[0].outerStart,_=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(_),Z=B+z.length}return $}function mB(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function lB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=J.match(Q);while(w){G=!0;let U=w[1],K=w[2],z=w[3];J=J.replace(w[0],""),J+=` :${U}="${z}" @update:${U}="${z} = $event"`,w=J.match(Q)}if(G){let U=W1($,Y),K=$.slice(U.outerStart,U.outerEnd),z=h1(K,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,U.outerStart)+z+$.slice(U.outerEnd),Z=U.outerStart+z.length;continue}let q=n5(Y.attrs,"v-model");if(q===null){Z=Y.end;continue}if(fB.has(Y.tag)){let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}else{let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}}return $}function cB(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function pB(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function iB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=n5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-html"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function nB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=n5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-text"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function rB(X){return X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function sB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;if(!tJ(Y.attrs,"v-once")){Z=Y.end;continue}let J=g1(Y.attrs,"v-once"),G=W1($,Y),Q=$.slice(G.outerStart,G.outerEnd),q=`@once
|
|
3722
3722
|
${h1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
|
|
3723
|
-
@endonce`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function
|
|
3723
|
+
@endonce`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function oB(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function aB(X){return X.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function eJ(X){if(!hB(X))return X;let $=X;return $=uB($),$=dB($),$=sB($),$=cB($),$=pB($),$=lB($),$=mB($),$=aB($),$=iB($),$=nB($),$=rB($),$=oB($),$}var xB,fB;var XG=D(()=>{xB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),fB=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"])});function U8(X){return X.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function $G(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=Y0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return T3.has(G)?G:null}function ZG(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function YG(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(tB.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function JG(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=w.length-1;W>=0;W--){let U=w[W];try{let K=$G(U.expr,$);if(!K||typeof K!=="string"){let L=`<!-- dynamic component: could not resolve "${U8(ZG(U.expr))}" -->`;G=G.slice(0,U.index)+L+G.slice(U.index+U.full.length);continue}if(T3.has(K)){let L=YG(K,U.attrs,U.slotContent);G=G.slice(0,U.index)+L+G.slice(U.index+U.full.length);continue}let z=U.attrs.trim(),B={},_=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,j;while((j=_.exec(z))!==null){let L=j[1]||j[2],F=j[3];if(j[1])try{B[L]=Y0(F,$)}catch{B[L]=F}else B[L]=F}let H=Y.componentsDir||"components",O=await U5(K,B,U.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+O+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${U8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G=await eB(G,$,Z,Y,J),G}async function eB(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=w.length-1;W>=0;W--){let U=w[W];try{let K=$G(U.expr,$);if(!K||typeof K!=="string"){let _=`<!-- dynamic component: could not resolve "${U8(ZG(U.expr))}" -->`;G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}if(T3.has(K)){let _=YG(K,U.attrs,"");G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}let z=Y.componentsDir||"components",B=await U5(K,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${U8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G}var T3,tB;var GG=D(()=>{T0();F0();T3=new Set(["a","abbr","address","article","aside","audio","b","bdi","bdo","blockquote","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","meter","nav","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","u","ul","video"]),tB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function QG(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function wG(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let w=M3(X),q=[],W=new Map;if(G)for(let U of w){let K=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(K){let z=K[1],B=`${$}_${z}`;W.set(z,B)}}for(let U of w){let K=qG(U,$,Y,J,W,Q);q.push(K)}return q.join(`
|
|
3724
3724
|
|
|
3725
3725
|
`)}function M3(X){let $=[],Z=X.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,J="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&Y===0)G=!0;if(q==="{")Y++;else if(q==="}"){if(Y--,Y===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,U,K,z]=W;if(U==="keyframes")$.push({selector:`@keyframes ${K.trim()}`,declarations:z.trim()});else if(U==="media"||U==="supports"||U==="container"){let B=M3(z);$.push({selector:`@${U} ${K.trim()}`,declarations:B.map((_)=>`${_.selector} { ${_.declarations} }`).join(`
|
|
3726
3726
|
`)})}else $.push({selector:`@${U} ${K.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=q;let W=J.match(/([^{]+)\{([^}]*)\}/);if(W)$.push({selector:W[1].trim(),declarations:W[2].trim()});J=""}continue}}if(G)Q+=q;else J+=q}return $}function qG(X,$,Z,Y,J,G){let{selector:Q,declarations:w}=X;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let U=Q.replace("@keyframes ","").trim();return`@keyframes ${J.get(U)||U} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let K=M3(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>qG(z,$,Z,Y,J,G)).join(`
|
|
3727
3727
|
`);return`${Q} {
|
|
3728
3728
|
${K}
|
|
3729
|
-
}`}return`${Q} { ${w} }`}let q=
|
|
3730
|
-
${Y}${X.slice(Z)}`}function I3(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function
|
|
3731
|
-
${G[0]}`+Q+X.slice(Z+J.length)}function zG(X){return
|
|
3732
|
-
${$[0]}${Y.slice(J)}`}var
|
|
3733
|
-
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var y3=null;function R1(X){return String(X).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function
|
|
3734
|
-
${X.slice($)}`}function
|
|
3729
|
+
}`}return`${Q} { ${w} }`}let q=Xj(Q,$,Z,Y),W=w;for(let[U,K]of J)W=W.replace(new RegExp(`\\b${U}\\b`,"g"),K);if(G)W=W.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${q} { ${W} }`}function Xj(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let w=Z?`${Z} .${$}`:`.${$}`;G.push(`${w} ${Q}`);let q=$j(Q,$);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function $j(X,$){let Z=0,Y=X.length;for(let q=0;q<X.length;q++){let W=X[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){Y=q;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,w=0;for(let q=0;q<J.length;q++){let W=J[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function UG(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function K8(X,$){if(!Zj.test(X))return{html:X,hasScoped:!1};let Z=QG($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${N3}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(w,q,W)=>{Q=!0;let U=Yj(W,Y),K=q.replace(new RegExp(N3,"gi"),"").trim(),z=K?` ${K}`:"";return`<style data-stx-scoped="${Z}"${z}>${U}</style>`}),!Q)return{html:X,hasScoped:!1};return J=Gj(J,Y),{html:J,hasScoped:!0}}function Yj(X,$){return wG(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function Gj(X,$){let Z=Q1(X,(J,G)=>{let Q=D1(J,G);return Q>G?Q:b5(J,G)},(J,G)=>Jj(G)),Y=Qj(Z.output,$);return WG.lastIndex=0,Y.replace(WG,(J,G)=>Z.tokens[Number(G)])}function Qj(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var N3,Zj,Jj=(X)=>`\x00stx-scope-mask-${X}\x00`,WG;var k3=D(()=>{$5();N3=String.raw`(?<![\w-])scoped(?![\w-])`,Zj=new RegExp(`<style\\s+[^>]*${N3}`,"i");WG=/\u0000stx-scope-mask-(\d+)\u0000/g});function Kj(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!wj.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!Uj.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!Wj.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!qj.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function zj(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function E3(X={}){let $=Kj(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${zj($)};var p=c.initialMode;var a=c.autoValue;try{var v=localStorage.getItem(c.storageKey);if(v==="light"||v==="dark"){p=v}else if(v==="auto"||v==="system"){p="auto";if(!a)a=v}}catch(e){}var m=p;if(p==="auto"){try{m=matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){m="light"}}var r=document.documentElement;if(c.attribute)r.setAttribute(c.attribute,m);if(c.darkClass){if(m==="dark")r.classList.add(c.darkClass);else r.classList.remove(c.darkClass)}try{window.__STX_COLOR_MODE__={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`}</script>`}function KG(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=I3(X);if(Z===null)return X;let Y=E3($);return`${X.slice(0,Z)}
|
|
3730
|
+
${Y}${X.slice(Z)}`}function I3(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function jj(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return X;let Z=$.index+$[0].length,Y=X.toLowerCase().indexOf("</head>",Z),J=X.slice(Z,Y===-1?X.length:Y),G=Bj.exec(J);if(!G||J.slice(0,G.index).trim()==="")return X;let Q=J.slice(0,G.index)+J.slice(G.index+G[0].length);return X.slice(0,Z)+`
|
|
3731
|
+
${G[0]}`+Q+X.slice(Z+J.length)}function zG(X){return Hj(jj(X))}function Hj(X){let $=_j.exec(X);if(!$)return X;let Z=I3(X);if(Z===null)return X;if($.index<=Z||X.slice(Z,$.index).trim()==="")return X;let Y=X.slice(0,$.index)+X.slice($.index+$[0].length),J=I3(Y);if(J===null)return X;return`${Y.slice(0,J)}
|
|
3732
|
+
${$[0]}${Y.slice(J)}`}var wj,qj,Wj,Uj,_j,Bj;var D3=D(()=>{wj=new Set(["light","dark","auto","system"]),qj=new Set(["auto","system"]),Wj=/^[a-z][\w:-]*$/i,Uj=/^[\w-]+$/;_j=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),Bj=/<meta\b[^>]*\bcharset\b[^>]*>/i});function Lj(){if(y3===null)y3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return y3}function _G(X,$=Lj()){if(X.includes('name="stx-build"'))return X;let Z=/<head\b[^>]*>/i.exec(X);if(!Z)return X;let Y=Z.index+Z[0].length;return`${X.slice(0,Y)}
|
|
3733
|
+
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var y3=null;function R1(X){return String(X).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Oj(X){return String(X).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function b3(X){if(X.name)return`name="${X.name}"`;if(X.property)return`property="${X.property}"`;if(X.charset!=null)return"charset=";if(X["http-equiv"])return`http-equiv="${X["http-equiv"]}"`;return""}function r5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${R1(String(Y))}"`).join(" ")}function Fj(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[w,q]of Object.entries(X||{})){if(q==null)continue;let W=w.trim();if(!jG.test(W))continue;let U=W.toLowerCase();if(U==="lang"){G=String(q);continue}if(U==="class"){J=String(q).trim();continue}Z.push(` ${W}="${R1(String(q))}"`),Y.push(W)}let Q=` lang="${R1(G)}"`;if(J)Q+=` class="${R1(J)}"`;if(Q+=Z.join(""),J)Q+=` ${_8}="${R1(J)}"`;if(Y.length)Q+=` ${z8}="${R1(Y.join(" "))}"`;return Q}function HG(X={},$={}){let Z={...X,...$};if(X.class&&$.class){let Y=X.class.split(/\s+/).filter(Boolean);for(let J of $.class.split(/\s+/).filter(Boolean))if(!Y.includes(J))Y.push(J);Z.class=Y.join(" ")}return Z}function LG(X,$={}){if(!$||Object.keys($).length===0)return X;let Z=X.match(/<html\b([^>]*)>/i);if(!Z)return X;let Y={},J=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let U=Q[1];if(!(U in Y))J.push(U);Y[U]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[U,K]of Object.entries($)){if(K==null)continue;let z=U.trim();if(!jG.test(z))continue;let B=z.toLowerCase();if(B==="class"){let _=(Y.class||"").split(/\s+/).filter(Boolean);for(let j of String(K).split(/\s+/).filter(Boolean))if(!_.includes(j))_.push(j),w.push(j);if(!("class"in Y))J.push("class");Y.class=_.join(" ");continue}if(!(z in Y))J.push(z);if(Y[z]=String(K),B!=="lang")q.push(z)}if(w.length){if(!(_8 in Y))J.push(_8);Y[_8]=w.join(" ")}if(q.length){if(!(z8 in Y))J.push(z8);Y[z8]=q.join(" ")}let W=J.map((U)=>` ${U}="${R1(Y[U])}"`).join("");return X.replace(Z[0],()=>`<html${W}>`)}function OG(X){if(X.includes("data-stx-cloak"))return X;let $=X.lastIndexOf("</head>");if($===-1)return X;return`${X.slice(0,$)}${BG}
|
|
3734
|
+
${X.slice($)}`}function Vj(X){let $=[],Z=0;while(Z<X.length){let G=X.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let K=X.indexOf("-->",Z);if(K===-1)break;Z=K+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let K=X.toLowerCase().indexOf("</script>",Z+w[0].length);if(K===-1)break;Z=K+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){$.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){$.push(W[0]),Z+=W[0].length;continue}let U=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(U){$.push(U[0]),Z+=U[0].length;continue}break}if($.length===0)return{body:X,hoisted:$};let Y="",J=0;while(J<X.length&&J<Z){let G=X.slice(J),Q=G.match(/^<link\b[^>]*>/i);if(Q&&$.includes(Q[0])){J+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&$.includes(w[0])){J+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&$.includes(q[0])){J+=q[0].length;continue}Y+=X[J],J++}return Y+=X.slice(Z),{body:Y,hoisted:$}}function Aj(X,$={},Z={}){let{title:Y="stx App",lang:J="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:U="",bodyAttrs:K={}}=$,z=Z.title||Y,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],_=new Set(G.map(b3).filter(Boolean)),H=[...B.filter((N)=>!_.has(b3(N))),...G].map((N)=>{return` <meta ${r5(N)}>`}).join(`
|
|
3735
3735
|
`),O=Q.map((N)=>{return` <link ${r5(N)}>`}).join(`
|
|
3736
3736
|
`),L=w.map((N)=>{if(N.src)return` <script ${r5(N,(y)=>y==="content")}></script>`;if(N.content)return` <script>${N.content}</script>`;return""}).filter(Boolean).join(`
|
|
3737
|
-
`),F=
|
|
3737
|
+
`),F=Fj(W,J),V=Object.entries(K).map(([N,y])=>` ${N}="${R1(String(y))}"`).join(""),A=U?` class="${R1(U)}"`:"",{body:R,hoisted:T}=Vj(X),M=[H,Z.colorMode?` ${E3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:Oj(z)}</title>`,` ${BG}`,O,L,q?` ${q}`:"",...(Z.styles||[]).map((N)=>` ${N}`),...T.map((N)=>` ${N}`),...(Z.headScripts||[]).map((N)=>` ${N}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((N)=>N),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
3738
3738
|
<html${F}>
|
|
3739
3739
|
<head>
|
|
3740
3740
|
${M.join(`
|
|
@@ -3746,7 +3746,7 @@ ${k.join(`
|
|
|
3746
3746
|
</body>
|
|
3747
3747
|
</html>`}function S3(X){let $=0;while($<X.length){let Z=X.slice($),Y=Z.match(/^\s+/);if(Y){$+=Y[0].length;continue}if(Z.startsWith("<!--")){let G=X.indexOf("-->",$);if(G===-1)return!1;$=G+3;continue}let J=Z.match(/^<(script|style)\b[^>]*>/i);if(J){let G=`</${J[1].toLowerCase()}>`,Q=X.toLowerCase().indexOf(G,$+J[0].length);if(Q===-1)return!1;$=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function C3(X){return S3(X)}function FG(X,$={}){let Z=X.lastIndexOf("</head>");if(Z===-1)return X;let{meta:Y=[],link:J=[],script:G=[],headRaw:Q=""}=$,w=X.slice(0,Z),q=[];for(let W of Y){let U=b3(W);if(U&&w.includes(U))continue;q.push(` <meta ${r5(W)}>`)}for(let W of J){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${r5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${r5(W,(U)=>U==="content")}></script>`)}else if(W.content){if(w.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(Q&&!w.includes(Q))q.push(` ${Q}`);if(q.length===0)return X;return`${X.slice(0,Z)}${q.join(`
|
|
3748
3748
|
`)}
|
|
3749
|
-
${X.slice(Z)}`}function VG(X,$={},Z={}){if(C3(X))return X;return
|
|
3749
|
+
${X.slice(Z)}`}function VG(X,$={},Z={}){if(C3(X))return X;return Aj(X,$,Z)}var BG="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",z8="data-stx-html-attrs",_8="data-stx-html-class",jG;var AG=D(()=>{D3();jG=/^[A-Za-z_:][\w:.-]*$/});function RG(X,$={}){return new M5(X,$).routes}var TG=D(()=>{n1();n1()});async function NG(X){let $=X;if(!$)try{$=(await u1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=MG.get(Z);if(Y)return Y;let J=[];try{J=RG(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return MG.set(Z,J),J}var MG;var kG=D(()=>{TG();H1();MG=new Map});function Rj(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function IG(X){return Rj(JSON.stringify(X))}function v3(){return z5}function x3(X){let $=z5;return EG.push(X),z5=X,$}function f3(X){EG.pop(),z5=X}function g3(){return B8>0}function h3(X){P3.add(X)}function DG(X){B8++;try{X()}finally{if(B8--,B8===0){let $=[...P3];P3.clear();for(let Z of $)Z()}}}function yG(X){let $=z5;z5=null;try{return X()}finally{z5=$}}var z5=null,EG,B8=0,P3;var bG=D(()=>{EG=[],P3=new Set});function d1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=v3();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((w)=>w($,Q)),g3())Y.forEach((w)=>h3(w));else Y.forEach((w)=>w())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function H8(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,g3())Y.forEach((Q)=>h3(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=v3();if(Q)Y.add(Q);if(Z){let w=x3(J);try{$=X()}finally{f3(w)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function L8(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=x3(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{f3(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function d3(X){DG(X)}function m3(X){u3.push(X)}function l3(X){j8.push(X)}function Tj(){SG(u3,"onMount",j8)}function Mj(){SG(j8,"onDestroy")}function SG(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Nj(){return{mount:u3.length,destroy:j8.length}}function O8(X){return typeof X==="function"&&X._isSignal===!0}function F8(X){return typeof X==="function"&&X._isDerived===!0}function c3(X){if(O8(X)||F8(X))return X();return X}function V8(X){return yG(X)}function kj(X,$){let Z=typeof X==="function"?X:()=>X,Y=d1([]),J=H8(()=>Y().reduce((w,q)=>$(w,q.action),Z())),G=!1;return L8(()=>{if(Z(),!G){G=!0;return}if(V8(()=>Y().length))Y.set([])}),[J,(w,q)=>{let W={action:w};Y.set([...Y(),W]);let U=()=>{let K=Y().filter((z)=>z!==W);if(K.length!==Y().length)Y.set(K)};if(q&&typeof q.then==="function")Promise.resolve(q).then(U,U);return U}]}var u3,j8;var A8=D(()=>{bG();u3=[],j8=[]});var PG={};t(PG,{useOptimistic:()=>kj,untrack:()=>c3,state:()=>d1,runMountCallbacks:()=>Tj,runDestroyCallbacks:()=>Mj,pendingLifecycleCounts:()=>Nj,peek:()=>V8,onMount:()=>m3,onDestroy:()=>l3,isSignal:()=>O8,isDerived:()=>F8,generateSignalsRuntimeDev:()=>p3,generateSignalsRuntime:()=>CG,effect:()=>L8,derived:()=>H8,default:()=>Ej,batch:()=>d3});function CG(){let X=Ij(p3());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function Ij(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let w=X[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<X.length&&X[Q]!==q){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function p3(){return`
|
|
3750
3750
|
// STX Signals Runtime (Development Build)
|
|
3751
3751
|
console.log('[stx] signals runtime loading');
|
|
3752
3752
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -11585,20 +11585,20 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
11585
11585
|
}
|
|
11586
11586
|
}
|
|
11587
11587
|
})();
|
|
11588
|
-
`}var
|
|
11588
|
+
`}var Ej;var vG=D(()=>{A8();J1();A8();Ej={state:d1,derived:H8,effect:L8,batch:d3,onMount:m3,onDestroy:l3,isSignal:O8,isDerived:F8,untrack:c3,peek:V8,generateSignalsRuntime:CG,generateSignalsRuntimeDev:p3}});var i3={};t(i3,{templateCache:()=>xG,readFileCached:()=>Dj,invalidateFileCacheByDir:()=>bj,invalidateFileCache:()=>yj,hashFilePath:()=>s7,getCachedSignalsRuntime:()=>Pj,getCachedRouterScript:()=>vj,clearDevCaches:()=>xj,checkCache:()=>fj,cacheTemplate:()=>gj,__setSignalsGeneratorsForTest:()=>Cj});import m1 from"fs";import s5 from"path";async function Dj(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await m1.promises.stat(X)).mtime.getTime(),Q=_5.get(X);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file(X).text(),W=(await m1.promises.stat(X)).mtime.getTime();if(W!==G)continue;return _5.set(X,{content:w,mtime:W}),w}catch(J){Z=J;break}throw _5.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function yj(X){_5.delete(X)}function bj(X){for(let $ of _5.keys())if($.startsWith(X))_5.delete($)}function Cj(X){fG=X}async function Pj(X=!1){let $=fG??await Promise.resolve().then(() => (vG(),PG));if(X)return $.generateSignalsRuntimeDev();if(R8===null)R8=$.generateSignalsRuntime();return R8}async function vj(){if(T8===null){let{getRouterScript:X}=await Promise.resolve().then(() => (n1(),X6));T8=X()}return T8}function xj(){_5.clear(),hG(),R8=null,Sj=null,T8=null}function gG(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function fj(X,$){try{if(!$.cachePath)return null;let Z=s5.resolve($.cachePath),Y=s5.join(Z,`${s7(X)}.html`),J=s5.join(Z,`${s7(X)}.meta.json`);if(!await i(Y)||!await i(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==gG($))return null;if((await m1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await i(q)){if((await m1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function gj(X,$,Z,Y){try{if(!Y.cachePath)return;let J=s5.resolve(Y.cachePath);await m1.promises.mkdir(J,{recursive:!0});let G=s5.join(J,`${s7(X)}.html`),Q=s5.join(J,`${s7(X)}.meta.json`),w=await m1.promises.stat(X);await Bun.write(G,$);let q={sourcePath:X,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:gG(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),xG.set(X,{output:$,mtime:w.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function s7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,hj)}var xG,_5,R8=null,Sj=null,fG=null,T8=null,hj=16;var n3=D(()=>{T0();xG=new Map,_5=new Map});function uG(X){return X.includes("data-stx-runtime")}function dG(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}function r3(X,$){let Z=X.indexOf("<script"),Y=X.search(/<!doctype\b/i);if(Z!==-1&&(Y===-1||Z>Y))return X.slice(0,Z)+$+`
|
|
11589
11589
|
`+X.slice(Z);let J=/<head\b[^>]*>/i.exec(X);if(J){let Q=J.index+J[0].length;return`${X.slice(0,Q)}
|
|
11590
11590
|
${$}${X.slice(Q)}`}if(X.includes("</head>")){let Q=X.indexOf("</head>");return X.slice(0,Q)+$+`
|
|
11591
11591
|
`+X.slice(Q)}if(P7(X))return bX(X,(Q)=>`${Q}
|
|
11592
11592
|
${$}`);return`${$}
|
|
11593
11593
|
${X}`}async function M8(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return r3(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return r3(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (n3(),i3)),Y=await Z($.debug);return r3(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}async function s3(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let w={};if(Z){if(Z.container)w.container=Z.container;if(Z.interceptAllLinks!==void 0)w.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)w.progress=Z.progress;if(Z.viewTransitions!==void 0)w.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)w.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)w.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)w.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)w.prefetch=Z.prefetch;if(Z.cache!==void 0)w.cache=Z.cache;if(Z.progressColor!==void 0)w.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)w.progressHeight=Z.progressHeight}try{let q=await NG($?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)Y=`<script>window.__stxRouterConfig=${IG(w)};</script>
|
|
11594
11594
|
`}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (n3(),i3)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
|
|
11595
|
-
</body>`+X.slice(Q+7)}var N8=D(()=>{kG();w9()});var D8={};t(D8,{scanScriptTags:()=>rG,rewriteStxImportSpecifiers:()=>tG,processSignals:()=>X4,processScriptSetup:()=>oG,preEvalLiteralReactiveIfs:()=>t3,parseLoopExpression:()=>sG,hasSignalsSyntax:()=>E8,findMarkupIndexOutsideScripts:()=>I8,extractExports:()=>aG,convertSignalLoopsToAttributes:()=>e3,convertSignalDirectivesToAttributes:()=>a3});function rG(X,$={}){let Z=[];for(let Y of a$(X,D1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let w=J[0].length,q=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(w,q),start:Y.start,end:Y.end})}return Z}function sG(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=lG(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:w}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:w}=lG(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function lG(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function E8(X){return q6(X)}function
|
|
11596
|
-
`)}else{if(!pG(B,Z,$))continue;V=k8(Y(F),"@if",B)}q.push({start:W,end:H,replacement:V}),Q.lastIndex=H}for(let W=q.length-1;W>=0;W--){let{start:U,end:K,replacement:z}=q[W];G=G.substring(0,U)+z+G.substring(K)}return G}return Y(X)}function
|
|
11595
|
+
</body>`+X.slice(Q+7)}var N8=D(()=>{kG();w9()});var D8={};t(D8,{scanScriptTags:()=>rG,rewriteStxImportSpecifiers:()=>tG,processSignals:()=>X4,processScriptSetup:()=>oG,preEvalLiteralReactiveIfs:()=>t3,parseLoopExpression:()=>sG,hasSignalsSyntax:()=>E8,findMarkupIndexOutsideScripts:()=>I8,extractExports:()=>aG,convertSignalLoopsToAttributes:()=>e3,convertSignalDirectivesToAttributes:()=>a3});function rG(X,$={}){let Z=[];for(let Y of a$(X,D1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let w=J[0].length,q=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(w,q),start:Y.start,end:Y.end})}return Z}function sG(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=lG(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:w}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:w}=lG(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function lG(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function E8(X){return q6(X)}function dj(X){let $=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,Y;while((Y=$.exec(X))!==null){let J=Y[1];if(J.startsWith("if"))Z++;else if(J==="endif")Z--;else if(Z===0)return!0}return!1}function mj(X){let $=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,J;while((J=Z.exec(X))!==null){let G=J[1],Q;while((Q=Y.exec(G))!==null)$.add(Q[1])}return $}function lj(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function pG(X,$,Z){if(!X)return!1;let Y=lj(X),J=!1,G=!1,Q=!1,w=/([a-zA-Z_$][\w$]*)/g,q;while((q=w.exec(Y))!==null){let z=q[1];if(Y.slice(0,q.index).trimEnd().endsWith("."))continue;if(cG.has(z))continue;if($.has(z))J=!0;else if(Z&&z in Z)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(Y))!==null){let z=U[1];if(Y.slice(0,U.index).trimEnd().endsWith("."))continue;if(cG.has(z)||Z&&z in Z)continue;Q=!0}return(J||Q)&&!G}function k8(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,""")}"`,J=X.trim(),G=J.match(nG);if(G&&cj(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${Y}>${q}</${Q}>`}return`<template${Y}>${J}</template>`}function cj(X,$){let Z=new RegExp(`<(/)?${$}(?=[\\s/>])`,"gi"),Y=0,J;while((J=Z.exec(X))!==null)if(J[1]){if(Y--,Y<0)return!1}else Y++;return!0}function a3(X,$){let Z=mj(X);function Y(J){let G=J,Q=/@if\s*\(/g,w,q=[];while((w=Q.exec(G))!==null){let W=w.index,U=W+w[0].length,K=1,z=U;while(z<G.length&&K>0){if(G[z]==="(")K++;else if(G[z]===")")K--;z++}if(K!==0)continue;let B=G.substring(U,z-1).trim(),_=z,j=1,H=_,O=/@(if\s*\(|endif)/g;O.lastIndex=_;let L;while((L=O.exec(G))!==null)if(L[1].startsWith("if"))j++;else if(L[1]==="endif"){if(j--,j===0){H=L.index+L[0].length;break}}if(j!==0)continue;let F=G.substring(_,H-6).trim(),V;if(dj(F)){let A=f7(G.substring(W,H));if(A.length===0)continue;let R=A[0].branches.filter((k)=>k.type!=="else");if(!(R.length>0&&R.every((k)=>pG(k.condition,Z,$))))continue;V=A[0].branches.map((k)=>{let N=Y(k.content);if(k.type==="elseif")return k8(N,"@else-if",k.condition??"");if(k.type==="else")return k8(N,"@else");return k8(N,"@if",k.condition??"")}).join(`
|
|
11596
|
+
`)}else{if(!pG(B,Z,$))continue;V=k8(Y(F),"@if",B)}q.push({start:W,end:H,replacement:V}),Q.lastIndex=H}for(let W=q.length-1;W>=0;W--){let{start:U,end:K,replacement:z}=q[W];G=G.substring(0,U)+z+G.substring(K)}return G}return Y(X)}function pj(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function ij(X,$,Z,Y){if(o3.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,w=1,q=Y;while(q<Q){let W=X.indexOf("<",q);if(W===-1)return-1;if(q=W,X.startsWith("<!--",q)){let B=X.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let U=/^<(script|style)\b/i.exec(X.slice(q,q+8));if(U){let B=X.indexOf(">",q);if(B===-1)return-1;if(X[B-1]==="/"){q=B+1;continue}let _=G.indexOf(`</${U[1].toLowerCase()}`,q);if(_===-1)return-1;let j=X.indexOf(">",_);if(j===-1)return-1;q=j+1;continue}if(X[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===J){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let K=/^<([a-z][\w-]*)\b/i.exec(X.slice(q,q+64));if(!K){q++;continue}let z=X.indexOf(">",q);if(z===-1)return-1;if(K[1].toLowerCase()===J){let B=X.slice(q,z+1);if(!(/\/\s*>$/.test(B)||o3.has(J)))w++}q=z+1}return-1}function rj(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return nj.test(G)}function t3(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(K)=>$.some(([z,B])=>K>=z&&K<B),G=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,Q=[],w;while((w=G.exec(X))!==null){if(J(w.index))continue;let[K,z,B,_,j,H,O]=w,L=pj(j);if(L===void 0)continue;let F=w.index,V=F+K.length,T=!!O||/\/\s*>$/.test(K)||o3.has(z.toLowerCase())?V:ij(X,F,z,V);if(T===-1)continue;if((_===":if"||_==="x-if"||_==="@if")&&rj(X,T)){G.lastIndex=V;continue}if(L===!0){let k=`<${z}${B}${H}${O}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:T,replacement:""}),G.lastIndex=T}if(Q.length===0)return X;Q.sort((K,z)=>K.start-z.start);let q=[],W=-1;for(let K of Q){if(K.start<W)continue;q.push(K),W=K.end}let U=X;for(let K=q.length-1;K>=0;K--){let{start:z,end:B,replacement:_}=q[K];U=U.substring(0,z)+_+U.substring(B)}return U}function e3(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let w=J[1],q=J.index,W=q+J[0].length,U=1,K=W;while(K<Z.length&&U>0){if(Z[K]==="(")U++;else if(Z[K]===")")U--;K++}if(U!==0)continue;let z=Z.substring(W,K-1).trim(),B=K,_=sG(z),j=w==="for"?"@endfor":"@endforeach",H=1,O=B,L=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");L.lastIndex=B;let F;while((F=L.exec(Z))!==null)if(F[1].startsWith(w))H++;else if(H--,H===0){O=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let M=[_.itemVar,_.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:O,vars:M})};if(_.iterable){let M=_.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let k=M.split(/[.[(]/)[0].trim(),N=$?k in $:!1,y=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(k));if(k&&(N||y)){V();continue}}if(_.style==="as")z=_.indexVar?`(${_.itemVar}, ${_.indexVar}) in ${_.iterable}`:`${_.itemVar} in ${_.iterable}`;let A=Z.substring(B,O-j.length).trim(),R=A.match(nG),T;if(R){let[,M,k,N]=R;T=`<${M}${k} @for="${z}">${N}</${M}>`}else T=`<template @for="${z}">${A}</template>`;G.push({start:q,end:O,replacement:T})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:U}=G[w];Z=Z.substring(0,q)+U+Z.substring(W)}return Z}function sj(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(U)=>{let K=Y+1;while(K<G){let z=X[K];if(z==="\\"){K+=2;continue}if(z===U)return K+1;K++}return G},w=()=>{let U=Y+2;while(U<G&&X[U]!==`
|
|
11597
11597
|
`)U++;return U},q=()=>{let U=Y+2;while(U<G-1){if(X[U]==="*"&&X[U+1]==="/")return U+2;U++}return G},W=(U)=>{let K=U,z=0;while(K<G){let B=X[K];if(B==="/"&&X[K+1]==="/"){let _=K+2;while(_<G&&X[_]!==`
|
|
11598
|
-
`)_++;K=_;continue}if(B==="/"&&X[K+1]==="*"){let _=K+2;while(_<G-1&&!(X[_]==="*"&&X[_+1]==="/"))_++;K=_+2;continue}if(B==='"'||B==="'"||B==="`"){let _=K+1;while(_<G){if(X[_]==="\\"){_+=2;continue}if(X[_]===B){_++;break}_++}K=_;continue}if(B==="("||B==="["||B==="{"){z++,K++;continue}if(B===")"||B==="]"||B==="}"){z--,K++;continue}if(B===";"&&z===0)return K+1;K++}return G};while(Y<G){let U=X[Y];if(U==="/"&&X[Y+1]==="/"){let K=w();Z.push(X.slice(Y,K)),Y=K;continue}if(U==="/"&&X[Y+1]==="*"){let K=q();Z.push(X.slice(Y,K)),Y=K;continue}if(U==='"'||U==="'"||U==="`"){let K=Q(U);Z.push(X.slice(Y,K)),Y=K;continue}if(U==="{"){J++,Z.push(U),Y++;continue}if(U==="}"){J--,Z.push(U),Y++;continue}if(J===0){let K=Y>0?X[Y-1]:"";if(K===""||/\s/.test(K)||K===";"||K==="}"||K==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let _=B[2],j=W(Y+B[0].length);if($.has(_)){Z.push(`/* stx: deduped const ${_} */`),Y=j;continue}$.add(_),Z.push(X.slice(Y,j)),Y=j;continue}}}Z.push(U),Y++}return Z.join("")}async function oG(X,$,Z){let Y=rG(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,G=[];for(let H of Y){let O=H.body;if(e1(H.attrs))O=X5(O);if(J.test(O))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:O})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${
|
|
11598
|
+
`)_++;K=_;continue}if(B==="/"&&X[K+1]==="*"){let _=K+2;while(_<G-1&&!(X[_]==="*"&&X[_+1]==="/"))_++;K=_+2;continue}if(B==='"'||B==="'"||B==="`"){let _=K+1;while(_<G){if(X[_]==="\\"){_+=2;continue}if(X[_]===B){_++;break}_++}K=_;continue}if(B==="("||B==="["||B==="{"){z++,K++;continue}if(B===")"||B==="]"||B==="}"){z--,K++;continue}if(B===";"&&z===0)return K+1;K++}return G};while(Y<G){let U=X[Y];if(U==="/"&&X[Y+1]==="/"){let K=w();Z.push(X.slice(Y,K)),Y=K;continue}if(U==="/"&&X[Y+1]==="*"){let K=q();Z.push(X.slice(Y,K)),Y=K;continue}if(U==='"'||U==="'"||U==="`"){let K=Q(U);Z.push(X.slice(Y,K)),Y=K;continue}if(U==="{"){J++,Z.push(U),Y++;continue}if(U==="}"){J--,Z.push(U),Y++;continue}if(J===0){let K=Y>0?X[Y-1]:"";if(K===""||/\s/.test(K)||K===";"||K==="}"||K==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let _=B[2],j=W(Y+B[0].length);if($.has(_)){Z.push(`/* stx: deduped const ${_} */`),Y=j;continue}$.add(_),Z.push(X.slice(Y,j)),Y=j;continue}}}Z.push(U),Y++}return Z.join("")}async function oG(X,$,Z){let Y=rG(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,G=[];for(let H of Y){let O=H.body;if(e1(H.attrs))O=X5(O);if(J.test(O))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:O})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${uj++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (k7(),N7))),W=[];for(let H=0;H<G.length;H++){let O=G[H].content;if(O=D5(O).code,w(O))O=await q(O,$||"",{projectRoot:process.cwd()});O=O.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>tG(V));let L=h0(O);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
|
|
11599
11599
|
${L}`)}let U=W.join(`
|
|
11600
11600
|
|
|
11601
|
-
`);U=
|
|
11601
|
+
`);U=sj(U);let K=aG(U),z=K.split(",").map((H)=>H.trim()).filter(Boolean),B=TX(U,Z),_=`
|
|
11602
11602
|
<script data-stx-scoped>
|
|
11603
11603
|
function ${Q}() {
|
|
11604
11604
|
${k5("const",z)}
|
|
@@ -11612,13 +11612,13 @@ if(window.stx)window.stx._latestSetup=${Q};
|
|
|
11612
11612
|
`)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let _=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let F=_[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let j=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(j){j[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),T=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(T&&!Y.has(T))Z.push(T),Y.add(T)});return}let H=$.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!Y.has(A))Z.push(A),Y.add(A)});return}let O=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let L=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){U($[G]),w=$[G-1];continue}if($[G]==="`"){K(),w="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&W()){q(),w="/";continue}if($[G]==="{"){J++,w="{",G++;continue}if($[G]==="}"){J--,w="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))w=$[G];G++}return Z.join(", ")}async function X4(X,$,Z,Y){if(!E8(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await oG(J,Z,Y);if(J=G,J=await M8(J,$),Q){let U=I8(J,/<\/head>/i),K=U===-1?I8(J,/<body[^>]*>/i):-1;if(U!==-1)J=`${J.slice(0,U)}${Q}
|
|
11613
11613
|
${J.slice(U)}`;else if(K!==-1){let z=/<body[^>]*>/i.exec(J.slice(K))[0],B=K+z.length;J=`${J.slice(0,B)}
|
|
11614
11614
|
${Q}${J.slice(B)}`}else J=`${J}
|
|
11615
|
-
${Q}`}let q=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let U=/<body[^>]*>/i,K=I8(J,U);if(K!==-1){let z=J.slice(0,K),B=J.slice(K).replace(U,(_)=>_.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function I8(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let w=G.exec(X.slice(Q));if(!w)return-1;let q=Q+w.index;if(!Y.some(([U,K])=>q>=U&&q<K))return q;Q=q+Math.max(w[0].length,1)}return-1}function tG(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return iG;return`var ${$.join(", ")}; ${iG}`}var
|
|
11615
|
+
${Q}`}let q=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let U=/<body[^>]*>/i,K=I8(J,U);if(K!==-1){let z=J.slice(0,K),B=J.slice(K).replace(U,(_)=>_.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function I8(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let w=G.exec(X.slice(Q));if(!w)return-1;let q=Q+w.index;if(!Y.some(([U,K])=>q>=U&&q<K))return q;Q=q+Math.max(w[0].length,1)}return-1}function tG(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return iG;return`var ${$.join(", ")}; ${iG}`}var uj=0,mG=`(?:"[^"]*"|'[^']*'|[^>"'])*`,nG,cG,o3,nj,iG="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var o7=D(()=>{y5();dX();J1();l$();T0();N8();$5();V7();nG=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;cG=new Set(["true","false","null","undefined","NaN","Infinity","typeof","instanceof","in","of","new","void","delete","this","Math","JSON","Date","Number","String","Boolean","Array","Object","RegExp","Map","Set","Symbol","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","window","document","console"]);o3=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);nj=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import o5 from"path";function eG(X){return X.startsWith("http://")||X.startsWith("https://")||X.startsWith("//")}async function XQ(X,$,Z){try{let Y;if(X.startsWith("/")){let J=$;for(let G=0;G<5;G++){let Q=o5.join(J,X);if(await Bun.file(Q).exists())return Q;J=o5.dirname(J)}Y=o5.join($,X)}else if(X.startsWith("./")||X.startsWith("../"))Y=o5.resolve($,X);else Y=o5.resolve($,X);if(await Bun.file(Y).exists())return Y;return null}catch{return null}}async function $Q(X,$,Z){let Y=X,J=o5.dirname($),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(Y))!==null){let[W,U,K,z]=Q;if(eG(K))continue;let B=await XQ(K,J,$);if(B)try{let _=await Bun.file(B).text();if(Z.add(B),K.endsWith(".ts")||K.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:C0()});if(H.outputs.length>0)_=await H.outputs[0].text()}let j=`<script>
|
|
11616
11616
|
// Source: ${K}
|
|
11617
11617
|
${_}
|
|
11618
11618
|
</script>`;Y=Y.replace(W,j),G.lastIndex=0}catch(_){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(Y))!==null){let[W,U,K,z]=q,B=U+z;if(eG(K))continue;if(/rel=["']stylesheet["']/.test(B)||K.endsWith(".css")){let j=await XQ(K,J,$);if(j)try{let H=await Bun.file(j).text();Z.add(j);let O=`<style>
|
|
11619
11619
|
/* Source: ${K} */
|
|
11620
11620
|
${H}
|
|
11621
|
-
</style>`;Y=Y.replace(W,O),w.lastIndex=0}catch(H){}}}return Y}var ZQ=D(()=>{E1()});function $4(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,w=1,q=Q+1,W=null,U=!1;while(q<Z.length&&w>0){let F=Z[q];if(U){U=!1,q++;continue}if(F==="\\"&&W){U=!0,q++;continue}if(W){if(F===W)W=null;q++;continue}if(F==='"'||F==="'"||F==="`"){W=F,q++;continue}if(F==="(")w++;else if(F===")"){if(w--,w===0)break}q++}if(w!==0)break;let K=Z.substring(Q+1,q).trim(),z=Z.substring(G,q+1),B=-1,_=0,j=null,H=!1;for(let F=0;F<K.length;F++){let V=K[F];if(H){H=!1;continue}if(V==="\\"&&j){H=!0;continue}if(j){if(V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V;continue}if(V==="("||V==="["||V==="{")_++;else if(V===")"||V==="]"||V==="}")_--;if(V===","&&_===0){B=F;break}}let O=B>=0?K.substring(0,B).trim():K,L=B>=0?K.substring(B+1).trim():void 0;try{let F=O.trim(),V;if(q0(F))V=W0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(L==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(q+1),Y.lastIndex=G+R.length}catch(F){X1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function Z4(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function YQ(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,w=1,q=Q;while(q<$.length&&w>0){if($[q]==="(")w++;else if($[q]===")")w--;q++}if(w!==0)continue;let W=$.slice(Q,q-1).trim(),U=q,K=$.slice(U),z=K.indexOf("@endmemo");if(z===-1)continue;let B=K.slice(0,z),_=U+z+8,j=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=j?j[0].length:0,O=B.slice(H),L=B.match(/(\s*)$/),F=L?L[0].length:0,V=O.slice(0,O.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,M,k="",N]=A,y=`<${M}${k} data-stx-memo="${W}"${N}>`;R=B.slice(0,H)+y+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:_,replacement:R}),Z.lastIndex=_}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function Y4(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function JQ(X){let Z=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,U=-1;while(w<X.length){let j=X[w];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){U=w;break}w++}if(U===-1)continue;if(X.slice(Q,U+1).includes("x-cloak"))continue;let z=X.slice(U+1),B=z.indexOf("</"),_=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(_))Y+=X.slice(J,U)+" x-cloak>",J=U+1}return Y+=X.slice(J),Y}function GQ(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let _=`</${Q}>`,j=X.toLowerCase().indexOf(_,G);if(j!==-1)$.lastIndex=j+_.length;continue}let w=G+J[0].length,q=!1,W=!1,U=-1;while(w<X.length){let _=X[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){U=w;break}w++}if(U===-1)continue;let K=X.slice(G+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(K))continue;if(!
|
|
11621
|
+
</style>`;Y=Y.replace(W,O),w.lastIndex=0}catch(H){}}}return Y}var ZQ=D(()=>{E1()});function $4(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,w=1,q=Q+1,W=null,U=!1;while(q<Z.length&&w>0){let F=Z[q];if(U){U=!1,q++;continue}if(F==="\\"&&W){U=!0,q++;continue}if(W){if(F===W)W=null;q++;continue}if(F==='"'||F==="'"||F==="`"){W=F,q++;continue}if(F==="(")w++;else if(F===")"){if(w--,w===0)break}q++}if(w!==0)break;let K=Z.substring(Q+1,q).trim(),z=Z.substring(G,q+1),B=-1,_=0,j=null,H=!1;for(let F=0;F<K.length;F++){let V=K[F];if(H){H=!1;continue}if(V==="\\"&&j){H=!0;continue}if(j){if(V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V;continue}if(V==="("||V==="["||V==="{")_++;else if(V===")"||V==="]"||V==="}")_--;if(V===","&&_===0){B=F;break}}let O=B>=0?K.substring(0,B).trim():K,L=B>=0?K.substring(B+1).trim():void 0;try{let F=O.trim(),V;if(q0(F))V=W0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(L==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(q+1),Y.lastIndex=G+R.length}catch(F){X1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function Z4(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function YQ(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,w=1,q=Q;while(q<$.length&&w>0){if($[q]==="(")w++;else if($[q]===")")w--;q++}if(w!==0)continue;let W=$.slice(Q,q-1).trim(),U=q,K=$.slice(U),z=K.indexOf("@endmemo");if(z===-1)continue;let B=K.slice(0,z),_=U+z+8,j=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=j?j[0].length:0,O=B.slice(H),L=B.match(/(\s*)$/),F=L?L[0].length:0,V=O.slice(0,O.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,M,k="",N]=A,y=`<${M}${k} data-stx-memo="${W}"${N}>`;R=B.slice(0,H)+y+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:_,replacement:R}),Z.lastIndex=_}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function Y4(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function JQ(X){let Z=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,U=-1;while(w<X.length){let j=X[w];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){U=w;break}w++}if(U===-1)continue;if(X.slice(Q,U+1).includes("x-cloak"))continue;let z=X.slice(U+1),B=z.indexOf("</"),_=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(_))Y+=X.slice(J,U)+" x-cloak>",J=U+1}return Y+=X.slice(J),Y}function GQ(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let _=`</${Q}>`,j=X.toLowerCase().indexOf(_,G);if(j!==-1)$.lastIndex=j+_.length;continue}let w=G+J[0].length,q=!1,W=!1,U=-1;while(w<X.length){let _=X[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){U=w;break}w++}if(U===-1)continue;let K=X.slice(G+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(K))continue;if(!oj.test(K))continue;let z=X[U-1]==="/",B=z?U-1:U;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var oj;var J4=D(()=>{F1();F0();oj=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function G4(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[],w=G1(X.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:U}of aj){if(G.some((z)=>/\w/.test(z)&&W.includes(z)))continue;q.lastIndex=0;let K=w.match(q);if(K&&K.length>0){let z=w.split(`
|
|
11622
11622
|
`),B=X.split(`
|
|
11623
11623
|
`),_=[];z.forEach((L,F)=>{if(q.lastIndex=0,q.test(L))_.push(F+1)});let j=_.length>0?` (script line${_.length>1?"s":""} ${_.join(", ")})`:"",H=_.slice(0,3).map((L)=>` ${L} | ${(B[L-1]??"").trim().slice(0,100)}`).join(`
|
|
11624
11624
|
`),O=H?`
|
|
@@ -11626,8 +11626,8 @@ ${H}`:"";Q.push(` \u2717 ${W}${j}
|
|
|
11626
11626
|
\u2192 ${U}${O}`)}}if(Q.length>0&&J.enabled){let q=(K)=>{let z=`${process.cwd()}/`;return K.startsWith(z)?K.slice(z.length):K},U=`[STX] DOM API violation in ${Y&&Y!==$?`${q(Y)} (composed into ${q($)})`:q($)}:
|
|
11627
11627
|
${Q.join(`
|
|
11628
11628
|
`)}
|
|
11629
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(U);else console.warn(U)}}var
|
|
11630
|
-
`)}function b8(X,$,Z){let Y=X.get($);return Y!==void 0&&Y.signature===Z?Y.value:void 0}function U1(X,$,Z,Y){return X.set($,{signature:Z,value:Y}),Y}var w4=()=>{};var QQ={};t(QQ,{getStoreScript:()=>
|
|
11629
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(U);else console.warn(U)}}var aj;var Q4=D(()=>{aj=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}]});import tj from"fs";function y8(X){return[...X].sort().map(($)=>{try{let Z=tj.statSync($);return`${$}:${Z.size}:${Z.mtimeMs}`}catch{return`${$}:missing`}}).join(`
|
|
11630
|
+
`)}function b8(X,$,Z){let Y=X.get($);return Y!==void 0&&Y.signature===Z?Y.value:void 0}function U1(X,$,Z,Y){return X.set($,{signature:Z,value:Y}),Y}var w4=()=>{};var QQ={};t(QQ,{getStoreScript:()=>XH,clearStoreCache:()=>$H});import S8 from"path";function ej(X,$){for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let Y of(Z[1]??"").split(",")){let G=((Y.includes(":")?Y.split(":").pop():Y)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))$.add(G)}for(let Z of X.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let Y of(Z[1]??"").split(",")){let J=Y.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(J))$.add(J)}}async function XH(X){let $;if(X)$=S8.resolve(X);else{let _=await u1();$=S8.resolve(_.root||process.cwd(),_.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),Y=[];try{for await(let _ of Z.scan({cwd:$,absolute:!0})){let j=S8.basename(_,".ts");if(["index","types"].includes(j))continue;if(_.includes(".d.ts"))continue;Y.push(_)}}catch{return U1(a5,$,"",""),null}let J=y8(Y),G=b8(a5,$,J);if(G!==void 0)return G||null;if(Y.length===0)return U1(a5,$,J,""),null;let Q=[];for(let _ of Y){let j=await Bun.file(_).text();Q.push({file:_,hasUseStore:/useStore\s*\(/.test(j)})}Q.sort((_,j)=>{if(_.hasUseStore===j.hasUseStore)return 0;return _.hasUseStore?1:-1});let w=Q.map((_)=>_.file),q=[],W=new Set,U=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()});for(let _ of w)try{let j=await Bun.file(_).text(),H=S8.basename(_,".ts");ej(j,W),j=h0(j),j=OX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=U.transformSync(j),q.push(`// Store: ${H}
|
|
11631
11631
|
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load store ${_}:`,j)}if(q.length===0)return U1(a5,$,J,""),null;let K=q.join(`
|
|
11632
11632
|
|
|
11633
11633
|
`),B=`;(function(){
|
|
@@ -11635,8 +11635,8 @@ var __stx = window.stx || {};
|
|
|
11635
11635
|
${j1.filter((_)=>!W.has(_)&&new RegExp(`\\b${_}\\b`).test(K)).map((_)=>`var ${_} = __stx[${JSON.stringify(_)}];`).join(`
|
|
11636
11636
|
`)}
|
|
11637
11637
|
${K}
|
|
11638
|
-
})();`;return U1(a5,$,J,B),B}function
|
|
11639
|
-
${Q.transformSync(j).trim()}`);for(let O of H)W.add(O)}catch(O){console.warn(`[stx] framework composable ${C8.basename(_)} could not be bundled:`,O)}}let K=Z.filter((_)=>!W.has(_)&&!
|
|
11638
|
+
})();`;return U1(a5,$,J,B),B}function $H(){a5.clear()}var a5;var wQ=D(()=>{H1();E1();J1();w4();a5=new Map});var q4,JI;var qQ=D(()=>{q4=["broadcast","calculateDistance","canNotify","clearCookies","clearFetchCache","clearStorage","copyToClipboard","createShareableFile","defineForm","getBatteryLevel","getCookie","getCurrentPosition","getStorageKeys","getStorageSize","getVoices","hasBattery","hasCameraPermission","hasGeolocationPermission","hasMicrophonePermission","hasNotificationPermission","hasResizeObserver","hexToHsl","hexToRgb","isBroadcastChannelSupported","isCharging","isDeviceMotionSupported","isDeviceOrientationSupported","isEventSourceSupported","isEyeDropperSupported","isInFullscreen","isMutationObserverSupported","isPermissionGranted","isSpeechRecognitionSupported","isSpeechSynthesisSupported","isWakeLockSupported","isWebSocketSupported","notify","parseCookies","pickColor","prefetch","removeCookie","requestMediaPermissions","requestMotionPermission","requestNotificationPermission","requestOrientationPermission","setCookie","share","shareCurrentPage","shareFiles","shareText","shareURL","shareWithFallback","speak","stopSpeaking","toggleFullscreen","useAsyncData","useAttributeObserver","useAutoLogout","useAutoWakeLock","useBattery","useBreakpoint","useBroadcastChannel","useChannel","useChildListObserver","useClipboard","useColorHistory","useConditionalWakeLock","useCookies","useCopySelection","useDeviceMotion","useDeviceOrientation","useElementSize","useElementTextSelection","useElementVisibility","useEventSource","useEyeDropper","useFavicon","useForm","useFullscreen","useGeolocation","useGeolocationWatch","useHotkey","useIdle","useIdleState","useInfiniteScroll","useIntersectionObserver","useIntersectionObserverMultiple","useIsDesktop","useIsMobile","useIsTablet","useKeyPressed","useKeySequence","useKeyboard","useLastActive","useLazyLoad","useMeta","useMouse","useMouseInElement","useMutationObserver","useNetwork","useNotification","useOnline","useParallax","usePermission","usePermissions","usePointer","usePost","useResizeObserver","useResizeObserverMultiple","useSSE","useScroll","useSelectionPopup","useShare","useSpeechRecognition","useSpeechSynthesis","useStorage","useTextObserver","useTextSelection","useTitle","useVisibility","useWakeLock","useWindowSize"],JI=new Set(q4)});var KQ={};t(KQ,{selectComposableFiles:()=>WQ,referencedFrameworkComposables:()=>UQ,getFrameworkComposableScript:()=>GH,clearFrameworkComposableCache:()=>YH,__setRuntimeOwnedForTest:()=>QH});import C8 from"path";function YH(){a7.clear()}function WQ(X){let $=new Map;for(let Z of X){let Y=C8.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function JH(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function UQ(X){if(!X)return[];let $=X.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let Y of ZH){if(W4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function GH(X,$){let Z=UQ(X);if(Z.length===0)return null;let Y=$??C8.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=a7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),w=new Set(Z),q=[],W=new Set,U=[];try{let _=new Bun.Glob("*.{ts,js}");for await(let j of _.scan({cwd:Y,absolute:!0}))U.push(j)}catch{return a7.set(J,""),null}U=WQ(U);for(let _ of U){let j;try{j=await Bun.file(_).text()}catch{continue}let H=[];try{H=Q.scan(j).exports.filter((O)=>O!=="default")}catch{continue}if(!H.some((O)=>w.has(O)))continue;try{j=j.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^import\s+type\s+.*$/gm,""),j=j.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),j=j.replace(/^export\s+default\s+/gm,""),j=j.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),q.push(`// ${C8.basename(_).replace(/\.[jt]s$/,"")}
|
|
11639
|
+
${Q.transformSync(j).trim()}`);for(let O of H)W.add(O)}catch(O){console.warn(`[stx] framework composable ${C8.basename(_)} could not be bundled:`,O)}}let K=Z.filter((_)=>!W.has(_)&&!JH(X,_));if(K.length>0)console.warn(`[stx] could not bundle ${K.join(", ")} from @stacksjs/stx/composables \u2014 `+"calls to them will throw ReferenceError in the browser. Import them explicitly so the bundler inlines them, or use a runtime equivalent from window.stx.");if(q.length===0)return a7.set(J,""),null;let z=[...W].map((_)=>` try { if (!(${JSON.stringify(_)} in __s)) { __s[${JSON.stringify(_)}] = ${_}; if (!(${JSON.stringify(_)} in window)) window[${JSON.stringify(_)}] = ${_}; } } catch (e) {}`).join(`
|
|
11640
11640
|
`),B=`<script data-stx-framework-composables>
|
|
11641
11641
|
;(function(){
|
|
11642
11642
|
var __s = window.stx = window.stx || {};
|
|
@@ -11645,7 +11645,7 @@ ${q.join(`
|
|
|
11645
11645
|
`)}
|
|
11646
11646
|
${z}
|
|
11647
11647
|
})();
|
|
11648
|
-
</script>`;return a7.set(J,B),B}function
|
|
11648
|
+
</script>`;return a7.set(J,B),B}function QH(X){W4.clear();for(let $ of X)W4.add($)}var a7,W4,ZH;var zQ=D(()=>{E1();qQ();a7=new Map,W4=new Set,ZH=new Set(q4)});var BQ={};t(BQ,{getComposableScript:()=>UH,clearComposableCache:()=>KH});import t7 from"path";function _Q(X){let $=t7.basename(X,".ts");return $==="index"||$==="types"||X.endsWith(".d.ts")}async function qH(X){if(X)return t7.resolve(X);let $=`<default>:${process.cwd()}`,Z=U4.get($);if(Z!==void 0)return Z;let Y=await WH();if(Y!==null)U4.set($,Y);return Y}async function WH(){let X=await u1(),$=X.root||process.cwd(),Z=X.composablesDir;if(Z)return t7.resolve($,Z);for(let Y of wH){let J=t7.resolve($,Y);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:J,absolute:!0}))if(!_Q(Q))return J}catch{}}return null}async function UH(X){let $=await qH(X);if(!$)return null;let Z=[];try{let _=new Bun.Glob("**/*.ts");for await(let j of _.scan({cwd:$,absolute:!0})){if(_Q(j))continue;Z.push(j)}}catch{return U1(t5,$,"",""),null}let Y=y8(Z),J=b8(t5,$,Y);if(J!==void 0)return J||null;if(Z.length===0)return U1(t5,$,Y,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),Q=[],w=new Set,q=new Set;for(let _ of Z)try{let j=await Bun.file(_).text(),H=t7.basename(_,".ts");for(let O of j.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(O[1])q.add(O[1]);try{for(let O of G.scan(j).exports)if(O!=="default")w.add(O)}catch{}j=h0(j),j=OX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=G.transformSync(j),Q.push(`// Composable: ${H}
|
|
11649
11649
|
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${_}:`,j)}if(Q.length===0||w.size===0)return U1(t5,$,Y,""),null;let W=[...w].map((_)=>` try { __c[${JSON.stringify(_)}] = ${_}; } catch (e) {}`).join(`
|
|
11650
11650
|
`),U=JSON.stringify([...w]),K=Q.join(`
|
|
11651
11651
|
|
|
@@ -11670,7 +11670,7 @@ ${W}
|
|
|
11670
11670
|
}
|
|
11671
11671
|
window[__n] = __c[__n];
|
|
11672
11672
|
}
|
|
11673
|
-
})();`;return U1(t5,$,Y,B),B}function
|
|
11673
|
+
})();`;return U1(t5,$,Y,B),B}function KH(){t5.clear(),U4.clear()}var t5,U4,wH;var jQ=D(()=>{H1();E1();w4();J1();t5=new Map,U4=new Map,wH=["composables","functions"]});var LQ={};t(LQ,{processDeferDirectives:()=>HH});function zH(){return`stx-defer-${++HQ}`}function _H(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function BH(X,$,Z){let{trigger:Y,value:J}=_H($),G=Z,Q,w,q,W=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)Q=W[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)w=U[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let K=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(K)q=K[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:w,error:q}}function jH(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
|
|
11674
11674
|
const observer = new IntersectionObserver((entries) => {
|
|
11675
11675
|
if (entries[0].isIntersecting) {
|
|
11676
11676
|
observer.disconnect();
|
|
@@ -11743,7 +11743,7 @@ else {
|
|
|
11743
11743
|
${J}
|
|
11744
11744
|
})();
|
|
11745
11745
|
</script>
|
|
11746
|
-
`}function
|
|
11746
|
+
`}function HH(X,$,Z){HQ=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return X.replace(Y,(J,G,Q)=>{let w=zH(),q=BH(J,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",U=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',K=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",z=`<div data-defer-content style="display: none;">${q.content}</div>`,B=jH(w,q);return`
|
|
11747
11747
|
<div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
11748
11748
|
${W}
|
|
11749
11749
|
${U}
|
|
@@ -11751,7 +11751,7 @@ else {
|
|
|
11751
11751
|
${K}
|
|
11752
11752
|
</div>
|
|
11753
11753
|
${B}
|
|
11754
|
-
`})}var HQ=0;var FQ={};t(FQ,{processTeleportDirectives:()=>
|
|
11754
|
+
`})}var HQ=0;var FQ={};t(FQ,{processTeleportDirectives:()=>VH,ensureTeleportTargets:()=>AH});function LH(){return`stx-teleport-${++OQ}`}function OH(X){let $=X.split(",").map((J)=>J.trim()),Z=$[0].replace(/['"]/g,""),Y;for(let J=1;J<$.length;J++){let G=$[J].match(/disabled:\s*(.+)/);if(G)Y=G[1].trim()}return{target:Z,disabled:Y}}function FH(X,$){return`
|
|
11755
11755
|
<script>
|
|
11756
11756
|
(function() {
|
|
11757
11757
|
const source = document.getElementById('${X}');
|
|
@@ -11797,12 +11797,12 @@ else {
|
|
|
11797
11797
|
});
|
|
11798
11798
|
})();
|
|
11799
11799
|
</script>
|
|
11800
|
-
`}function
|
|
11800
|
+
`}function VH(X,$,Z){OQ=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return X.replace(Y,(J,G,Q)=>{let w=LH(),{target:q,disabled:W}=OH(G),U=Q.trim();if(W)try{let z=!1;if(W==="true")z=!0;else if(W==="false")z=!1;else if(W in $)z=Boolean($[W]);if(z)return`<div class="stx-teleport-inline" data-teleport-disabled>${U}</div>`}catch{}let K=FH(w,q);return`
|
|
11801
11801
|
<div id="${w}" class="stx-teleport-source" style="display: none;">
|
|
11802
11802
|
<template>${U}</template>
|
|
11803
11803
|
</div>
|
|
11804
11804
|
${K}
|
|
11805
|
-
`})}function
|
|
11805
|
+
`})}function AH(){return`
|
|
11806
11806
|
<script>
|
|
11807
11807
|
(function() {
|
|
11808
11808
|
// Common teleport targets
|
|
@@ -11819,7 +11819,7 @@ else {
|
|
|
11819
11819
|
});
|
|
11820
11820
|
})();
|
|
11821
11821
|
</script>
|
|
11822
|
-
`}var OQ=0;var TQ={};t(TQ,{processTransitionDirectives:()=>
|
|
11822
|
+
`}var OQ=0;var TQ={};t(TQ,{processTransitionDirectives:()=>NH,processTransitionAttributes:()=>DH,performLeave:()=>MH,performEnter:()=>TH,generateTransitionRuntime:()=>EH,generateTransitionCSS:()=>IH});function VQ(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function RH(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let w=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?w:w*1000};return Math.max(J(Z),J(Y))}function AQ(X,$){return new Promise((Z)=>{let Y=$??RH(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function RQ(X){X.offsetHeight}async function TH(X,$={}){let Z=$.name||"stx",Y=VQ(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),RQ(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await AQ(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function MH(X,$={}){let Z=$.name||"stx",Y=VQ(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),RQ(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await AQ(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function NH(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let w=kH(G),q=w.name||"stx",W=w.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
11823
11823
|
<div
|
|
11824
11824
|
class="stx-transition-wrapper"
|
|
11825
11825
|
data-transition="${q}"
|
|
@@ -11861,7 +11861,7 @@ else {
|
|
|
11861
11861
|
});
|
|
11862
11862
|
})();
|
|
11863
11863
|
</script>
|
|
11864
|
-
`})}function
|
|
11864
|
+
`})}function kH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4]||Y[5];switch(J){case"name":$.name=G;break;case"duration":$.duration=parseInt(G,10);break;case"mode":$.mode=G;break;case"easing":$.easing=G;break}}return $}function IH(){return`
|
|
11865
11865
|
/* STX Transition Presets */
|
|
11866
11866
|
|
|
11867
11867
|
/* Fade */
|
|
@@ -12048,7 +12048,7 @@ else {
|
|
|
12048
12048
|
opacity: 1;
|
|
12049
12049
|
max-height: 1000px;
|
|
12050
12050
|
}
|
|
12051
|
-
`}function
|
|
12051
|
+
`}function EH(){return`
|
|
12052
12052
|
// STX Transition Runtime
|
|
12053
12053
|
(function() {
|
|
12054
12054
|
if (typeof window === 'undefined') return;
|
|
@@ -12137,7 +12137,7 @@ else {
|
|
|
12137
12137
|
|
|
12138
12138
|
console.log('[stx] Transition runtime initialized');
|
|
12139
12139
|
})();
|
|
12140
|
-
`}function
|
|
12140
|
+
`}function DH(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var NQ={};t(NQ,{withErrorBoundary:()=>MQ,processErrorBoundaryDirectives:()=>SH,generateErrorBoundaryRuntime:()=>fH,generateErrorBoundaryCSS:()=>xH,createErrorBoundary:()=>vH});function bH(){return`eb-${++yH}-${Date.now().toString(36)}`}function SH(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,w)=>{let q=bH(),W=CH(G||"");return PH(q,Q.trim(),w.trim(),W)})}function CH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function PH(X,$,Z,Y){let J=Y.logErrors!==!1;return`
|
|
12141
12141
|
<div class="stx-error-boundary" data-boundary-id="${X}" data-has-error="false">
|
|
12142
12142
|
<div class="stx-error-boundary-content" data-boundary-content="${X}">
|
|
12143
12143
|
${$}
|
|
@@ -12257,7 +12257,7 @@ else {
|
|
|
12257
12257
|
};
|
|
12258
12258
|
})();
|
|
12259
12259
|
</script>
|
|
12260
|
-
`}async function MQ(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function
|
|
12260
|
+
`}async function MQ(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function vH(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>MQ(Y,X,Z)}function xH(){return`
|
|
12261
12261
|
/* STX Error Boundary Styles */
|
|
12262
12262
|
.stx-error-boundary {
|
|
12263
12263
|
position: relative;
|
|
@@ -12301,7 +12301,7 @@ else {
|
|
|
12301
12301
|
color: #fecaca;
|
|
12302
12302
|
}
|
|
12303
12303
|
}
|
|
12304
|
-
`}function
|
|
12304
|
+
`}function fH(){return`
|
|
12305
12305
|
// STX Error Boundary Runtime
|
|
12306
12306
|
(function() {
|
|
12307
12307
|
if (typeof window === 'undefined') return;
|
|
@@ -12366,7 +12366,7 @@ else {
|
|
|
12366
12366
|
|
|
12367
12367
|
console.log('[stx] Error boundary runtime initialized');
|
|
12368
12368
|
})();
|
|
12369
|
-
`}var
|
|
12369
|
+
`}var yH=0;var kQ={};t(kQ,{renderSSRSuspense:()=>cH,processSuspenseDirectives:()=>uH,generateSuspenseRuntime:()=>iH,generateSuspenseCSS:()=>pH,createSSRSuspense:()=>lH});function hH(){return`suspense-${++gH}-${Date.now().toString(36)}`}function uH(X,$={},Z){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return X.replace(Y,(J,G,Q,w)=>{let q=hH(),W=dH(G||"");return mH(q,Q.trim(),w.trim(),W)})}function dH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"id":$.id=G;break;case"timeout":$.timeout=Q?parseInt(Q,10):void 0;break}}return $}function mH(X,$,Z,Y){let J=Y.timeout||30000,G=Y.id||X;return`
|
|
12370
12370
|
<div class="stx-suspense" data-suspense-id="${X}" data-custom-id="${G}" data-status="pending">
|
|
12371
12371
|
<div class="stx-suspense-fallback" data-suspense-fallback="${X}">
|
|
12372
12372
|
${Z}
|
|
@@ -12556,7 +12556,7 @@ else {
|
|
|
12556
12556
|
}, 0);
|
|
12557
12557
|
})();
|
|
12558
12558
|
</script>
|
|
12559
|
-
`}function
|
|
12559
|
+
`}function lH(X,$,Z){return{id:X,fallback:Z,content:$}}async function cH(X){let $=X.map((Y)=>`
|
|
12560
12560
|
<div id="stx-ssr-suspense-${Y.id}" class="stx-ssr-suspense">
|
|
12561
12561
|
${Y.fallback}
|
|
12562
12562
|
</div>
|
|
@@ -12581,7 +12581,7 @@ else {
|
|
|
12581
12581
|
}
|
|
12582
12582
|
})();
|
|
12583
12583
|
</script>
|
|
12584
|
-
`}}return{initial:$,streaming:Z()}}function
|
|
12584
|
+
`}}return{initial:$,streaming:Z()}}function pH(){return`
|
|
12585
12585
|
/* STX Suspense Styles */
|
|
12586
12586
|
.stx-suspense {
|
|
12587
12587
|
position: relative;
|
|
@@ -12637,7 +12637,7 @@ else {
|
|
|
12637
12637
|
background-size: 200% 100%;
|
|
12638
12638
|
}
|
|
12639
12639
|
}
|
|
12640
|
-
`}function
|
|
12640
|
+
`}function iH(){return`
|
|
12641
12641
|
// STX Suspense Runtime
|
|
12642
12642
|
(function() {
|
|
12643
12643
|
if (typeof window === 'undefined') return;
|
|
@@ -12704,7 +12704,7 @@ else {
|
|
|
12704
12704
|
|
|
12705
12705
|
console.log('[stx] Suspense runtime initialized');
|
|
12706
12706
|
})();
|
|
12707
|
-
`}var
|
|
12707
|
+
`}var gH=0;var yQ={};t(yQ,{processAsyncDirectives:()=>rH,isAsyncComponent:()=>oH,generateAsyncComponentRuntime:()=>tH,generateAsyncComponentCSS:()=>aH,defineAsyncComponent:()=>sH});function IQ(){return`async-${++nH}-${Date.now().toString(36)}`}function rH(X,$={},Z){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=X;return G=G.replace(Y,(Q,w,q,W)=>{let U=IQ(),K=EQ(w);return DQ(U,K,q.trim(),W.trim())}),G=G.replace(J,(Q,w,q)=>{let W=IQ(),U=EQ(w);return DQ(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function EQ(X){let $={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4],w=Y[5];switch(J){case"component":$.component=G||w||"";break;case"timeout":$.timeout=Q?parseInt(Q,10):30000;break;case"delay":$.delay=Q?parseInt(Q,10):200;break;case"suspensible":$.suspensible=w==="true";break;case"retries":$.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":$.loadingComponent=G||w;break;case"errorComponent":$.errorComponent=G||w;break}}return $}function DQ(X,$,Z,Y){let{component:J,timeout:G,delay:Q,suspensible:w,retries:q}=$;return`
|
|
12708
12708
|
<div class="stx-async-component" data-async-id="${X}" data-component="${J}" data-status="pending">
|
|
12709
12709
|
<div class="stx-async-loading" data-async-loading="${X}">
|
|
12710
12710
|
${Z}
|
|
@@ -12931,7 +12931,7 @@ catch (error) {
|
|
|
12931
12931
|
loadComponent();
|
|
12932
12932
|
})();
|
|
12933
12933
|
</script>
|
|
12934
|
-
`}function
|
|
12934
|
+
`}function sH(X){return{__asyncComponent:!0,...typeof X==="function"?{loader:X}:X}}function oH(X){return typeof X==="object"&&X!==null&&"__asyncComponent"in X&&X.__asyncComponent===!0}function aH(){return`
|
|
12935
12935
|
/* STX Async Component Styles */
|
|
12936
12936
|
.stx-async-component {
|
|
12937
12937
|
position: relative;
|
|
@@ -13005,7 +13005,7 @@ catch (error) {
|
|
|
13005
13005
|
background-size: 200% 100%;
|
|
13006
13006
|
}
|
|
13007
13007
|
}
|
|
13008
|
-
`}function
|
|
13008
|
+
`}function tH(){return`
|
|
13009
13009
|
// STX Async Component Runtime
|
|
13010
13010
|
(function() {
|
|
13011
13011
|
if (typeof window === 'undefined') return;
|
|
@@ -13059,7 +13059,7 @@ catch (error) {
|
|
|
13059
13059
|
|
|
13060
13060
|
console.log('[stx] Async component runtime initialized');
|
|
13061
13061
|
})();
|
|
13062
|
-
`}var
|
|
13062
|
+
`}var nH=0;var SQ={};t(SQ,{shouldCacheComponent:()=>JL,processKeepAliveDirectives:()=>XL,onDeactivated:()=>qL,onActivated:()=>wL,generateKeepAliveRuntime:()=>QL,generateKeepAliveCSS:()=>GL,createKeepAliveCache:()=>YL});function bQ(){return`keep-alive-${++eH}-${Date.now().toString(36)}`}function XL(X,$={},Z){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return X.replace(Y,(J,G,Q)=>{let w=bQ(),q=$L(G||"");return ZL(w,Q.trim(),q)})}function $L(X){let $={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"max":$.max=Q?parseInt(Q,10):10;break;case"include":$.include=G;break;case"exclude":$.exclude=G;break;case"id":$.id=G;break}}return $}function ZL(X,$,Z){let{max:Y,include:J,exclude:G}=Z,Q=Z.id||X;return`
|
|
13063
13063
|
<div class="stx-keep-alive" data-keep-alive-id="${X}" data-custom-id="${Q}">
|
|
13064
13064
|
<div class="stx-keep-alive-content" data-keep-alive-content="${X}">
|
|
13065
13065
|
${$}
|
|
@@ -13346,7 +13346,7 @@ else {
|
|
|
13346
13346
|
});
|
|
13347
13347
|
})();
|
|
13348
13348
|
</script>
|
|
13349
|
-
`}function
|
|
13349
|
+
`}function YL(X={}){return{id:X.id||bQ(),cache:new Map,max:X.max||10,include:X.include?X.include.split(",").map((Z)=>Z.trim()):null,exclude:X.exclude?X.exclude.split(",").map((Z)=>Z.trim()):null}}function JL(X,$){if($.exclude&&$.exclude.includes(X))return!1;if($.include&&!$.include.includes(X))return!1;return!0}function GL(){return`
|
|
13350
13350
|
/* STX Keep-Alive Styles */
|
|
13351
13351
|
.stx-keep-alive {
|
|
13352
13352
|
position: relative;
|
|
@@ -13371,7 +13371,7 @@ else {
|
|
|
13371
13371
|
.stx-keep-alive-content > [data-activated] {
|
|
13372
13372
|
opacity: 1;
|
|
13373
13373
|
}
|
|
13374
|
-
`}function
|
|
13374
|
+
`}function QL(){return`
|
|
13375
13375
|
// STX Keep-Alive Runtime
|
|
13376
13376
|
(function() {
|
|
13377
13377
|
if (typeof window === 'undefined') return;
|
|
@@ -13407,7 +13407,7 @@ else {
|
|
|
13407
13407
|
|
|
13408
13408
|
console.log('[stx] Keep-alive runtime initialized');
|
|
13409
13409
|
})();
|
|
13410
|
-
`}function
|
|
13410
|
+
`}function wL(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function qL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var eH=0;var fQ={};t(fQ,{useVirtualList:()=>PQ,processVirtualListDirectives:()=>z4,processVirtualGridDirectives:()=>xQ,processInfiniteListDirectives:()=>vQ,generateVirtualListCSS:()=>CQ,default:()=>WL,createVirtualList:()=>K4});function K4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=$,W=[...X],U=0,K=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(U/Z)-J),T=Math.ceil(Y/Z),M=Math.min(W.length-1,R+T+J*2);return{startIndex:R,endIndex:M}}function B(){let R=0,T=0,M=W.length-1;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+N>U){T=Math.max(0,k-J);break}R+=N}R=0;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+=N,R>U+Y){M=Math.min(W.length-1,k+J);break}}return{startIndex:T,endIndex:M}}function _(){if(Q){let R=0;for(let T=0;T<W.length;T++)R+=K.get(T)||w;return R}return W.length*Z}function j(R){if(Q){let T=0;for(let M=0;M<R;M++)T+=K.get(M)||w;return T}return R*Z}function H(){let{startIndex:R,endIndex:T}=z();return{startIndex:R,endIndex:T,scrollTop:U,totalHeight:_(),visibleItems:W.slice(R,T+1),itemHeights:new Map(K)}}function O(R,T="auto"){let M=j(R);L(M,T)}function L(R,T="auto"){U=Math.max(0,Math.min(R,_()-Y))}function F(){z()}function V(R){W=[...R],K.clear(),F()}function A(){W=[],K.clear()}return{scrollToIndex:O,scrollToOffset:L,getState:H,refresh:F,setItems:V,destroy:A}}function z4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,w)=>{let q=G.trim(),W=$[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let L=Q.trim(),F=Function(`return ${L}`)();U={...U,...F}}catch{}let K=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.containerHeight/U.itemHeight),B=U.overscan||3,_=0,j=Math.min(W.length-1,z+B),H="";for(let L=_;L<=j&&L<W.length;L++){let F=W[L],V=w.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,R)=>{if(typeof F==="object"&&F!==null)return String(F[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(L));H+=`
|
|
13411
13411
|
<div class="virtual-item ${U.itemClass||""}"
|
|
13412
13412
|
style="position: absolute; top: ${L*U.itemHeight}px; height: ${U.itemHeight}px; width: 100%;"
|
|
13413
13413
|
data-index="${L}">
|
|
@@ -13620,7 +13620,7 @@ else {
|
|
|
13620
13620
|
});
|
|
13621
13621
|
})();
|
|
13622
13622
|
</script>
|
|
13623
|
-
`})}var
|
|
13623
|
+
`})}var WL;var gQ=D(()=>{WL={createVirtualList:K4,processVirtualListDirectives:z4,processInfiniteListDirectives:vQ,processVirtualGridDirectives:xQ,generateVirtualListCSS:CQ,useVirtualList:PQ}});function hQ(){return`<script data-stx-hydration-runtime>
|
|
13624
13624
|
(function() {
|
|
13625
13625
|
'use strict';
|
|
13626
13626
|
|
|
@@ -13780,7 +13780,7 @@ else {
|
|
|
13780
13780
|
stxIslands.initIslands();
|
|
13781
13781
|
}
|
|
13782
13782
|
})();
|
|
13783
|
-
</script>`}function uQ(X){let $=X.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if($)return $[1];let Z=X.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function dQ(X,$){let Z={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(Q in $)Z[G]=$[Q];else Z[G]=Q}return Z}var tQ={};t(tQ,{processStaticDirectives:()=>oQ,processPartialHydrationDirectives:()=>lQ,onHydrated:()=>sQ,isHydrated:()=>rQ,hydrateIsland:()=>pQ,hydrateByStrategy:()=>iQ,hydrateAll:()=>nQ,generatePartialHydrationCSS:()=>cQ,generateIslandManifest:()=>aQ,default:()=>
|
|
13783
|
+
</script>`}function uQ(X){let $=X.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if($)return $[1];let Z=X.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function dQ(X,$){let Z={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(Q in $)Z[G]=$[Q];else Z[G]=Q}return Z}var tQ={};t(tQ,{processStaticDirectives:()=>oQ,processPartialHydrationDirectives:()=>lQ,onHydrated:()=>sQ,isHydrated:()=>rQ,hydrateIsland:()=>pQ,hydrateByStrategy:()=>iQ,hydrateAll:()=>nQ,generatePartialHydrationCSS:()=>cQ,generateIslandManifest:()=>aQ,default:()=>LL,createIslandRegistry:()=>mQ});function mQ(){let X=new Map;return{islands:X,register($){X.set($.id,$)},get($){return X.get($)},async hydrate($){let Z=X.get($);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:$,component:Z.component}}))},async hydrateAll(){let $=Array.from(X.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all($)}}}function UL(X){return`
|
|
13784
13784
|
<script data-hydrate="${X}">
|
|
13785
13785
|
(function() {
|
|
13786
13786
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13791,7 +13791,7 @@ else {
|
|
|
13791
13791
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
13792
13792
|
})();
|
|
13793
13793
|
</script>
|
|
13794
|
-
`}function
|
|
13794
|
+
`}function KL(X,$){let Z=$.timeout||2000,Y=$.priority||"low";return`
|
|
13795
13795
|
<script data-hydrate="${X}">
|
|
13796
13796
|
(function() {
|
|
13797
13797
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13827,7 +13827,7 @@ else {
|
|
|
13827
13827
|
}
|
|
13828
13828
|
})();
|
|
13829
13829
|
</script>
|
|
13830
|
-
`}function
|
|
13830
|
+
`}function zL(X,$){let Z=$.rootMargin||"0px",Y=$.threshold||0;return`
|
|
13831
13831
|
<script data-hydrate="${X}">
|
|
13832
13832
|
(function() {
|
|
13833
13833
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13860,7 +13860,7 @@ else {
|
|
|
13860
13860
|
}
|
|
13861
13861
|
})();
|
|
13862
13862
|
</script>
|
|
13863
|
-
`}function
|
|
13863
|
+
`}function _L(X,$){let Z=$.media||"(min-width: 768px)";return`
|
|
13864
13864
|
<script data-hydrate="${X}">
|
|
13865
13865
|
(function() {
|
|
13866
13866
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13889,7 +13889,7 @@ else {
|
|
|
13889
13889
|
}
|
|
13890
13890
|
})();
|
|
13891
13891
|
</script>
|
|
13892
|
-
`}function
|
|
13892
|
+
`}function BL(X){return`
|
|
13893
13893
|
<script data-hydrate="${X}">
|
|
13894
13894
|
(function() {
|
|
13895
13895
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13911,7 +13911,7 @@ else {
|
|
|
13911
13911
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
13912
13912
|
})();
|
|
13913
13913
|
</script>
|
|
13914
|
-
`}function
|
|
13914
|
+
`}function jL(X,$){let Z=$.event||"stx:activate";return`
|
|
13915
13915
|
<script data-hydrate="${X}">
|
|
13916
13916
|
(function() {
|
|
13917
13917
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -13932,9 +13932,9 @@ else {
|
|
|
13932
13932
|
});
|
|
13933
13933
|
})();
|
|
13934
13934
|
</script>
|
|
13935
|
-
`}function lQ(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=e5(Y,"load",$),Y=e5(Y,"idle",$),Y=e5(Y,"visible",$),Y=e5(Y,"media",$),Y=
|
|
13935
|
+
`}function lQ(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=e5(Y,"load",$),Y=e5(Y,"idle",$),Y=e5(Y,"visible",$),Y=e5(Y,"media",$),Y=HL(Y),Y=e5(Y,"hover",$),Y=e5(Y,"event",$),J=G&&Y!==X,J)Y+=`
|
|
13936
13936
|
`+hQ();return Y}function e5(X,$,Z){let Y=new RegExp(`@client:${$}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return X.replace(Y,(J,G,Q)=>{let w={strategy:$};if(G)try{let j=G.split(",").map((H)=>H.trim());for(let H of j){let[O,L]=H.split(":").map((F)=>F.trim());if(O&&L){let F=L.replace(/^['"]|['"]$/g,"");w[O]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=uQ(Q.trim()),U=dQ(Q.trim(),Z),K=[];if(w.rootMargin)K.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)K.push(`data-threshold="${w.threshold}"`);if(w.media)K.push(`data-media="${w.media}"`);if(w.event)K.push(`data-event="${w.event}"`);if(W)K.push(`data-component="${W}"`);let B=Object.keys(U).length>0?`
|
|
13937
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",_="";switch($){case"load":_=
|
|
13937
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",_="";switch($){case"load":_=UL(q);break;case"idle":_=KL(q,w);break;case"visible":_=zL(q,w);break;case"media":_=_L(q,w);break;case"hover":_=BL(q);break;case"event":_=jL(q,w);break}return`
|
|
13938
13938
|
<div data-island="${q}"
|
|
13939
13939
|
data-strategy="${$}"
|
|
13940
13940
|
${K.join(`
|
|
@@ -13944,7 +13944,7 @@ else {
|
|
|
13944
13944
|
${Q.trim()}${B}
|
|
13945
13945
|
</div>
|
|
13946
13946
|
${_}
|
|
13947
|
-
`})}function
|
|
13947
|
+
`})}function HL(X){let $=/@client:only\s*([\s\S]*?)@endclient/gi;return X.replace($,(Z,Y)=>{let J=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
13948
13948
|
<div data-island="${J}"
|
|
13949
13949
|
data-strategy="only"
|
|
13950
13950
|
class="stx-island stx-client-only">
|
|
@@ -14008,7 +14008,7 @@ else {
|
|
|
14008
14008
|
<script type="application/json" id="stx-island-manifest">
|
|
14009
14009
|
${JSON.stringify($)}
|
|
14010
14010
|
</script>
|
|
14011
|
-
`}var
|
|
14011
|
+
`}var LL;var eQ=D(()=>{LL={processPartialHydrationDirectives:lQ,processStaticDirectives:oQ,generatePartialHydrationCSS:cQ,generateIslandManifest:aQ,createIslandRegistry:mQ,hydrateIsland:pQ,hydrateByStrategy:iQ,hydrateAll:nQ,isHydrated:rQ,onHydrated:sQ}});var Uw={};t(Uw,{watchMultiple:()=>Jw,watchEffect:()=>Gw,watch:()=>Yw,unref:()=>Xw,toRefs:()=>$w,throttledComputed:()=>Ww,stxWatchMultiple:()=>Jw,stxWatchEffect:()=>Gw,stxWatch:()=>Yw,stxUnref:()=>Xw,stxToRefs:()=>$w,stxThrottledComputed:()=>Ww,stxShallowRef:()=>Zw,stxRef:()=>X7,stxIsRef:()=>l1,stxDebouncedComputed:()=>qw,stxComputed:()=>XX,shallowRef:()=>Zw,ref:()=>X7,processWatchDirectives:()=>ww,processComputedDirectives:()=>Qw,isRef:()=>l1,default:()=>OL,debouncedComputed:()=>qw,computed:()=>XX});function X7(X){let $=X,Z=new Set,Y={get value(){if(K1){let J=e7.get(Y);if(!J)J=new Set,e7.set(Y,J);J.add(K1)}return $},set value(J){if(!Object.is($,J)){$=J,Z.forEach((Q)=>Q(J));let G=e7.get(Y);if(G)G.forEach((Q)=>Q())}},subscribe(J){return Z.add(J),()=>Z.delete(J)},peek(){return $}};return Y}function l1(X){return X!==null&&typeof X==="object"&&"value"in X&&"subscribe"in X&&"peek"in X}function Xw(X){return l1(X)?X.value:X}function $w(X){let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=X7(X[Z]);return $}function Zw(X){return X7(X)}function XX(X){let $=typeof X==="function",Z=$?X:X.get,Y=$?void 0:X.set,J=$?Object.is:X.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let z=K.value;q.forEach((B)=>B(z))}};function U(){w.clear();let z=K1;K1=W,P8.push(W);try{return Z()}finally{P8.pop(),K1=z}}let K={get value(){if(K1){let z=e7.get(K);if(!z)z=new Set,e7.set(K,z);z.add(K1)}if(Q){let z=U();if(!J(G,z))G=z;Q=!1}return G},set value(z){if(Y)Y(z);else console.warn("Computed property is readonly")},subscribe(z){return q.add(z),()=>q.delete(z)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return K}function Yw(X,$,Z={}){let{immediate:Y=!1,deep:J=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,U=()=>{if(l1(X))return J?B5(X.value):X.value;return X()},K=()=>{if(!q||W)return;let _=U();if(w!==void 0&&Object.is(w,_)&&!J)return;let j=()=>{if($(_,w),w=J?B5(_):_,Q)B()};if(G==="sync")j();else if(G==="post")queueMicrotask(j);else Promise.resolve().then(j)},z=null;if(l1(X))z=X.subscribe(()=>K());else z=XX(X).subscribe(()=>K());if(Y)w=void 0,K();else w=U();let B=()=>{if(q=!1,z)z(),z=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function Jw(X,$,Z={}){let{immediate:Y=!1,once:J=!1}=Z,G=X.map((K)=>l1(K)?K.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let K=X.map((z)=>l1(z)?z.value:void 0);if($(K,G),G=[...K],J)U()},W=X.map((K)=>{if(l1(K))return K.subscribe(()=>q());return()=>{}});if(Y)q();let U=()=>{Q=!1,W.forEach((K)=>K())};return U.pause=()=>{w=!0},U.resume=()=>{w=!1},U}function Gw(X,$={}){let{flush:Z="pre"}=$,Y,J=!0,G=!1,Q=()=>{if(!J||G)return;if(Y)Y();let q=K1;K1=Q,P8.push(Q);try{Y=X()}finally{P8.pop(),K1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(J=!1,Y)Y()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function Qw(X,$={},Z){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return X.replace(Y,(J,G,Q)=>{try{let q=Function(...Object.keys($),`return ${Q}`)(...Object.values($));return $[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function ww(X,$={},Z){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return X.replace(Y,(J,G,Q)=>{return`
|
|
14012
14012
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
14013
14013
|
(function() {
|
|
14014
14014
|
// Watch implementation for ${G}
|
|
@@ -14020,9 +14020,9 @@ else {
|
|
|
14020
14020
|
}
|
|
14021
14021
|
})();
|
|
14022
14022
|
</script>
|
|
14023
|
-
`})}function B5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>B5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(B5(J),B5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(B5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=B5(X[Z]);return $}function qw(X,$=100){let Z=X7(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return XX(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function Ww(X,$=100){let Z=X7(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return XX(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var K1=null,P8,e7,
|
|
14023
|
+
`})}function B5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>B5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(B5(J),B5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(B5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=B5(X[Z]);return $}function qw(X,$=100){let Z=X7(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return XX(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function Ww(X,$=100){let Z=X7(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return XX(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var K1=null,P8,e7,OL;var Kw=D(()=>{P8=[],e7=new WeakMap;OL={ref:X7,computed:XX,watch:Yw,watchMultiple:Jw,watchEffect:Gw,isRef:l1,unref:Xw,toRefs:$w,shallowRef:Zw,debouncedComputed:qw,throttledComputed:Ww,processComputedDirectives:Qw,processWatchDirectives:ww}});function $X(X,$){let Z={};for(let Y of X)Z[Y]=d1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=d1(G);return!0},has:(Y,J)=>(J in Z),deleteProperty:(Y,J)=>{return delete Z[J],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(Y,J)=>(J in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[J]()}:void 0})}function FL(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function _4(X,$){let Z=Object.keys(X),Y=$X(Z,(L)=>$?.[L]??X[L].getDefaultValue()),J=$X(Z,()=>[]),G=$X(Z,()=>!1),Q=$X(Z,()=>!1),w=$X(Z,()=>!1),q=d1(!1);async function W(L){w[L]=!0;let F=await X[L].validate(Y[L],Y);return J[L]=F,w[L]=!1,F.length===0}async function U(){q.set(!0);let L=await Promise.all(Z.map(W));return q.set(!1),L.every(Boolean)}function K(){for(let L of Z)Y[L]=$?.[L]??X[L].getDefaultValue(),J[L]=[],G[L]=!1,Q[L]=!1}function z(L){for(let F of Z)if(F in L)Y[F]=L[F],Q[F]=!0}function B(L,F){Y[L]=F,Q[L]=!0}function _(L,F=!0){if(G[L]=F,F)W(L)}function j(L){return{value:Y[L],errors:J[L],touched:G[L],dirty:Q[L],valid:J[L].length===0,validating:w[L]}}function H(L){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await U())await L(FL(Y,Z))}}return{values:Y,errors:J,touched:G,dirty:Q,get isValid(){return Z.every((L)=>J[L].length===0)},get isValidating(){return q()||Z.some((L)=>w[L])},get isDirty(){return Z.some((L)=>Q[L])},validate:U,validateField:W,reset:K,setValues:z,setFieldValue:B,setFieldTouched:_,getFieldState:j,handleSubmit:H}}var zw;var _w=D(()=>{A8();zw=_4});var Lw={};t(Lw,{v:()=>VL,useForm:()=>_4,processHasErrorsDirective:()=>Hw,processFormValidationDirectives:()=>AL,processErrorsDirective:()=>jw,processErrorDirective:()=>Bw,defineForm:()=>zw,Validator:()=>$7});class $7{rules=[];defaultValue="";addRule(X){let $=new $7;return $.rules=[...this.rules,X],$.defaultValue=this.defaultValue,$}required(X="This field is required"){return this.addRule({name:"required",message:X,validate:($)=>{if($===null||$===void 0)return X;if(typeof $==="string"&&$.trim()==="")return X;if(Array.isArray($)&&$.length===0)return X;return!0}})}email(X="Please enter a valid email"){return this.addRule({name:"email",message:X,validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||X}})}url(X="Please enter a valid URL"){return this.addRule({name:"url",message:X,validate:($)=>{if(!$)return!0;try{return new URL(String($)),!0}catch{return X}}})}min(X,$){let Z=$||`Must be at least ${X} characters`;return this.addRule({name:"min",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=X||Z}})}max(X,$){let Z=$||`Must be no more than ${X} characters`;return this.addRule({name:"max",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=X||Z}})}length(X,$,Z){let Y=Z||`Must be between ${X} and ${$} characters`;return this.addRule({name:"length",message:Y,validate:(J)=>{if(!J)return!0;let G=String(J).length;return G>=X&&G<=$||Y}})}pattern(X,$="Invalid format"){return this.addRule({name:"pattern",message:$,validate:(Z)=>{if(!Z)return!0;return X.test(String(Z))||$}})}hasUppercase(X="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,X)}hasLowercase(X="Must contain a lowercase letter"){return this.pattern(/[a-z]/,X)}hasNumber(X="Must contain a number"){return this.pattern(/\d/,X)}hasSpecial(X="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,X)}alphanumeric(X="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,X)}startsWithLetter(X="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,X)}noSpaces(X="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:X,validate:($)=>{if(!$)return!0;return!String($).includes(" ")||X}})}number(X="Must be a number"){let $=this.addRule({name:"number",message:X,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||X}});return $.defaultValue=0,$}integer(X="Must be a whole number"){return this.addRule({name:"integer",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number.isInteger(Number($))||X}})}positive(X="Must be a positive number"){return this.addRule({name:"positive",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)>0||X}})}negative(X="Must be a negative number"){return this.addRule({name:"negative",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)<0||X}})}minValue(X,$){let Z=$||`Must be at least ${X}`;return this.addRule({name:"minValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=X||Z}})}maxValue(X,$){let Z=$||`Must be no more than ${X}`;return this.addRule({name:"maxValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=X||Z}})}between(X,$,Z){let Y=Z||`Must be between ${X} and ${$}`;return this.addRule({name:"between",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;let G=Number(J);return G>=X&&G<=$||Y}})}matches(X,$){let Z=$||`Must match ${X}`;return this.addRule({name:"matches",message:Z,validate:(Y,J)=>{if(!J)return!0;return Y===J[X]||Z}})}oneOf(X,$){let Z=$||`Must be one of: ${X.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return X.includes(Y)||Z}})}notOneOf(X,$){let Z=$||`Cannot be one of: ${X.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return!X.includes(Y)||Z}})}date(X="Must be a valid date"){return this.addRule({name:"date",message:X,validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||X}})}before(X,$){let Z=new Date(X),Y=$||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))<Z||Y}})}after(X,$){let Z=new Date(X),Y=$||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))>Z||Y}})}custom(X,$="Invalid value"){return this.addRule({name:"custom",message:$,validate:X})}async(X,$="Invalid value"){return this.addRule({name:"async",message:$,async:!0,validate:X})}when(X,$){let Z=new $7;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let Y of $.getRules())Z.rules.push({...Y,validate:(J,G)=>{if(!X(J,G||{}))return!0;return Y.validate(J,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default(X){let $=new $7;return $.rules=[...this.rules],$.defaultValue=X,$}async validate(X,$){let Z=[];for(let Y of this.rules){let J=await Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}validateSync(X,$){let Z=[];for(let Y of this.rules){if(Y.async)continue;let J=Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}}function Bw(X,$,Z){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
|
|
14024
14024
|
`)}catch{return""}})}function jw(X,$,Z){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>Q.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
|
|
14025
|
-
`)}catch{return""}})}function Hw(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function
|
|
14025
|
+
`)}catch{return""}})}function Hw(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function AL(X,$,Z){let Y=X;return Y=Bw(Y,$,Z),Y=jw(Y,$,Z),Y=Hw(Y,$,Z),Y}var VL;var Ow=D(()=>{_w();VL=new $7});var Aw={};t(Aw,{processXElementDirectives:()=>RL,hasXElementDirectives:()=>Vw,generateXElementRuntime:()=>Fw});function Fw(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
14026
14026
|
(function() {
|
|
14027
14027
|
'use strict';
|
|
14028
14028
|
|
|
@@ -14306,9 +14306,9 @@ else {
|
|
|
14306
14306
|
// Expose for manual initialization
|
|
14307
14307
|
window.XElement = XElement;
|
|
14308
14308
|
})();
|
|
14309
|
-
</script>`}function Vw(X){return/\bx-data(?:\s|=)/.test(X)}function
|
|
14309
|
+
</script>`}function Vw(X){return/\bx-data(?:\s|=)/.test(X)}function RL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!Vw(Y))return Y;let J=Z[0]?.trim()||Fw(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
|
|
14310
14310
|
`+Y.slice(G);return Y+`
|
|
14311
|
-
`+J}var Rw={};t(Rw,{rewriteImagesWithSiblings:()=>
|
|
14311
|
+
`+J}var Rw={};t(Rw,{rewriteImagesWithSiblings:()=>NL});import T1 from"path";async function NL(X,$){let Z=$.formats??ML;if(!$.publicDir)return X;let Y=EL(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec(X))!==null){let K=w[0],z=K.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(DL(w.index,Y))continue;Q.push({idx:w.index,length:K.length,src:z[1],raw:K})}if(Q.length===0)return X;let q=await Promise.all(Q.map(async(K)=>{let z=await kL(K.src,$.publicDir,Z);return{match:K,sources:z}}));for(let{match:K,sources:z}of q){if(z.length===0)continue;let _=`<picture>${z.map((j)=>`<source type="${j.mime}" srcset="${yL(j.url)}">`).join("")}${K.raw}</picture>`;J.push({start:K.idx,end:K.idx+K.length,replacement:_})}if(J.length===0)return X;let W="",U=0;for(let K of J)W+=X.slice(U,K.start),W+=K.replacement,U=K.end;return W+=X.slice(U),W}async function kL(X,$,Z){if(!IL(X))return[];let Y=T1.extname(X).toLowerCase();if(!TL.has(Y))return[];if(!X.startsWith("/"))return[];let J=T1.join($,X.slice(1)),G=T1.dirname(J),Q=T1.basename(J,Y),w=T1.resolve(G),q=T1.resolve($);if(!w.startsWith(q))return[];let W=T1.posix.dirname(X),U=Z.map(async(z)=>{let B=T1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:T1.posix.join(W,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(U)).filter((z)=>z!==null)}function IL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function EL(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function DL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function yL(X){return X.replace(/&/g,"&").replace(/"/g,""")}var TL,ML;var Tw=D(()=>{TL=new Set([".jpg",".jpeg",".png",".gif"]),ML=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Mw=()=>{};function B4(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}var Nw=D(()=>{Mw()});var kw={};t(kw,{injectPwaTags:()=>bL,generateThemeColorMeta:()=>PL,generateSwRegistrationScript:()=>SL,generatePwaTags:()=>v8,generateManifestLink:()=>CL});function v8(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.manifest,Y=$.icons?.outputDir?`/${$.icons.outputDir}`:"/pwa-icons",J=B4(X),G=`
|
|
14312
14312
|
<!-- stx PWA Meta Tags -->
|
|
14313
14313
|
<link rel="manifest" href="/manifest.json">
|
|
14314
14314
|
<meta name="theme-color" content="${j4(Z?.themeColor||"#000000")}">
|
|
@@ -14352,9 +14352,9 @@ if ('serviceWorker' in navigator) {
|
|
|
14352
14352
|
});
|
|
14353
14353
|
}
|
|
14354
14354
|
</script>
|
|
14355
|
-
<!-- End stx PWA -->`,G}function
|
|
14355
|
+
<!-- End stx PWA -->`,G}function bL(X,$){let Z=$.pwa;if(!Z?.enabled||Z.autoInject===!1)return X;if(X.includes("<!-- stx PWA Meta Tags -->"))return X;if(!X.includes("</head>")){let J=X.lastIndexOf("</body>");if(J!==-1){let G=v8($);return X.slice(0,J)+G+`
|
|
14356
14356
|
`+X.slice(J)}return X+v8($)}let Y=v8($);return X.replace("</head>",`${Y}
|
|
14357
|
-
</head>`)}function
|
|
14357
|
+
</head>`)}function SL(X){if(!X.pwa?.enabled)return"";return`<script>
|
|
14358
14358
|
if ('serviceWorker' in navigator) {
|
|
14359
14359
|
window.addEventListener('load', function() {
|
|
14360
14360
|
navigator.serviceWorker.register('/${B4(X)}')
|
|
@@ -14366,25 +14366,25 @@ if ('serviceWorker' in navigator) {
|
|
|
14366
14366
|
});
|
|
14367
14367
|
});
|
|
14368
14368
|
}
|
|
14369
|
-
</script>`}function
|
|
14369
|
+
</script>`}function CL(){return'<link rel="manifest" href="/manifest.json">'}function PL(X){return`<meta name="theme-color" content="${j4(X)}">`}function j4(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Iw=D(()=>{Nw()});import vL from"fs";import E0 from"path";function Ew(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function xL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(w)=>w+9<=Z&&X[w]==="<"&&X[w+1]==="/"&&(X[w+2]==="s"||X[w+2]==="S")&&(X[w+3]==="c"||X[w+3]==="C")&&(X[w+4]==="r"||X[w+4]==="R")&&(X[w+5]==="i"||X[w+5]==="I")&&(X[w+6]==="p"||X[w+6]==="P")&&(X[w+7]==="t"||X[w+7]==="T")&&(X[w+8]===">"||/\s/.test(X[w+8]));while(Y<Z){let w=X[Y];if(Q(Y))return Y;if(w==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
|
|
14370
14370
|
`,Y+2),Y===-1)return-1;Y+=1,J=!0;continue}if(w==="/"&&X[Y+1]==="*"){let q=X.indexOf("*/",Y+2);if(q===-1)return-1;Y=q+2,J=!0;continue}if(w==="/"&&J){let q=Y+1,W=!1;while(q<Z){let U=X[q];if(U==="\\"){q+=2;continue}if(U==="[")W=!0;else if(U==="]")W=!1;else if(U==="/"&&!W){q++;break}else if(U===`
|
|
14371
14371
|
`){q=-1;break}q++}if(q===-1){Y++,J=!1;continue}while(q<Z&&/[a-z]/.test(X[q]))q++;Y=q,J=!1;continue}if(w==="'"||w==='"'){let q=w;Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===q){Y++;break}if(X[Y]===`
|
|
14372
|
-
`)break;Y++}J=!1;continue}if(w==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(w==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))J=!1;else J=!0;Y++}return-1}function Z7(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function Dw(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function
|
|
14372
|
+
`)break;Y++}J=!1;continue}if(w==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(w==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))J=!1;else J=!0;Y++}return-1}function Z7(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function Dw(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function fL(X){let $=Z7(X,"data-stx-runtime");if(!$)return X;let Z=Dw(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=Dw(J);if(G===-1)return Y+`
|
|
14373
14373
|
`+J;return J.slice(0,G)+Y+`
|
|
14374
|
-
`+J.slice(G)}async function V0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=L1(X);let G=!$.__stxProcessingDepth;if(G)h6($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!v7()&&!PX())&&Z&&Z.endsWith(".stx"))x9(X,Z);try{return await qZ.timeAsync("template-processing",async()=>{let Q=await
|
|
14374
|
+
`+J.slice(G)}async function V0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=L1(X);let G=!$.__stxProcessingDepth;if(G)h6($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!v7()&&!PX())&&Z&&Z.endsWith(".stx"))x9(X,Z);try{return await qZ.timeAsync("template-processing",async()=>{let Q=await gL(X,$,Z,Y,J);if(G)Q=Y4(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let w=Y.app?.head||{},W=($.__stx_runtime_head||null)??A9(),U=($.__stx_head_raw||"").trim(),K,z=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(z)K=z[1].trim(),U=U.replace(z[0],"").trim();let B=$.__sections?.title,_=W.title||K||B,j=!W.title&&(!!K||!!B),H={...w,..._&&{title:_},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,U].filter(Boolean).join(`
|
|
14375
14375
|
`),...W.htmlAttrs&&{htmlAttrs:HG(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},O=C3(Q);if(Q=VG(Q,H,{...j&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),O)Q=FG(Q,w),Q=LG(Q,H.htmlAttrs);let L=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(L&&Q.includes("<head")){let A=L[1],R=O7(A);Q=Q.replace(/<head\b[^>]*>/i,(T)=>`${T}
|
|
14376
14376
|
<meta name="stx-layout" content="${Ew(A)}">
|
|
14377
|
-
<meta name="stx-layout-group" content="${Ew(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?P7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=bX(Q,(R,T)=>`<body${T} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=OG(Q);let w=Y.app?.colorMode;if(w)Q=KG(Q,w);Q=_G(Q),Q=
|
|
14377
|
+
<meta name="stx-layout-group" content="${Ew(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?P7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=bX(Q,(R,T)=>`<body${T} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=OG(Q);let w=Y.app?.colorMode;if(w)Q=KG(Q,w);Q=_G(Q),Q=fL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => (wQ(),QQ))),q=Y.storesDir,W=await w(q);if(W){let U=`<script data-stx-stores>${W}</script>`,K=Z7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
|
|
14378
14378
|
`+U+Q.slice(K.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (zQ(),KQ))),q=await w(Q);if(q){let W=Z7(Q,"data-stx-stores")||Z7(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
|
|
14379
14379
|
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (jQ(),BQ))),q=Y.composablesDir,W=await w(q);if(W){let U=`<script data-stx-composables>${W}</script>`,K=Z7(Q,"data-stx-stores")||Z7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
|
|
14380
|
-
`+U+Q.slice(K.end)}}catch{}if(G)Q=zG(Q);if(G&&$.__stx_inject_css!==!1)Q=await J9(Q,void 0,Y.buildMode==="serve");if(G)Q=UG(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof gX)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new Y5(`Template processing failed: ${w}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(X1.log(q,{filePath:Z,context:$}),j9.logDetailedError(q,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw q;return _9.createFallbackContent("Template Processing",q)}}async function
|
|
14380
|
+
`+U+Q.slice(K.end)}}catch{}if(G)Q=zG(Q);if(G&&$.__stx_inject_css!==!1)Q=await J9(Q,void 0,Y.buildMode==="serve");if(G)Q=UG(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof gX)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new Y5(`Template processing failed: ${w}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(X1.log(q,{filePath:Z,context:$}),j9.logDetailedError(q,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw q;return _9.createFallbackContent("Template Processing",q)}}async function gL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},w=Q,q=X;await dL(Z,$),uL($,w),q=await x5(()=>xJ(q,$,Z,w),q,(F)=>{X1.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=Q1(q,D7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let U=W.tokens,K=(F)=>U.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>U[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,z),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=eJ(q),q=await $Q(q,Z,J);let B={};q=F3(q,B);let _={...$.__sections||{}},j="",H=DZ(EZ(X)),O=/@nolayout\b/.test(q)||H===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let L=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L)j=L[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(j=H,!/@section\s*\(/.test(q))q=`@section('content')
|
|
14381
14381
|
${q.trim()}
|
|
14382
14382
|
@endsection`}if(!j&&!O&&w.defaultLayout){let F=S3(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",R=E0.dirname(Z),T=w.layoutsDir?E0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let k=E0.join(R,"_layout.stx");if(await i(k)){A=k;break}let N=E0.dirname(R);if(N===R||N.length<T.length)break;R=N}if(A)j=A;else if(w.layoutsDir){let M=E0.isAbsolute(w.layoutsDir)?w.layoutsDir:E0.resolve(process.cwd(),w.layoutsDir),k=E0.join(M,`${w.defaultLayout}.stx`);if(await i(k))j=k}if(j&&!V)q=`@section('content')
|
|
14383
14383
|
${q.trim()}
|
|
14384
14384
|
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return _[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=Y0(A.trim(),$);if(R===void 0)return F;return _[V]=String(R??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))_[V]=A.replace("@parent",j5);else _[V]=A.trim();return""}),$.__sections=_,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return _[V]||A||""}),!("slot"in $)||$.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""});if(q=V3(q,B),j){let F=[],V=y1(q),A=Q1(V.output,b5,(R,T)=>`\x00STX_ORPHAN_STYLE_${T}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,T,M)=>{let k=T==="SCRIPT"?V.scripts[Number(M)]:A.tokens[Number(M)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
|
|
14385
14385
|
`);_.content=_.content?`${_.content}
|
|
14386
|
-
${R}`:R,$.__sections=_}}if(j)try{let F;if(E0.isAbsolute(j))F=j,J.add(j);else F=await x5(()=>H4(j,Z,Q,J),null,()=>{throw new Y5(`Failed to resolve layout path: ${j}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=
|
|
14387
|
-
${q}`,K(q)}catch(F){return X1.log(F instanceof Error?F:Error(String(F)),{layoutPath:j,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return K(await yw(q,$,Z,Q,J))}function
|
|
14386
|
+
${R}`:R,$.__sections=_}}if(j)try{let F;if(E0.isAbsolute(j))F=j,J.add(j);else F=await x5(()=>H4(j,Z,Q,J),null,()=>{throw new Y5(`Failed to resolve layout path: ${j}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=vL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let N=`Layout not found: ${j} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(X1.log(Error(N),{layoutPath:j,filePath:Z,available:k},"error"),console.error(`[stx] ${N}`),Q.debug)throw new Y5(N,Z);return q}let V=await x5(()=>Bun.file(F).text(),"",()=>{throw new Y5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},N=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,S,b)=>{return k[S]=b.trim(),""});for(let[C,S]of Object.entries(k))if(_[C]&&_[C].includes(j5)){let b=_[C].indexOf(j5);_[C]=_[C].slice(0,b)+S+_[C].slice(b+j5.length)}else if(!_[C])_[C]=S;let y={...$,__sections:_},I=`@layout('${A[1]}')${N}`;return await V0(I,y,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),T=F3(R,B),M={};return T=T.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,N,y)=>{return M[N]=y.trim(),`@slot('${N}')`}),T=T.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,N,y)=>{if(_[N]){let I=_[N];if(I.includes(j5)){let C=M[N]||"",S=I.indexOf(j5);I=I.slice(0,S)+C+I.slice(S+j5.length)}return I}return y||""}),T=hL(T,_),T=T.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""}),T=V3(T,B),$.__originalFilePath=Z,q=await yw(T,$,F,Q,J),q=`<!-- stx-layout: ${j} -->
|
|
14387
|
+
${q}`,K(q)}catch(F){return X1.log(F instanceof Error?F:Error(String(F)),{layoutPath:j,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return K(await yw(q,$,Z,Q,J))}function hL(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function uL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function dL(X,$){await x5(()=>nJ(X,$),void 0,(Z)=>{X1.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function mL(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (i5(),Q8)));await q(Q,$,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));X1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function lL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await e("stx/expressions",()=>Promise.resolve().then(() => (w1(),GZ)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return X1.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function yw(X,$,Z,Y,J){let G=X,Q=Y;if(await mL(G,$,Z),G=await lL(G,$,Z),G=await yJ(G,$,Z),G=await bJ(G,$,Z),G=await JY(G,$,Z,Q),L1(G))G=a3(G,$),G=e3(G,$);G=t3(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (v9(),P9)));G=w(G,$),G=j3(G,$,Z,Q),G=await JG(G,$,Z,Q,J),G=await G8(G,$,Z,Q,J),G=C2(G,$,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => LQ));G=q(G,$,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => FQ));G=W(G,$,Z);let{processTransitionDirectives:U,processTransitionAttributes:K}=await e("stx/transitions",()=>Promise.resolve().then(() => TQ));G=U(G,$,Z),G=K(G);let{processErrorBoundaryDirectives:z}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => NQ));G=z(G,$,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => kQ));G=B(G,$,Z);let{processAsyncDirectives:_}=await e("stx/async-components",()=>Promise.resolve().then(() => yQ));G=_(G,$,Z);let{processKeepAliveDirectives:j}=await e("stx/keep-alive",()=>Promise.resolve().then(() => SQ));G=j(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:O,processInfiniteListDirectives:L}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (gQ(),fQ)));G=H(G,$,Z),G=O(G,$,Z),G=L(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => (eQ(),tQ)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await e("stx/computed",()=>Promise.resolve().then(() => (Kw(),Uw)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:T}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (Ow(),Lw)));G=T(G,$,Z);let{processHeadDirective:M,processTitleDirective:k,processMetaDirective:N,resetHead:y}=await e("stx/head",()=>Promise.resolve().then(() => (g7(),T9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)y();let I=M(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
|
|
14388
14388
|
`;if(G=k(G,$),G=N(G,$),G=hJ(G),G=L9(G,$),G=ZY(G),G=PJ(G),G=await O3(G,$,Z,Q,J),G=await G8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=d6(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=Y4(G),G=G5(G,$,Z),G=O9(G,$),G=F9(G,$),G=nX(G,$),G=BY(G,$),G=jY(G,$),G=await vZ(G,$,Z,Q),G=await bw(G,$,Z),G=await VY(G,$,Z,Q),G=k2(G,$,Z,Q),G=dJ(G,$,Z,Q),G=mJ(G,$,Z),G=lJ(G,$,Z,Q),G=eZ(G,$,Z,Q),G=$4(G,$),G=Z4(G),G=YQ(G),!Q.skipEventDirectives)G=O6(G,$,Z);if(G=CZ(G,$,Z),Q.debug){let r=/\bx-data\s*=/.test(G),a=E8(X);if(r&&a)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
14389
14389
|
Both work on the same page, but they manage separate scopes.
|
|
14390
14390
|
Prefer signals (state/derived/effect) for new components.`)}G=oJ(G,$),G=await b1(G,$,Z),G=JQ(G),G=GQ(G),G=MZ(G);let{processXElementDirectives:C}=await e("stx/x-element",()=>Promise.resolve().then(() => Aw));G=C(G);let S=$.__originalFilePath||Z,b=a1($);if(G=await X4(G,Q,S,b),G=WY(G,$),G=await fJ(G,$,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:a}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Tw(),Rw)));G=await a(G,{publicDir:r})}if(Q.seo?.enabled)G=cJ(G,$,Q);let P=(r,a,U0=!0)=>{if(!a)return r;let M0=a.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),w0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(M0&&w0){if(U0)r=r.replace(w0[0],M0[0]);if(a=a.replace(M0[0],"").trim(),!a)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${a}
|
|
@@ -14398,13 +14398,13 @@ ${VZ()}
|
|
|
14398
14398
|
`+v}else G=G.replace("</head>",`${a}
|
|
14399
14399
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
14400
14400
|
${a}`);else G=a+`
|
|
14401
|
-
`+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (o7(),D8))),a=[];for(let U0 of r(G)){if(!/\bserver\b/i.test(U0.attrs))continue;let M0=U0.start+U0.fullMatch.indexOf(">")+1,w0=
|
|
14402
|
-
`+G.slice(U0)}$.__stx_event_bindings=[]}}if(!uG(G)&&dG(G))G=await M8(G,Q);if(Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=tZ(G,$.cspNonce);return G}var j5="<!--PARENT_CONTENT_PLACEHOLDER-->";var oX=D(()=>{G9();w9();$5();L$();AZ();NZ();IZ();f$();O$();m$();y5();PZ();xZ();mX();XY();YY();QY();UY();F1();g7();w1();HY();AY();DJ();CJ();H3();L4();gJ();P5();uJ();R3();T0();rJ();aJ();XG();GG();k3();D3();AG();o7();U3();ZQ();J4();Q4();F0();f9();s$();V7();N8();N8();J4();Q4()});var Sw=()=>{};var O4={};t(O4,{renderSlot:()=>Pw,processSlots:()=>xw,parseSlots:()=>Cw,parseSlotElement:()=>
|
|
14403
|
-
`)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let _=U[2].split(",").map((j)=>{let H=j.trim().split(":");return H[H.length-1].trim()});for(let j of _)if(j&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(j)&&!Z.has(j))$.push(j),Z.add(j);return}let K=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Z.has(_))$.push(_),Z.add(_);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Z.has(_))$.push(_),Z.add(_);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Z.has(_))$.push(_),Z.add(_)}};while(J<G){if(q())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){w();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))W();J++}return $}function
|
|
14401
|
+
`+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (o7(),D8))),a=[];for(let U0 of r(G)){if(!/\bserver\b/i.test(U0.attrs))continue;let M0=U0.start+U0.fullMatch.indexOf(">")+1,w0=xL(G,M0);if(w0===-1)continue;let E=w0+9;while(E<G.length&&/\s/.test(G[E]))E++;a.push({start:U0.start,end:E})}for(let U0=a.length-1;U0>=0;U0--){let{start:M0,end:w0}=a[U0];G=G.substring(0,M0)+G.substring(w0)}}let c=K8(G,Z);if(c.hasScoped)G=c.html;let j0=$.__stx_event_bindings||[],c0=!1,M1=[],O5=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:F5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (o7(),D8)));for(let r of F5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M1.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:a,content:U0}of M1){c0=!0;let M0=U0;G4(U0,Z,Y.strict,$.__originalFilePath);let w0=await t1(U0,{eventBindings:j0,attrs:a,hasColonDirectives:O5,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});G=G.replace(r,()=>w0)}if(c0)$.__stx_event_bindings=[];if(!c0&&$.__stxProcessingDepth===1){let r=$.__stx_event_bindings||[];if(r.length>0){let a=d$(r);if(a){let U0=G.lastIndexOf("</body>");G=U0===-1?G+a:G.slice(0,U0)+a+`
|
|
14402
|
+
`+G.slice(U0)}$.__stx_event_bindings=[]}}if(!uG(G)&&dG(G))G=await M8(G,Q);if(Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=tZ(G,$.cspNonce);return G}var j5="<!--PARENT_CONTENT_PLACEHOLDER-->";var oX=D(()=>{G9();w9();$5();L$();AZ();NZ();IZ();f$();O$();m$();y5();PZ();xZ();mX();XY();YY();QY();UY();F1();g7();w1();HY();AY();DJ();CJ();H3();L4();gJ();P5();uJ();R3();T0();rJ();aJ();XG();GG();k3();D3();AG();o7();U3();ZQ();J4();Q4();F0();f9();s$();V7();N8();N8();J4();Q4()});var Sw=()=>{};var O4={};t(O4,{renderSlot:()=>Pw,processSlots:()=>xw,parseSlots:()=>Cw,parseSlotElement:()=>rL,extractSlotContent:()=>aL,applySlots:()=>tL});function cL(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let w=X.indexOf(">",Y+G.length);if(w!==-1){if(Z--,Z===0)return w+1;Y=w+1;continue}}Y++}return Z===0?Y:-1}function iL(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function nL(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=iL(X,G+1);if(Q===-1)break;let w=X.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){J=Q;continue}let W=q[1]==="/",U=q[2].toLowerCase();if(W){let z=Z.lastIndexOf(U);if(z!==-1)Z.splice(z);J=Q;continue}if(U==="template"&&Z.length===0){let z=w.match(Y);if(z){let B=cL(X,Q);if(B!==-1){let _=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:_,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(w)&&!pL.has(U)){if(Z.push(U),U==="script"||U==="style"){let z=X.toLowerCase().indexOf(`</${U}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function Cw(X){let $={default:"",named:new Map},Z=X,Y=nL(X);for(let q of Y)$.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});Y.sort((q,W)=>W.start-q.start);for(let q of Y)Z=Z.slice(0,q.start)+Z.slice(q.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,U,K,z,B]=Q,_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+j).trim(),O=`<${W}${H?" "+H:""}>${B}</${W}>`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:O})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,U,K,z]=Q,B=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=(B+_).trim(),H=`<${W}${j?" "+j:""} />`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:H})}J.sort((q,W)=>W.start-q.start);for(let q of J){let W=$.named.get(q.slotName);if(W)W.content+=q.element;else $.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return $.default=Z.trim(),$}function rL(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:w}}async function Pw(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,U]=q.split(":").map((z)=>z.trim()),K=U||W;if($[W]!==void 0)Q[K]=$[W]}}else Q[G]=$;J=sL(J,Q)}return J}function sL(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=vw(J,$);return a0(String(G??""))}catch{return`{{ ${Y} }}`}})}function vw(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],w=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!q0(X))return;return W0(X,Object.keys($))(...Object.values($))}catch{return}}async function xw(X,$,Z){let Y=X;Y=await oL(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let U=$.named.get(w),K=W?.trim()||"",z=q||"",B={},_=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,j;while((j=_.exec(z))!==null){let H=j[1],O=j[2];B[H]=vw(O,Z)}return await Pw(U,B,K,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return $.default||q}),Y}async function oL(X,$,Z){let Y=[],J=[];X.replace($,(w,...q)=>{let W=q[q.length-2];return J.push({match:w,index:W}),Y.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(Y),Q=X;for(let w=J.length-1;w>=0;w--){let{match:q,index:W}=J[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function aL(X){let $=Cw(X);return{defaultSlot:$.default,namedSlots:$.named}}async function tL(X,$,Z,Y){return await xw(X,{default:$,named:Z},Y)}var pL;var F4=D(()=>{w1();F0();pL=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});import eL from"fs";import g from"path";function $O(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function fw(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function ZO(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function e1(X){return!ZO(X)}function X5(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function YO(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(U)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===U){J++;return}J++}},w=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let U=1;while(J<G&&U>0)if(X[J]==="{")U++,J++;else if(X[J]==="}")U--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")w();else J++;continue}J++}},q=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
|
|
14403
|
+
`)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let _=U[2].split(",").map((j)=>{let H=j.trim().split(":");return H[H.length-1].trim()});for(let j of _)if(j&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(j)&&!Z.has(j))$.push(j),Z.add(j);return}let K=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Z.has(_))$.push(_),Z.add(_);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Z.has(_))$.push(_),Z.add(_);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Z.has(_))$.push(_),Z.add(_)}};while(J<G){if(q())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){w();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))W();J++}return $}function JO(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function GO(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function QO(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let q=X[Y];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let w=X.slice(Q+1,J);for(let q of JO(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=GO(W);if(U===-1)continue;let K=W.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(K))continue;if($[K]!==void 0)continue;let z=W.slice(U+1).trim();if(!z)continue;try{let B=Object.keys($),_=Function(...B,`"use strict"; return (${z});`);$[K]=_(...B.map((j)=>$[j]))}catch{}}}catch{}}async function Y8(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),w=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Z.__importedComponents;if(q){for(let H of[G,G.toLowerCase(),Q(G),w(G)])if(q.has(H))return!0}let W=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${w(G)}.stx`])],U=typeof J.root==="string"?g.resolve(J.root):void 0,K=U??g.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},_=Z.__originalFilePath;if(_)B(g.join(g.dirname(_),"components"));B($),B(J._rootComponentsDir),B(g.join(g.dirname(Y),"components")),B(J.componentsDir);let j=J._pluginComponentDirs;if(Array.isArray(j))for(let H of j)B(typeof H==="string"?H:null);if(U)B(g.resolve(U,"resources/views/components")),B(g.resolve(U,"resources/components")),B(g.resolve(U,"src/components")),B(g.resolve(U,"components"));if(G.startsWith("./")||G.startsWith("../"))return i(g.resolve(g.dirname(Y),`${G}.stx`));for(let H of z){let O=g.isAbsolute(H)?H:g.resolve(K,H);for(let L of W)if(await i(g.join(O,L)))return!0}return!1}function wO(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function qO(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function WO(X){let $=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function U5(X,$,Z,Y,J,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (i5(),Q8))),U=w??new Set;if(U.has(X))return`[Circular component reference: ${X}]`;let K=new Set(U);K.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&wO(z)?z:"";try{let _=(E)=>E.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(E)=>E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,O=null,L=J.__importedComponents;if(L){let E=[H,H.toLowerCase(),_(H),j(H)];for(let v of E)if(L.has(v)){O=L.get(v);break}}let F=[];if(!O){let E=[`${H}.stx`,`${_(H)}.stx`,`${j(H)}.stx`],v=[...new Set(E)],d=J.__originalFilePath,f=[];if(d){let z0=g.join(g.dirname(d),"components");f.push(z0)}if(Y)f.push(Y);let s=Q._rootComponentsDir;if(typeof s==="string"&&!f.includes(s))f.push(s);let G0=g.join(g.dirname(G),"components");if(!f.includes(G0))f.push(G0);if(Q.componentsDir&&Q.componentsDir!==Y&&!f.includes(Q.componentsDir))f.push(Q.componentsDir);let s0=Q._pluginComponentDirs;if(Array.isArray(s0)){for(let z0 of s0)if(typeof z0==="string"&&!f.includes(z0))f.push(z0)}let S0=typeof Q.root==="string"?g.resolve(Q.root):void 0,f0=S0??g.dirname(G),o0=[];if(S0)o0.push(g.resolve(S0,"resources/views/components")),o0.push(g.resolve(S0,"resources/components")),o0.push(g.resolve(S0,"src/components")),o0.push(g.resolve(S0,"components"));o0.push(g.resolve(import.meta.dir,"components"));for(let z0 of o0)if(!f.includes(z0))f.push(z0);let V5=[...new Set(f.map((z0)=>{if(!z0)return z0;return g.isAbsolute(z0)?z0:g.resolve(f0,z0)}))];f.length=0,f.push(...V5);let N1=`${H}\x00${G}\x00${V5.join("\x00")}`,k1=f8.get(N1);if(k1)if(await i(k1))O=k1;else f8.delete(N1);if(!O&&(H.startsWith("./")||H.startsWith("../")))O=g.resolve(g.dirname(G),`${H}.stx`),F.push(O);else if(!O)for(let z0 of f){if(!z0)continue;for(let Z1 of v){let n=g.join(z0,Z1);if(F.push(n),await i(n)){O=n;break}}if(O)break;if(!O)try{let Z1=await import("fs");if(!Z1.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let Y1=8,i1=[{path:z0,depth:0}];while(i1.length>0&&!O){let z1=i1.pop();if(z1.depth>=Y1)continue;let GX;try{GX=Z1.readdirSync(z1.path,{withFileTypes:!0})}catch{continue}for(let QX of GX){if(!QX.isDirectory())continue;if(QX.name==="node_modules"||QX.name.startsWith("."))continue;let Y2=g.join(z1.path,QX.name);for(let XW of v){let z$=g.join(Y2,XW);if(F.push(z$),await i(z$)){O=z$;break}}if(O)break;i1.push({path:Y2,depth:z1.depth+1})}}}catch{}if(O)break}if(O)f8.set(N1,O)}if(!O||!await i(O)){let E=F.length>0?`
|
|
14404
14404
|
Searched paths:
|
|
14405
14405
|
${F.map((v)=>` - ${v}`).join(`
|
|
14406
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${E}`}q.add(O);let V;if(x8.has(O))V=x8.get(O);else try{V=await Bun.file(O).text(),x8.set(O,V)}catch(E){return`[Error loading component: ${E instanceof Error?E.message:String(E)}]`}let A=new Set(["__originalFilePath","__importedComponents",MX]),R={};for(let[E,v]of Object.entries(J))if(!E.startsWith("__")||A.has(E))R[E]=v;let{extractSlotContent:T}=await e("stx/slots",()=>Promise.resolve().then(() => (F4(),O4))),M=T(Z),k={};if(M.defaultSlot?.trim())k.default=M.defaultSlot;for(let[E,v]of M.namedSlots)k[E]=v.content;let N={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:K,__sections:{},__stx_signals_gate:L1(V)||
|
|
14407
|
-
`)}`}if(Z&&c.includes("{{ text || slot }}"))c=c.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await e("stx/slots",()=>Promise.resolve().then(() => (F4(),O4))),{defaultSlot:c0,namedSlots:M1}=M;c=await j0(c,c0,M1,N);let O5=b.some((E)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(E)),F5=
|
|
14406
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${E}`}q.add(O);let V;if(x8.has(O))V=x8.get(O);else try{V=await Bun.file(O).text(),x8.set(O,V)}catch(E){return`[Error loading component: ${E instanceof Error?E.message:String(E)}]`}let A=new Set(["__originalFilePath","__importedComponents",MX]),R={};for(let[E,v]of Object.entries(J))if(!E.startsWith("__")||A.has(E))R[E]=v;let{extractSlotContent:T}=await e("stx/slots",()=>Promise.resolve().then(() => (F4(),O4))),M=T(Z),k={};if(M.defaultSlot?.trim())k.default=M.defaultSlot;for(let[E,v]of M.namedSlots)k[E]=v.content;let N={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:K,__sections:{},__stx_signals_gate:L1(V)||qO(Z)};QO(V,N);let y=V,I=h5(y);if(I)y=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...V.matchAll(C)],b=[],P=S.some((E)=>/\bserver\b/.test(E[1]||"")&&/\bcache\b/.test(E[1]||""))&&S.every((E)=>/\bserver\b/.test(E[1]||"")),x=null,m=null;if(P){let E=$O({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(E!==null){x=`${O}\x00${E}`;let v=V4.get(x);if(v){for(let d of v.dependencies)q.add(d);return v.output}m=new Set(q)}}for(let E of S){let v=E[1]||"",d=E[2]||"",f=v.includes("server");if(e1(v)&&d.trim())d=X5(d);if(f&&d)try{await W(d,N,O)}catch(G0){}if(!f){let G0=d.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),s0=G0.includes("{{")&&G0.includes("}}"),S0=G0.includes("{!!")&&G0.includes("!!}");if(s0||S0)G0=EX(G0,N);let f0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${f0}>${G0}</script>`)}}let l=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),Q0=l?l[1]:"",l0=l?l[2]:"",R0="",r0=Q0&&/\bscoped\b/i.test(Q0);if(l)R0=`<style${Q0}>${l0}</style>`;let c=y;if(c=c.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),l)c=c.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let E=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(c=c.replace(E,(d,f)=>{let s=f.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(s)v.push(`<style${s[1]}>${s[2]}</style>`);return""}),c=c.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)R0=`${R0}${v.join(`
|
|
14407
|
+
`)}`}if(Z&&c.includes("{{ text || slot }}"))c=c.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await e("stx/slots",()=>Promise.resolve().then(() => (F4(),O4))),{defaultSlot:c0,namedSlots:M1}=M;c=await j0(c,c0,M1,N);let O5=b.some((E)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(E)),F5=WO(b);if(F5.length>0)N.__stx_client_signal_names=F5;let r={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:g.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:O5||b.length===0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let a=await V0(c,N,O,r,q),U0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let E of a.matchAll(/\{\{([\s\S]*?)\}\}/g))U0.add(E[1].trim());if(U0.size>0)J.__stx_preserved_client_expressions=[...U0];let M0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++XO}_${Math.random().toString(36).slice(2,8)}`,w0=a;if(O5){let E="";if(Object.keys($).length>0)try{E=` data-stx-props="${fw(JSON.stringify($))}"`}catch{}let v=B?` stx-hydrate="${fw(B)}"`:"";w0=`<div data-stx-scope="${M0}"${E}${v}>${a}</div>`;let d=await Promise.all(b.map(async(f)=>{let s=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!s)return f;let[,G0,s0]=s,S0=AX(s0,{filePath:O,projectRoot:process.cwd()}),f0=S0.code,o0=RX(S0.styles);f0=D5(f0).code;let{hasUserImports:V5,bundleClientScript:N1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (k7(),N7)));if(V5(f0))f0=await N1(f0,O,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:k1}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (o7(),D8)));f0=f0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(z1,GX)=>k1(GX));let z0=h0(f0),Z1=YO(z0),n=`function(__scopeId) {
|
|
14408
14408
|
${k5("const",[...w6,...Z1],z0)}
|
|
14409
14409
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
14410
14410
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
@@ -14438,7 +14438,7 @@ finally {
|
|
|
14438
14438
|
`+R0}else{if(R0)w0+=`
|
|
14439
14439
|
`+R0;if(b.length>0){let E=N.__stx_event_bindings||[],v=a1(N),d=await Promise.all(b.map(async(f)=>{let s=f.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!s)return f;return await t1(s[1],{eventBindings:E,templateContent:w0,filePath:O,projectRoot:process.cwd(),serverData:v})}));w0+=`
|
|
14440
14440
|
`+d.join(`
|
|
14441
|
-
`),N.__stx_event_bindings=[]}}if(r0){let E=K8(w0,O);if(E.hasScoped)w0=E.html}if(x&&m)V4.set(x,{output:w0,dependencies:[...q].filter((E)=>!m.has(E))});return w0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{U.delete(X)}}async function i(X){return Bun.file(X).exists()}function A4(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function H4(X,$,Z,Y){let J=await
|
|
14441
|
+
`),N.__stx_event_bindings=[]}}if(r0){let E=K8(w0,O);if(E.hasScoped)w0=E.html}if(x&&m)V4.set(x,{output:w0,dependencies:[...q].filter((E)=>!m.has(E))});return w0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{U.delete(X)}}async function i(X){return Bun.file(X).exists()}function A4(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function H4(X,$,Z,Y){let J=await UO(X,$,Z,Y);if(J===null)return null;let G=A4(J,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((w)=>typeof w==="string"&&w.length>0);for(let w of Q){let q=g.isAbsolute(w)?w:g.resolve(process.cwd(),w);if(A4(J,q))return g.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function UO(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=g.dirname($),G=process.cwd();if(X.startsWith("/")){let z=g.join(G,X),B=A4(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await i(B)&&Y)Y.add(B);return B}let Q=g.join(J,X);if(await i(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await i(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let w="",q=g.resolve(J),W=process.cwd();for(let z=0;z<10;z++){let B=g.join(q,"layouts"),_=!1;try{_=eL.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(_){w=B;break}let j=g.dirname(q);if(j===q||j.length<W.length)break;q=j}if(w){let z=X.startsWith("layouts/")?X.slice(8):X,B=g.join(w,z);if(await i(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.layoutsDir){let z=g.isAbsolute(Z.layoutsDir)?Z.layoutsDir:g.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,_=g.join(z,B);if(await i(_)){if(Z.debug)console.log(`Found in options.layoutsDir: ${_}`);if(Y)Y.add(_);return _}if(!X.endsWith(".stx")){let j=`${_}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=g.join(Z.partialsDir||J,"layouts",z[1]);if(await i(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in layouts path with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.partialsDir){if(w=g.join(Z.partialsDir,"layouts"),await i(w)){let z=g.join(w,X);if(await i(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let U=Z.partialsDir||g.join(process.cwd(),"views"),K=g.join(U,X);if(await i(K)){if(Z.debug)console.log(`Found in views path: ${K}`);if(Y)Y.add(K);return K}if(!X.endsWith(".stx")){let z=`${K}.stx`;if(await i(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=g.join(g.dirname(J),"layouts",X);if(await i(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function gw(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
|
|
14442
14442
|
`),w=0;for(let q=0;q<Q.length;q++)if(w+=Q[q].length+1,w>=$){Y=q+1,J=Q[q].trim();let W=Math.max(0,q-2),U=Math.min(Q.length,q+3);G=Q.slice(W,U).map((K,z)=>{let B=W+z+1;return`${B===Y?"> ":" "}${B}: ${K}`}).join(`
|
|
14443
14443
|
`);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return gw(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function K0(X,$,Z,Y,J,G){let{lineNumber:Q,context:w}=gw(Y,J,G),q=Z.split("/").pop(),W=0;if(typeof J==="number"&&J>=0&&Y){let K=Y.lastIndexOf(`
|
|
14444
14444
|
`,Math.max(0,J-1));W=J-(K+1)+1}let U="";if(Q>0)U+=`
|
|
@@ -14453,8 +14453,8 @@ ${Z0.yellow}${Z0.bold}Message:${Z0.reset} ${$}
|
|
|
14453
14453
|
`,w)U+=`
|
|
14454
14454
|
${Z0.blue}${Z0.bold}Context:${Z0.reset}
|
|
14455
14455
|
${Z0.dim}${w}${Z0.reset}
|
|
14456
|
-
`;return U}function hG(){x8.clear(),f8.clear(),V4.clear()}var x8,f8,V4,
|
|
14457
|
-
`||L==="\r"||L===" "||L===void 0)K++;z=H+9}else{if(K--,K===0){B=O;break}z=O+12}}if(B===-1)continue;let _=X.slice(U,B),j=X.slice(w,B+12);J.push({fullMatch:j,options:W,content:_,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:U}of J)try{let K={};if(q)q.split(",").forEach((_)=>{let j=_.trim();if(j)K[j]=!0});let z={gfm:K.gfm??!0,breaks:K.breaks??!1},B=r1(W.trim(),z);Y=Y.split(w).join(B)}catch(K){let z=K instanceof Error?K.message:String(K),B=K0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,U,w);Y=Y.split(w).join(B)}return Y}async function hw(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),r1(X.trim(),J)}var L4=D(()=>{T0()});function
|
|
14456
|
+
`;return U}function hG(){x8.clear(),f8.clear(),V4.clear()}var x8,f8,V4,XO=0,Z0;var T0=D(()=>{y5();s$();w1();J1();P5();oX();E1();k3();rX();V7();Sw();i5();x8=new Z5(500),f8=new Z5(1000),V4=new Z5(2000);Z0={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"}});async function bw(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",U=w+Q[0].length,K=1,z=U,B=-1;while(K>0&&z<X.length){let H=X.indexOf("@markdown",z),O=X.indexOf("@endmarkdown",z);if(O===-1)break;if(H!==-1&&H<O&&H!==w){let L=X[H+9];if(L==="("||L===`
|
|
14457
|
+
`||L==="\r"||L===" "||L===void 0)K++;z=H+9}else{if(K--,K===0){B=O;break}z=O+12}}if(B===-1)continue;let _=X.slice(U,B),j=X.slice(w,B+12);J.push({fullMatch:j,options:W,content:_,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:U}of J)try{let K={};if(q)q.split(",").forEach((_)=>{let j=_.trim();if(j)K[j]=!0});let z={gfm:K.gfm??!0,breaks:K.breaks??!1},B=r1(W.trim(),z);Y=Y.split(w).join(B)}catch(K){let z=K instanceof Error?K.message:String(K),B=K0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,U,w);Y=Y.split(w).join(B)}return Y}async function hw(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),r1(X.trim(),J)}var L4=D(()=>{T0()});function _O(X){if(KO.set(X.name,X),X.client)zO.set(X.name,X.client)}function g8(X){return _O(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=BO(Y,X.defaults);if(X.validate){let q=X.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${X.name}`;throw Error(W)}}let w=Z;if(X.transform)w=await X.transform(Z,Q,J,G);if(X.clientScript){let q=X.clientScript(Q);w+=`<script>${q}</script>`}if(X.css){let q=X.css(Q);w+=`<style>${q}</style>`}return w}}}function BO(X,$){let Z={...$};for(let Y of X){let J=Y.indexOf(":"),G=Y.indexOf("="),Q=J>=0&&(G<0||J<G)?J:G;if(Q>=0){let w=Y.slice(0,Q).trim(),q=Y.slice(Q+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Z[w]=q}else{let w=Object.keys(Z).filter((q)=>!$||!(q in $)).length;Z[w===0?"value":`arg${w}`]=Y}}return Z}var KO,zO;var R4=D(()=>{KO=new Map,zO=new Map});function T4(X,$=Y7,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${YX(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function uw(X,$,Z=jO,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${YX(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function M4(X,$="100vw"){if(!X||Object.keys(X).length===0)return $;let Y=Object.entries(X).map(([J,G])=>{let Q=/^\d+$/.test(J)?`${J}px`:J;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((J,G)=>J.numericBp-G.numericBp).map(({bp:J,size:G})=>`(max-width: ${J}) ${G}`);return Y.push($),Y.join(", ")}function YX(X,$={}){let Z=Object.entries($).filter(([,G])=>G!==void 0&&G!==null).map(([G,Q])=>{if(Array.isArray(Q))return[G,Q.join(",")];return[G,String(Q)]});if(Z.length===0)return X;let Y=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),J=X.includes("?")?"&":"?";return`${X}${J}${Y}`}function N4(X){return HO[X]||"application/octet-stream"}var Y7,jO,ZX,HO;var k4=D(()=>{Y7=[320,480,640,768,1024,1280,1536,1920,2560],jO=[1,1.5,2,3],ZX=["avif","webp","jpeg"],HO={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function OO(){try{return await import("ts-images")}catch{return null}}async function FO(X,$={}){let Z={...LO,...$},Y=await OO();if(Y)try{return await VO(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return AO(X,Z)}async function VO(X,$,Z){let{generatePlaceholder:Y,generateThumbHash:J}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[$.strategy]||"blur";if($.strategy==="thumbhash")return{dataURL:(await J(X)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await Y(X,{width:$.width,height:$.height,quality:$.quality,blurLevel:$.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:w.dataURL,width:w.width,height:w.height,aspectRatio:w.aspectRatio,originalWidth:w.originalWidth,originalHeight:w.originalHeight,strategy:$.strategy,dominantColor:w.dominantColor,css:w.css}}function AO(X,$){let Z=$.width||20,Y=$.height||Z,J="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}" viewBox="0 0 ${Z} ${Y}"><rect fill="#e5e7eb" width="${Z}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:Y,aspectRatio:Z/Y,originalWidth:0,originalHeight:0,strategy:$.strategy,dominantColor:"#e5e7eb"}}function dw(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
|
|
14458
14458
|
#${X} {
|
|
14459
14459
|
--stx-img-transition-duration: ${Y}ms;
|
|
14460
14460
|
--stx-img-transition-easing: ${J};
|
|
@@ -14471,7 +14471,7 @@ ${Z0.dim}${w}${Z0.reset}
|
|
|
14471
14471
|
#${X}.stx-img-loaded img {
|
|
14472
14472
|
opacity: 1;
|
|
14473
14473
|
}
|
|
14474
|
-
`.trim()}async function mw(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(I4.has(Z))return I4.get(Z);let Y=await
|
|
14474
|
+
`.trim()}async function mw(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(I4.has(Z))return I4.get(Z);let Y=await FO(X,$);return I4.set(Z,Y),Y}var LO,E4,I4;var lw=D(()=>{LO={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},E4=`
|
|
14475
14475
|
.stx-img-placeholder {
|
|
14476
14476
|
position: relative;
|
|
14477
14477
|
overflow: hidden;
|
|
@@ -14500,8 +14500,8 @@ ${Z0.dim}${w}${Z0.reset}
|
|
|
14500
14500
|
filter: blur(0);
|
|
14501
14501
|
transform: scale(1);
|
|
14502
14502
|
}
|
|
14503
|
-
`.trim();I4=new Map});import{createHash as pw}from"crypto";import{readFile as VO,stat as iw}from"fs/promises";async function b0(X){try{let $=await VO(X);return pw("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function cw(X){return pw("sha256").update(X).digest("hex").slice(0,16)}function h8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${cw(X)}-${cw(Z)}`}async function D4(X){try{return(await iw(X)).mtimeMs}catch{return 0}}async function D0(X){try{return await iw(X),!0}catch{return!1}}var H5=()=>{};import{mkdir as AO,readFile as RO,writeFile as TO,readdir as BD,rm as MO,stat as jD}from"fs/promises";import{join as rw,dirname as NO}from"path";async function kO(X){try{await AO(X,{recursive:!0})}catch{}}function sw(X,$,Z){return rw(X,Z,`${$}.json`)}async function nw(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await D4($)!==X.srcMtime)return!1;return!0}async function u8(X,$,Z,Y=y4){if(!Y.enabled)return null;let J=h8(X,$),G=J7.get(J);if(G){if(await nw(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;J7.delete(J)}let Q=sw(Y.directory,J,Z);if(await D0(Q))try{let w=await RO(Q,"utf-8"),q=JSON.parse(w);if(await nw(q,X,Y.maxAge))return q.lastAccessedAt=Date.now(),J7.set(J,q),q.data}catch{}return null}async function d8(X,$,Z,Y,J=y4){if(!J.enabled)return;let G=h8(X,$),Q=await b0(X),w=await D4(X),q={key:G,src:X,srcHash:Q,srcMtime:w,optionsHash:h8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};J7.set(G,q);let W=sw(J.directory,G,Y);try{await kO(NO(W)),await TO(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function m8(X,$=y4){if(X==="all")J7.clear();else J7.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=rw($.directory,Y);try{await MO(J,{recursive:!0,force:!0})}catch{}}}var J7,y4;var b4=D(()=>{H5();J7=new Map,y4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class c8{config;constructor(X={}){this.config={...IO,...X}}async get(X,$){return u8(X,$,"image",this.config)}async set(X,$,Z){return d8(X,$,Z,"image",this.config)}async clear(){return m8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function S4(X){if(!l8)l8=new c8(X);else if(X)l8.updateConfig(X);return l8}async function p8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return S4(Y).get(X,$)}async function i8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return S4(J).set(X,$,Z)}async function ow(){return S4().clear()}var IO,l8=null;var C4=D(()=>{b4();IO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as EO,basename as DO,extname as yO,join as bO}from"path";import{mkdir as SO}from"fs/promises";async function P4(){try{return await import("ts-images")}catch{return null}}function aw(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function CO(X,$){let Z=$?aw($):aw("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function tw(X,$,Z){let Y=await P4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await p8(X,$,Z);if(J)return J;try{let G=EO(X);if(!await D0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=CO(Z,$.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await SO(w,{recursive:!0});let W=await b0(G),U=DO(X,yO(X)),K=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:W},B=null;if($.transformations&&$.transformations.length>0)B=await v4(G,$.transformations,Y);for(let _ of K){let j=Q[_]||{},H=`${U}-${W}.${_}`,O=bO(w,H);try{let L=await Y.optimizeImage({input:B||G,output:O,format:_,quality:j.quality,progressive:j.progressive});if(L){if(z.variants.push({path:O,url:`${q}/${H}`,width:L.width||0,height:L.height||0,format:_,size:L.outputSize||0}),!z.originalWidth&&L.width)z.originalWidth=L.width,z.originalHeight=L.height}}catch(L){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${_}: ${L}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let _=await Y.generateThumbHash(G);z.placeholder=_.dataUrl}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${_}`)}if($.useDominantColor)try{let _=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=_.dominantColor}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${_}`)}return await i8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function ew(X,$,Z,Y){let J=await P4();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function v4(X,$,Z){let Y=Z||await P4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var Xq=D(()=>{H5();C4()});import{resolve as PO,basename as vO,extname as xO,join as fO}from"path";import{mkdir as gO}from"fs/promises";async function hO(){try{return await import("ts-images")}catch{return null}}async function $q(X,$,Z){let Y=await hO();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=PO(X);if(!await D0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||uO,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await gO(w,{recursive:!0});let W=await b0(J),U=vO(X,xO(X)),K=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let _ of Q){z.byFormat[_]=[];let j=[];for(let H of G){let O=`${U}-${H}w-${W}.${_}`,L=fO(w,O),F=`${q}/${O}`;try{let V=K[_]?.quality||80;if(await D0(L)){z.byFormat[_].push({path:L,url:F,width:H,height:0,format:_,size:0}),j.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:L,format:_,quality:V,resize:{width:H}});if(A)z.byFormat[_].push({path:L,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:_,size:A.outputSize||0}),j.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${_} at ${H}w: ${V}`)}}z.srcsets[_]=j.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let _=await Y.generateThumbHash(J);z.placeholder={dataURL:_.dataUrl,width:_.width||32,height:_.height||32,strategy:"thumbhash"}}else{let _=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:_.dataURL,width:_.width,height:_.height,strategy:B}}}catch(_){console.warn(`[stx-media] Failed to generate placeholder: ${_}`)}return z.sizes=$.sizes||dO(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function dO(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function Zq(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var uO;var Yq=D(()=>{H5();uO=[320,480,640,768,1024,1280,1536,1920]});var Jq={};t(Jq,{setCachedImageResult:()=>i8,processImage:()=>tw,optimizeImage:()=>ew,getCachedImageResult:()=>p8,generateSrcset:()=>Zq,generateResponsiveVariants:()=>$q,clearImageCache:()=>ow,applyTransformations:()=>v4,ImageProcessorCache:()=>c8});var Gq=D(()=>{Xq();Yq();C4()});async function mO(){try{return await Promise.resolve().then(() => (Gq(),Jq))}catch(X){if(!Qq)console.warn("[stx-media] Image processor not available, some features disabled:",X),Qq=!0;return null}}async function n8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return iO(Y,Z)}if(Z.processedResult?.processed)return h4(X,Z.processedResult,$);if(Z.responsiveVariants)return Uq(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Y7,dpr:U,formats:K=ZX,quality:z=x4,params:B={},placeholder:_="none",placeholderOptions:j={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":s8,decoding:F=r8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:M}=X,k=X.class,N=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return pO(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(_!=="none"&&!O)try{b=await mw(J,{strategy:_,...j}),P=dw(x,b,j)}catch{}let m=U!==void 0&&Q!==void 0,l;if(m)l=cO(X,x,b,$);else l=await lO(X,x,b,$);let Q0;if(O){let r0=K.includes("webp")?"webp":K[0],c=T4(J,W,{...B,q:z},r0),j0=typeof q==="object"?M4(q):q||"100vw";Q0=`<link rel="preload" as="image" imagesrcset="${c}" imagesizes="${j0}" />`}let l0=[];if(!wq&&_!=="none")l0.push(E4),wq=!0;if(P)l0.push(P);let R0=H?Wq(x):void 0;return{html:l,preloadLink:Q0,css:l0.length>0?l0.join(`
|
|
14504
|
-
`):void 0,script:R0}}async function
|
|
14503
|
+
`.trim();I4=new Map});import{createHash as pw}from"crypto";import{readFile as RO,stat as iw}from"fs/promises";async function b0(X){try{let $=await RO(X);return pw("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function cw(X){return pw("sha256").update(X).digest("hex").slice(0,16)}function h8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${cw(X)}-${cw(Z)}`}async function D4(X){try{return(await iw(X)).mtimeMs}catch{return 0}}async function D0(X){try{return await iw(X),!0}catch{return!1}}var H5=()=>{};import{mkdir as TO,readFile as MO,writeFile as NO,readdir as HD,rm as kO,stat as LD}from"fs/promises";import{join as rw,dirname as IO}from"path";async function EO(X){try{await TO(X,{recursive:!0})}catch{}}function sw(X,$,Z){return rw(X,Z,`${$}.json`)}async function nw(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await D4($)!==X.srcMtime)return!1;return!0}async function u8(X,$,Z,Y=y4){if(!Y.enabled)return null;let J=h8(X,$),G=J7.get(J);if(G){if(await nw(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;J7.delete(J)}let Q=sw(Y.directory,J,Z);if(await D0(Q))try{let w=await MO(Q,"utf-8"),q=JSON.parse(w);if(await nw(q,X,Y.maxAge))return q.lastAccessedAt=Date.now(),J7.set(J,q),q.data}catch{}return null}async function d8(X,$,Z,Y,J=y4){if(!J.enabled)return;let G=h8(X,$),Q=await b0(X),w=await D4(X),q={key:G,src:X,srcHash:Q,srcMtime:w,optionsHash:h8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};J7.set(G,q);let W=sw(J.directory,G,Y);try{await EO(IO(W)),await NO(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function m8(X,$=y4){if(X==="all")J7.clear();else J7.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=rw($.directory,Y);try{await kO(J,{recursive:!0,force:!0})}catch{}}}var J7,y4;var b4=D(()=>{H5();J7=new Map,y4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class c8{config;constructor(X={}){this.config={...DO,...X}}async get(X,$){return u8(X,$,"image",this.config)}async set(X,$,Z){return d8(X,$,Z,"image",this.config)}async clear(){return m8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function S4(X){if(!l8)l8=new c8(X);else if(X)l8.updateConfig(X);return l8}async function p8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return S4(Y).get(X,$)}async function i8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return S4(J).set(X,$,Z)}async function ow(){return S4().clear()}var DO,l8=null;var C4=D(()=>{b4();DO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as yO,basename as bO,extname as SO,join as CO}from"path";import{mkdir as PO}from"fs/promises";async function P4(){try{return await import("ts-images")}catch{return null}}function aw(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function vO(X,$){let Z=$?aw($):aw("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function tw(X,$,Z){let Y=await P4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await p8(X,$,Z);if(J)return J;try{let G=yO(X);if(!await D0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=vO(Z,$.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await PO(w,{recursive:!0});let W=await b0(G),U=bO(X,SO(X)),K=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:W},B=null;if($.transformations&&$.transformations.length>0)B=await v4(G,$.transformations,Y);for(let _ of K){let j=Q[_]||{},H=`${U}-${W}.${_}`,O=CO(w,H);try{let L=await Y.optimizeImage({input:B||G,output:O,format:_,quality:j.quality,progressive:j.progressive});if(L){if(z.variants.push({path:O,url:`${q}/${H}`,width:L.width||0,height:L.height||0,format:_,size:L.outputSize||0}),!z.originalWidth&&L.width)z.originalWidth=L.width,z.originalHeight=L.height}}catch(L){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${_}: ${L}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let _=await Y.generateThumbHash(G);z.placeholder=_.dataUrl}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${_}`)}if($.useDominantColor)try{let _=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=_.dominantColor}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${_}`)}return await i8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function ew(X,$,Z,Y){let J=await P4();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function v4(X,$,Z){let Y=Z||await P4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var Xq=D(()=>{H5();C4()});import{resolve as xO,basename as fO,extname as gO,join as hO}from"path";import{mkdir as uO}from"fs/promises";async function dO(){try{return await import("ts-images")}catch{return null}}async function $q(X,$,Z){let Y=await dO();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=xO(X);if(!await D0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||mO,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await uO(w,{recursive:!0});let W=await b0(J),U=fO(X,gO(X)),K=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let _ of Q){z.byFormat[_]=[];let j=[];for(let H of G){let O=`${U}-${H}w-${W}.${_}`,L=hO(w,O),F=`${q}/${O}`;try{let V=K[_]?.quality||80;if(await D0(L)){z.byFormat[_].push({path:L,url:F,width:H,height:0,format:_,size:0}),j.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:L,format:_,quality:V,resize:{width:H}});if(A)z.byFormat[_].push({path:L,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:_,size:A.outputSize||0}),j.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${_} at ${H}w: ${V}`)}}z.srcsets[_]=j.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let _=await Y.generateThumbHash(J);z.placeholder={dataURL:_.dataUrl,width:_.width||32,height:_.height||32,strategy:"thumbhash"}}else{let _=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:_.dataURL,width:_.width,height:_.height,strategy:B}}}catch(_){console.warn(`[stx-media] Failed to generate placeholder: ${_}`)}return z.sizes=$.sizes||lO(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function lO(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function Zq(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var mO;var Yq=D(()=>{H5();mO=[320,480,640,768,1024,1280,1536,1920]});var Jq={};t(Jq,{setCachedImageResult:()=>i8,processImage:()=>tw,optimizeImage:()=>ew,getCachedImageResult:()=>p8,generateSrcset:()=>Zq,generateResponsiveVariants:()=>$q,clearImageCache:()=>ow,applyTransformations:()=>v4,ImageProcessorCache:()=>c8});var Gq=D(()=>{Xq();Yq();C4()});async function cO(){try{return await Promise.resolve().then(() => (Gq(),Jq))}catch(X){if(!Qq)console.warn("[stx-media] Image processor not available, some features disabled:",X),Qq=!0;return null}}async function n8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return rO(Y,Z)}if(Z.processedResult?.processed)return h4(X,Z.processedResult,$);if(Z.responsiveVariants)return Uq(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Y7,dpr:U,formats:K=ZX,quality:z=x4,params:B={},placeholder:_="none",placeholderOptions:j={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":s8,decoding:F=r8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:M}=X,k=X.class,N=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return nO(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(_!=="none"&&!O)try{b=await mw(J,{strategy:_,...j}),P=dw(x,b,j)}catch{}let m=U!==void 0&&Q!==void 0,l;if(m)l=iO(X,x,b,$);else l=await pO(X,x,b,$);let Q0;if(O){let r0=K.includes("webp")?"webp":K[0],c=T4(J,W,{...B,q:z},r0),j0=typeof q==="object"?M4(q):q||"100vw";Q0=`<link rel="preload" as="image" imagesrcset="${c}" imagesizes="${j0}" />`}let l0=[];if(!wq&&_!=="none")l0.push(E4),wq=!0;if(P)l0.push(P);let R0=H?Wq(x):void 0;return{html:l,preloadLink:Q0,css:l0.length>0?l0.join(`
|
|
14504
|
+
`):void 0,script:R0}}async function pO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Y7,formats:U=ZX,quality:K=x4,params:z={},lazy:B=!0,priority:_=!1,loading:j=_?"eager":s8,decoding:H=r8,fetchpriority:O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,T=X.style,M=X.data||{},k=typeof q==="object"?M4(q):q||"100vw",N=[];for(let C of U){let S=T4(J,W,{...z,q:K},C),b=N4(C);if(B&&!_)N.push(` <source type="${b}" data-srcset="${S}" data-sizes="${k}" />`);else N.push(` <source type="${b}" srcset="${S}" sizes="${k}" />`)}let y=f4({src:YX(J,{...z,q:K}),alt:G,width:Q,height:w,loading:_?void 0:j,decoding:H,fetchpriority:_?"high":O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:A,className:qq(R,Z),style:g4(T,L,F,Z),lazy:B&&!_,data:M}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
|
|
14505
14505
|
<picture>
|
|
14506
14506
|
${N.join(`
|
|
14507
14507
|
`)}
|
|
@@ -14511,9 +14511,9 @@ ${N.join(`
|
|
|
14511
14511
|
${N.join(`
|
|
14512
14512
|
`)}
|
|
14513
14513
|
<img ${y} />
|
|
14514
|
-
</picture>`;return I}function
|
|
14514
|
+
</picture>`;return I}function iO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=x4,params:U={},lazy:K=!0,priority:z=!1,loading:B=z?"eager":s8,decoding:_=r8,fetchpriority:j,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},T=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=uw(J,T,q,{...U,q:W}),k=f4({src:YX(J,{...U,w:T,q:W}),alt:G,width:Q,height:w,loading:z?void 0:B,decoding:_,fetchpriority:z?"high":j,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F,className:qq(V,Z),style:g4(A,H,O,Z),lazy:K&&!z,data:R}),N=K&&!z?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let y=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${y}">
|
|
14515
14515
|
<img ${k} ${N} />
|
|
14516
|
-
</div>`}return`<img ${$?`id="${$}" `:""}${k} ${N} />`}function
|
|
14516
|
+
</div>`}return`<img ${$?`id="${$}" `:""}${k} ${N} />`}function nO(X){let{src:$,alt:Z,width:Y,height:J,loading:G=s8,decoding:Q=r8,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,priority:z=!1}=X,B=X.class,_=X.style,j=X.id,H=X.data||{};return{html:`<img ${f4({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,className:B,style:g4(_,q,W),id:j,data:H})} />`}}function f4(X){let $=[];if(X.lazy)$.push(`data-src="${$1(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${$1(X.src)}"`);if($.push(`alt="${$1(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${$1(X.className)}"`);if(X.style)$.push(`style="${$1(X.style)}"`);if(X.id)$.push(`id="${$1(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${$1(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function qq(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function g4(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function $1(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Wq(X){return`
|
|
14517
14517
|
(function() {
|
|
14518
14518
|
const container = document.getElementById('${X}');
|
|
14519
14519
|
if (!container) return;
|
|
@@ -14550,7 +14550,7 @@ ${N.join(`
|
|
|
14550
14550
|
|
|
14551
14551
|
observer.observe(container);
|
|
14552
14552
|
})();
|
|
14553
|
-
`.trim()}async function
|
|
14553
|
+
`.trim()}async function rO(X,$){let Z=await cO();if(!Z)return n8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return Uq(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return h4(X,G,$)}return n8({...X,process:!1},$)}async function h4(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K}=X,z=X.class,B=X.style,_=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,j=X.data||{},H=$.variants||[],O=H.find((P)=>P.format==="jpeg")||H.find((P)=>P.format==="webp")||H[0],L=O?.url||X.src,F=H.filter((P)=>P.format===(O?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of H){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],R=["avif","webp","jpeg","png"];for(let P of R){let x=V.get(P);if(x&&x.length>0){let m=x.map((Q0)=>`${Q0.url} ${Q0.width}w`).join(", "),l=N4(P);if(Q&&!w)A.push(` <source type="${l}" data-srcset="${m}" />`);else A.push(` <source type="${l}" srcset="${m}" />`)}}let T=[];if(Q&&!w){if(T.push(`data-src="${$1(L)}"`),T.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)T.push(`data-srcset="${F}"`)}else if(T.push(`src="${$1(L)}"`),F)T.push(`srcset="${F}"`);T.push(`alt="${$1(Y)}"`);let M=J||$.originalWidth,k=G||$.originalHeight;if(M)T.push(`width="${M}"`);if(k)T.push(`height="${k}"`);if(!w)T.push(`loading="${Q?"lazy":"eager"}"`);if(T.push('decoding="async"'),w)T.push('fetchpriority="high"');if(U)T.push(`crossorigin="${U}"`);if(K)T.push(`referrerpolicy="${K}"`);let N=[];if(q)N.push(`object-fit: ${q}`);if(W)N.push(`object-position: ${W}`);if($.placeholder&&Q)N.push("opacity: 0; transition: opacity 300ms ease-out");if(B)N.push(B);if(N.length>0)T.push(`style="${N.join("; ")}"`);let y=[];if(z)y.push(z);if($.placeholder)y.push("stx-img-blur");if(y.length>0)T.push(`class="${y.join(" ")}"`);if(Q&&!w)T.push("data-stx-lazy");for(let[P,x]of Object.entries(j))T.push(`data-${P}="${$1(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let P=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${_}" class="stx-img-placeholder" style="${P}">
|
|
14554
14554
|
<picture>
|
|
14555
14555
|
${A.join(`
|
|
14556
14556
|
`)}
|
|
@@ -14561,11 +14561,11 @@ ${A.join(`
|
|
|
14561
14561
|
`)}
|
|
14562
14562
|
<img ${T.join(" ")} />
|
|
14563
14563
|
</picture>`;let C=[];if($.placeholder)C.push(E4);let S=Q?Wq(_):void 0,b;if(w&&F)b=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:b,css:C.length>0?C.join(`
|
|
14564
|
-
`):void 0,script:S}}async function Uq(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return h4(X,Y,Z)}var Qq=!1,x4=80,r8="async",s8="lazy",wq=!1;var Kq=D(()=>{k4();lw()});function
|
|
14564
|
+
`):void 0,script:S}}async function Uq(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return h4(X,Y,Z)}var Qq=!1,x4=80,r8="async",s8="lazy",wq=!1;var Kq=D(()=>{k4();lw()});function sO(){return g8({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async(X,$,Z,Y)=>{let{src:J,alt:G,options:Q}=oO(X,$,Z);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:J,alt:G||"",widths:Q.widths||Y7,formats:Q.formats||ZX,quality:Q.quality,sizes:Q.sizes,dpr:Q.dpr,params:Q.params,placeholder:Q.placeholder,placeholderOptions:Q.placeholderOptions,lazy:Q.lazy!==!1,priority:Q.priority||!1,loading:Q.loading,decoding:Q.decoding,fetchpriority:Q.fetchpriority,objectFit:Q.objectFit,objectPosition:Q.objectPosition,class:Q.class,style:Q.style,id:Q.id,width:Q.width,height:Q.height},q=Z.__isDev||!1,W=await n8(w,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
|
|
14565
14565
|
`+U;if(W.css)U+=`
|
|
14566
14566
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
14567
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
14568
|
-
`)}async function G$(X,$,Z,Y,J){let G=await Aq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=Lq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Oq(X,Fq(X)),W=L5(Z,`${q}-${w}-dash`);await Y$(W,{recursive:!0});let U=$.length>0?$:Rq,K=J?.segmentDuration||4,z=J?.minBufferTime||2,j=(await new G.Input(Q).getInfo()).duration||0,H=[],O=[];for(let A of U){let R=L5(W,A.label);await Y$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:K,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)O.push({bandwidth:A.audioBitrate,url:`${Y}/${q}-${w}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let L=L5(W,"manifest.mpd"),F=
|
|
14567
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function oO(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=aO(Y),G=u4(J[0],Z)||"",Q=u4(J[1],Z)||"",w={};if(J[2]){let q=u4(J[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof J[2]==="string")try{w=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:w}}function aO(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function u4(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var zq;var _q=D(()=>{R4();Kq();k4();zq=sO()});class a8{config;constructor(X={}){this.config={...tO,...X}}async get(X,$){return u8(X,$,"video",this.config)}async set(X,$,Z){return d8(X,$,Z,"video",this.config)}async clear(){return m8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function d4(X){if(!o8)o8=new a8(X);else if(X)o8.updateConfig(X);return o8}async function t8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return d4(Y).get(X,$)}async function e8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return d4(J).set(X,$,Z)}async function Bq(){return d4().clear()}var tO,o8=null;var m4=D(()=>{b4();tO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as l4,basename as c4,extname as p4,join as X$}from"path";import{mkdir as i4}from"fs/promises";async function n4(){try{return await import("ts-videos")}catch{return null}}async function $$(X,$,Z,Y){let J=await n4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=l4(X);if(!await D0(G))return null;await i4(Z,{recursive:!0});let Q=await b0(G),w=c4(X,p4(X)),q=$.format||"webp",W=$.timestamp||0,U=`${w}-poster-${Q}.${q}`,K=X$(Z,U),z=await J.extractThumbnails(G,{timestamps:[W],width:$.width||1280,height:$.height,format:q,quality:$.quality||85,outputDir:Z,outputPattern:U.replace(`.${q}`,"")});if(z&&z.length>0){let B=z[0];return{path:K,url:`${Y}/${U}`,width:B.width||$.width||1280,height:B.height||720,timestamp:W,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function Z$(X,$,Z,Y){let J=await n4();if(!J)return[];try{let G=l4(X);if(!await D0(G))return[];await i4(Z,{recursive:!0});let Q=await b0(G),w=c4(X,p4(X)),q=$.format||"webp",K=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||K/z,_=[];for(let H=0;H<z&&H*B<K;H++)_.push(H*B);let j=await J.extractThumbnails(G,{timestamps:_,width:$.width||320,format:q,quality:$.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(j&&j.length>0)return j.map((H,O)=>({path:H.path||X$(Z,`${w}-thumb-${Q}-${O}.${q}`),url:`${Y}/${w}-thumb-${Q}-${O}.${q}`,width:H.width||$.width||320,height:H.height||180,timestamp:_[O],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function jq(X,$,Z,Y){let J=await n4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=l4(X);if(!await D0(G))return null;await i4(Z,{recursive:!0});let Q=await b0(G),w=c4(X,p4(X)),U=(await new J.Input(G).getInfo()).duration||60,K=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,_=$.thumbnailHeight||90,j=$.format||"jpeg",H=Math.ceil(U/z),O=Math.ceil(H/K),L=`${w}-sprite-${Q}.${j}`,F=X$(Z,L),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:_,format:j,quality:$.quality||70,outputDir:X$(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),T=K*B,M=O*_,k=await R.createSprite({images:A.map((N)=>N.path),columns:K,padding:0,outputPath:F,format:j,quality:$.quality||70});return{url:`${Y}/${L}`,path:F,columns:K,rows:O,thumbnailWidth:B,thumbnailHeight:_,interval:z,totalFrames:H}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var r4=D(()=>{H5()});import{resolve as Lq,basename as Oq,extname as Fq,join as L5}from"path";import{mkdir as Y$,writeFile as Vq}from"fs/promises";async function Aq(){try{return await import("ts-videos")}catch{return null}}async function J$(X,$,Z,Y,J){let G=await Aq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=Lq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Oq(X,Fq(X)),W=L5(Z,`${q}-${w}-hls`);await Y$(W,{recursive:!0});let U=$.length>0?$:Rq,K=J?.segmentDuration||6,_=(await new G.Input(Q).getInfo()).duration||0,j=[],H=0;for(let F of U){let V=L5(W,F.label);await Y$(V,{recursive:!0});let A=`${F.label}.m3u8`,R=L5(V,A);try{let T=await G.generateHLS(Q,{outputDir:V,segmentDuration:K,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(T)j.push({quality:F,url:`${Y}/${q}-${w}-hls/${F.label}/${A}`,path:R}),H+=T.segmentCount||Math.ceil(_/K)}catch(T){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${T}`)}}if(j.length===0)return null;let O=L5(W,"master.m3u8"),L=eO(j,Y,q,w);return await Vq(O,L),{manifestUrl:`${Y}/${q}-${w}-hls/master.m3u8`,manifestPath:O,playlists:j,segmentCount:H,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function eO(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
|
|
14568
|
+
`)}async function G$(X,$,Z,Y,J){let G=await Aq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=Lq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Oq(X,Fq(X)),W=L5(Z,`${q}-${w}-dash`);await Y$(W,{recursive:!0});let U=$.length>0?$:Rq,K=J?.segmentDuration||4,z=J?.minBufferTime||2,j=(await new G.Input(Q).getInfo()).duration||0,H=[],O=[];for(let A of U){let R=L5(W,A.label);await Y$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:K,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)O.push({bandwidth:A.audioBitrate,url:`${Y}/${q}-${w}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let L=L5(W,"manifest.mpd"),F=XF(H,O,j,K,z);await Vq(L,F);let V=[{type:"video",representations:H}];if(O.length>0)V.push({type:"audio",representations:O});return{manifestUrl:`${Y}/${q}-${w}-dash/manifest.mpd`,manifestPath:L,adaptationSets:V,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function XF(X,$,Z,Y,J){let G=Hq(Z),Q=Hq(J),w=`<?xml version="1.0" encoding="UTF-8"?>
|
|
14569
14569
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
14570
14570
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
14571
14571
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -14591,7 +14591,7 @@ ${A.join(`
|
|
|
14591
14591
|
</Representation>
|
|
14592
14592
|
`}w+=` </AdaptationSet>
|
|
14593
14593
|
`}return w+=` </Period>
|
|
14594
|
-
</MPD>`,w}function Hq(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var Rq;var s4=D(()=>{H5();Rq=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as Tq,basename as
|
|
14594
|
+
</MPD>`,w}function Hq(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var Rq;var s4=D(()=>{H5();Rq=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as Tq,basename as $F,extname as ZF,join as YF}from"path";import{mkdir as JF}from"fs/promises";async function Mq(){try{return await import("ts-videos")}catch{return null}}function GF(X){switch(X){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function QF(X){switch(X){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function o4(X){let $=await Mq();if(!$)return null;try{let Z=Tq(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function Nq(X,$,Z,Y){let J=await Mq();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await t8(X,$,Z);if(G)return G;try{let Q=Tq(X);if(!await D0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await JF(w,{recursive:!0});let W=await b0(Q),U=$F(X,ZF(X)),K={src:X,processed:!0,hash:W};Y?.({percentage:5,stage:"analyzing"}),K.metadata=await o4(Q)||void 0;let z={};if($.quality)z.bitrate=GF($.quality);if($.platform)Object.assign(z,QF($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${U}-${W}.mp4`,_=YF(w,B);try{let j=await wF(Q,_,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(j)K.transcoded={path:_,url:`${q}/${B}`,duration:j.duration,size:j.size,video:{codec:z.codec||"h264",width:j.width,height:j.height,bitrate:j.bitrate,frameRate:j.frameRate},audio:j.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(j){K.errors=K.errors||[],K.errors.push(`Transcoding failed: ${j}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},_=await $$(Q,B,w,q);if(_)K.poster=_}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await Z$(Q,Z.thumbnails,w,q);if(B.length>0)K.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let _=await J$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,hls:_}}if(B.format==="dash"){let _=await G$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,dash:_}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await e8(X,$,K,Z),K}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function wF(X,$,Z,Y,J){try{let Q=await new Y.Conversion(X,$,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((w)=>{J?.(w.percentage/100)});return{duration:Q.duration||0,size:Q.size||0,width:Q.width||Z.maxWidth||0,height:Q.height||Z.maxHeight||0,bitrate:Q.bitrate||Z.bitrate||0,frameRate:Q.frameRate||Z.frameRate||30,audioCodec:Q.audioCodec}}catch(G){return console.error(`[stx-media] Transcoding failed: ${G}`),null}}var kq=D(()=>{H5();m4();r4();s4()});var Iq={};t(Iq,{setCachedVideoResult:()=>e8,processVideo:()=>Nq,getCachedVideoResult:()=>t8,generateThumbnails:()=>Z$,generateSpriteSheet:()=>jq,generatePoster:()=>$$,generateHLSManifest:()=>J$,generateDASHManifest:()=>G$,clearVideoCache:()=>Bq,analyzeVideo:()=>o4,VideoProcessorCache:()=>a8});var Eq=D(()=>{kq();r4();s4();m4()});async function yq(){try{return await Promise.resolve().then(() => (Eq(),Iq))}catch(X){if(!Dq)console.warn("[stx-media] Video processor not available, some features disabled:",X),Dq=!0;return null}}async function Q$(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return _F(Y,Z)}if(Z.processedResult?.processed)return Pq(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await BF(Y,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=bq,autoplay:U=!1,muted:K=!1,loop:z=!1,preload:B=Sq,playsinline:_=!0,lazy:j=!0,player:H="native",type:O,width:L,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,T=J||w,M=X.class,k=X.style,N=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return UF(X,$);if(O&&O!=="video")return WF(G||"",O,X);let y=Q.length>0?Q:G?[{src:G,type:Cq(G)}]:[],I=[`id="${N}"`];if(W)I.push("controls");if(U)I.push("autoplay");if(K)I.push("muted");if(z)I.push("loop");if(_)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(j){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),T)I.push(`data-poster="${A0(T)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),T)I.push(`poster="${A0(T)}"`);if(L)I.push(`width="${L}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${A0(M)}"`);if(k)I.push(`style="${A0(k)}"`);let C=y.map((P)=>{return` <source ${j?`data-src="${A0(P.src)}"`:`src="${A0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
|
|
14595
14595
|
`),S=`<video ${I.join(" ")}>
|
|
14596
14596
|
${C}
|
|
14597
14597
|
Your browser does not support the video tag.
|
|
@@ -14630,9 +14630,9 @@ ${C}
|
|
|
14630
14630
|
|
|
14631
14631
|
observer.observe(video);
|
|
14632
14632
|
})();
|
|
14633
|
-
`.trim();return{html:S,script:b}}function
|
|
14633
|
+
`.trim();return{html:S,script:b}}function WF(X,$,Z){let{width:Y=640,height:J=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch($){case"youtube":W=KF(X),q=W?`https://www.youtube-nocookie.com/embed/${W}`:X;break;case"vimeo":W=zF(X),q=W?`https://player.vimeo.com/video/${W}`:X;break;case"dailymotion":W=X.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=X.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=X}let U=[`id="${w}"`,`src="${A0(q)}"`,`width="${Y}"`,`height="${J}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)U.push(`class="${A0(G)}"`);if(Q)U.push(`style="${A0(Q)}"`);if(Z.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
14634
14634
|
<iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
14635
|
-
</div>`}}function
|
|
14635
|
+
</div>`}}function UF(X,$={}){let{src:Z,sources:Y=[],poster:J,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:U=!0,lazy:K=!0,width:z,height:B}=X,_=X.class,j=X.style,H=X.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,O={src:Y.length>0?Y:Z,autoplay:Q,loop:q,muted:w,playsinline:U,preload:W,poster:J,controls:G,title:X.title},L=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",j||""].filter(Boolean).join("; "),F=`
|
|
14636
14636
|
<div
|
|
14637
14637
|
id="${H}"
|
|
14638
14638
|
class="ts-video-player${_?" "+A0(_):""}"
|
|
@@ -14669,7 +14669,7 @@ ${C}
|
|
|
14669
14669
|
|
|
14670
14670
|
// Load ts-video-player from CDN
|
|
14671
14671
|
var script = document.createElement('script');
|
|
14672
|
-
script.src = '${
|
|
14672
|
+
script.src = '${qF}';
|
|
14673
14673
|
script.onload = initPlayer;
|
|
14674
14674
|
script.onerror = function() {
|
|
14675
14675
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -14799,7 +14799,7 @@ else {
|
|
|
14799
14799
|
.ts-video-player__play-button svg {
|
|
14800
14800
|
margin-left: 4px;
|
|
14801
14801
|
}
|
|
14802
|
-
`.trim();return{html:F,script:V,css:A}}function Cq(X){switch(X.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function
|
|
14802
|
+
`.trim();return{html:F,script:V,css:A}}function Cq(X){switch(X.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function KF(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function zF(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function A0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function _F(X,$){let Z=await yq();if(!Z)return Q$({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return Pq(X,J,$);return Q$({...X,process:!1},$)}async function BF(X,$){let Z=await yq();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function Pq(X,$,Z){let{controls:Y=bq,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:w=Sq,playsinline:q=!0,lazy:W=!0,width:U,height:K,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:_=!1}=X,j=X.class,H=X.style,O=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,L=X.src,F=Cq(L);if($.transcoded)L=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)L=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)L=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${O}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(_)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(W){if(R.push(`data-preload="${w}"`),R.push('preload="none"'),A)R.push(`data-poster="${A0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${w}"`),A)R.push(`poster="${A0(A)}"`);let T=U||$.metadata?.width,M=K||$.metadata?.height;if(T)R.push(`width="${T}"`);if(M)R.push(`height="${M}"`);if(j)R.push(`class="${A0(j)}"`);if(H)R.push(`style="${A0(H)}"`);let N=` <source ${W?`data-src="${A0(L)}"`:`src="${A0(L)}"`} type="${F}" />`,y=`<video ${R.join(" ")}>
|
|
14803
14803
|
${N}
|
|
14804
14804
|
Your browser does not support the video tag.
|
|
14805
14805
|
</video>`;if($.spriteSheet)y=`<div class="stx-video-wrapper" data-sprite-sheet="${A0($.spriteSheet.url)}" data-sprite-cols="${$.spriteSheet.columns}" data-sprite-interval="${$.spriteSheet.interval}">
|
|
@@ -14848,9 +14848,9 @@ ${y}
|
|
|
14848
14848
|
width: 100%;
|
|
14849
14849
|
height: auto;
|
|
14850
14850
|
}
|
|
14851
|
-
`.trim();return{html:y,script:I,css:C}}var Dq=!1,bq=!0,Sq="metadata",
|
|
14851
|
+
`.trim();return{html:y,script:I,css:C}}var Dq=!1,bq=!0,Sq="metadata",qF="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var vq=D(()=>{t4()});function xq(){return g8({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async(X,$,Z,Y)=>{let{src:J,options:G}=jF(X,$,Z);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:J,poster:G.poster,controls:G.controls!==!1,autoplay:G.autoplay||!1,muted:G.muted||!1,loop:G.loop||!1,preload:G.preload||"metadata",playsinline:G.playsinline!==!1,lazy:G.lazy!==!1,player:G.player||"native",type:G.type,width:G.width,height:G.height,class:G.class,style:G.style,id:G.id,crossorigin:G.crossorigin,disablePictureInPicture:G.disablePictureInPicture,disableRemotePlayback:G.disableRemotePlayback,title:G.title,quality:G.quality,platform:G.platform,process:G.process,generatePoster:G.generatePoster,streaming:G.streaming,transcode:G.transcode,spriteSheet:G.spriteSheet,waveform:G.waveform},q={isDev:Z.__isDev||!1,tsVideosConfig:Z.__tsVideosConfig},W=await Q$(Q,q),U=W.html;if(W.css)U+=`
|
|
14852
14852
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
14853
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
14853
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function jF(X,$,Z){if($.src)return{src:String($.src),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=HF(Y),G=fq(J[0],Z)||"",Q={};if(J[1]){let w=fq(J[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof J[1]==="string")try{Q=JSON.parse(J[1])}catch{}}return{src:G,options:Q}}function HF(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function fq(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var a4;var t4=D(()=>{R4();vq();a4=xq()});function LF(X,$){let Z=$.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
14854
14854
|
${X}
|
|
14855
14855
|
</div>
|
|
14856
14856
|
<script>
|
|
@@ -14895,7 +14895,7 @@ ${y}
|
|
|
14895
14895
|
}
|
|
14896
14896
|
}
|
|
14897
14897
|
})();
|
|
14898
|
-
</script>`}function
|
|
14898
|
+
</script>`}function OF(X,$){let Z=$.pwa?.updates,Y=Z?.message||"A new version is available. Reload to update?",J=Z?.autoReload||!1,G=X.trim().length>0,Q=`
|
|
14899
14899
|
<div class="stx-pwa-update-banner" style="
|
|
14900
14900
|
position: fixed;
|
|
14901
14901
|
bottom: 0;
|
|
@@ -15006,7 +15006,7 @@ else {
|
|
|
15006
15006
|
// Also listen for custom event
|
|
15007
15007
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
15008
15008
|
})();
|
|
15009
|
-
</script>`}function
|
|
15009
|
+
</script>`}function FF(X,$){let Z=X.trim().length>0,Y=`
|
|
15010
15010
|
<div class="stx-offline-indicator" style="
|
|
15011
15011
|
position: fixed;
|
|
15012
15012
|
top: 16px;
|
|
@@ -15067,7 +15067,7 @@ else {
|
|
|
15067
15067
|
window.addEventListener('offline', updateStatus);
|
|
15068
15068
|
updateStatus();
|
|
15069
15069
|
})();
|
|
15070
|
-
</script>`}function
|
|
15070
|
+
</script>`}function VF(X,$){let Z=$.pwa?.push,Y=Z?.vapidPublicKey||"",J=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
15071
15071
|
${X}
|
|
15072
15072
|
</div>
|
|
15073
15073
|
<script>
|
|
@@ -15149,7 +15149,7 @@ catch (error) {
|
|
|
15149
15149
|
init();
|
|
15150
15150
|
}
|
|
15151
15151
|
})();
|
|
15152
|
-
</script>`}var
|
|
15152
|
+
</script>`}var AF,RF,TF,MF,gq;var hq=D(()=>{AF={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return LF(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},RF={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return OF(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},TF={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return FF(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},MF={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return VF(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},gq=[AF,RF,TF,MF]});import JX from"path";function NF(X,$){let Z=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1].trim():"",J=$,G=[],Q=!0;if(Y){let K=Y.match(/export\s+default\s+({[\s\S]*})/);if(K)try{let z=K[1],B=z.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)J=B[1];let _=z.match(/props\s*:\s*\[([\s\S]*?)\]/);if(_)G=_[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let j=z.match(/shadowDOM\s*:\s*(true|false)/);if(j)Q=j[1]==="true"}catch{}}let w=X.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=X.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),U=W?W[1].trim():"";return{tag:J,props:G,template:q,styles:U,script:Y,shadowDOM:Q}}function kF(X){let{tag:$,props:Z,template:Y,styles:J,shadowDOM:G}=X,Q=$.split("-").map((K)=>K.charAt(0).toUpperCase()+K.slice(1)).join(""),w=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((K)=>`'${K}'`).join(", "),U=Z.map((K)=>`
|
|
15153
15153
|
get ${K}() {
|
|
15154
15154
|
return this.getAttribute('${K}') || '';
|
|
15155
15155
|
}
|
|
@@ -15200,9 +15200,9 @@ ${U}
|
|
|
15200
15200
|
}
|
|
15201
15201
|
|
|
15202
15202
|
customElements.define('${$}', ${Q});
|
|
15203
|
-
`}async function uq(X,$,Z,Y){if($.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[JX.join(JX.dirname(Y),Q,`${J}.stx`),JX.join(process.cwd(),Q,`${J}.stx`),JX.join(JX.dirname(Y),`${J}.stx`)],q=null;for(let K of w)if(await i(K)){q=await Bun.file(K).text();break}if(!q)return $0("WebComponent",`Component file not found: ${J}.stx`,o.FILE_NOT_FOUND);let W=
|
|
15204
|
-
${
|
|
15205
|
-
</script>`}var dq=D(()=>{F1();T0()});var mq={};t(mq,{timingPlugin:()=>DF,pluginManager:()=>NF,definePlugin:()=>w$,debugPlugin:()=>EF,createVariablesPlugin:()=>yF,createFilterPlugin:()=>IF,createDirectivePlugin:()=>kF,PluginManager:()=>e4});function w$(X){return X}class e4{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function kF(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function IF(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function yF(X){return w$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var NF,EF,DF;var lq=D(()=>{NF=new e4;EF=w$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),DF=w$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var OZ={};t(OZ,{validateConfig:()=>fF,resolveStxDirectories:()=>iq,loadStxConfig:()=>u1,defineStxConfig:()=>xF,defaultConfig:()=>A1,config:()=>I7});import q$ from"fs";import m0 from"path";import{loadConfigWithResult as bF}from"bunfig";function SF(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=m0.join(J,"resources","views"),Q=m0.join(J,"resources","layouts");if(q$.existsSync(G)&&q$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=m0.join(J,"resources","views","pages");if(q$.existsSync(w))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function CF(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function iq(X,$){let Z=!X.root,Y=SF(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!cq.has(J))cq.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(m0.isAbsolute(Q)||CF(Q,J))continue;X[G]=m0.join(J,Q)}}return X}function PF(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=m0.isAbsolute(J)?J:m0.join($,J);if(q$.existsSync(G))continue;let Q=X.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(w?`, resolved under root "${Q}".`:"."))}}function vF(X){if(A6(X.stateDir),X.stateDir=R7(),X.cachePath=M7(X.cachePath),X.build)X.build.cacheDir=M7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=M7(X.media.cache.directory);if(X.story)X.story.outDir=M7(X.story.outDir)}async function u1(X){if(!X){if(G7)return G7;if(W$)return W$}let $=X?m0.resolve(X):process.cwd(),Z=pq.get($);if(Z)return Z;let Y=(async()=>{let G=(await bF({name:"stx",alias:"ui",cwd:$,defaultConfig:A1,verbose:!1})).config;if(vF(G),iq(G,$),PF(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (lq(),mq)),w=[],q=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],K=typeof W==="string"?{}:W[1]||{};try{let z,B;try{z=await import(U),B=m0.dirname(X0.resolve(U))}catch{let j=m0.resolve(process.cwd(),U);z=await import(j),B=m0.dirname(j)}let _=z.default||z;if(Q.register(_,G),_.components){let j=Array.isArray(_.components)?_.components:[_.components];for(let H of j)w.push(m0.resolve(B,H))}if(_.pages){let j=m0.resolve(B,_.pages),H=K.path||"/";q.push({dir:j,prefix:H})}if(_.setup){let j={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=O},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await _.setup(K,j)}console.log(`[stx] Plugin loaded: ${_.name||U}`)}catch(z){console.warn(`[stx] Failed to load plugin ${U}:`,z.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(pq.set($,Y),!X)W$=Y,Y.then((J)=>{G7=J}).catch(()=>{});return Y}function xF(X){return X}function fF(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var A1,cq,G7=null,pq,W$=null,I7;var H1=D(()=>{L$();O$();x$();f$();L4();_q();t4();hq();R3();VX();dq();A1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:E5,cachePath:".stx/cache",cacheVersion:"1.0.0",build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:hw,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:uq,hasEndTag:!1,description:"Include a web component in the template"},I2,E2,pJ,iJ,D2,b2,S2,y2,Z6,G6,zq,a4,...gq],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"main",linkSelector:"a[href]",viewTransitions:!0,scrollToTop:!0,prefetch:!0,cache:!0,cacheTTL:300000,skipSelectors:'[data-no-router], [target="_blank"]',viewTransitionCSS:{oldRoot:"fade-out 0.15s ease-in",newRoot:"fade-in 0.2s ease-out",oldContent:"slide-out 0.2s ease-in",newContent:"slide-in 0.25s ease-out"}},a11y:{enabled:!0,addSrOnlyStyles:!0,level:"AA",autoFix:!1,ignoreChecks:[]},seo:{enabled:!0,socialPreview:!0,defaultConfig:{title:"stx Project",description:"A website built with stx templating engine"}},animation:{enabled:!0,defaultDuration:300,defaultEase:"ease",respectMotionPreferences:!0,staggerDelay:50},markdown:{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0,additionalThemes:["light-plus","one-dark-pro","dracula","monokai","solarized-light","nord","github-dark"]}},loops:{maxWhileIterations:1000,useAltLoopVariable:!1},story:{enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],port:6006},pwa:{enabled:!1,manifest:{name:"stx App",shortName:"stx",description:"A Progressive Web App built with stx",startUrl:"/",display:"standalone",orientation:"any",themeColor:"#000000",backgroundColor:"#ffffff",scope:"/"},icons:{src:"public/icon.png",sizes:[72,96,128,144,152,192,384,512],generateWebP:!0,generateAppleIcons:!0,outputDir:"pwa-icons",purpose:["any","maskable"]},routes:[{pattern:"/",strategy:"network-first"},{pattern:"/static/*",strategy:"cache-first",maxAgeSeconds:2592000},{pattern:"/api/*",strategy:"network-only"},{pattern:"*.js",strategy:"stale-while-revalidate"},{pattern:"*.css",strategy:"stale-while-revalidate"},{pattern:"*.png",strategy:"cache-first"},{pattern:"*.jpg",strategy:"cache-first"},{pattern:"*.webp",strategy:"cache-first"},{pattern:"*.svg",strategy:"cache-first"}],offline:{enabled:!0,fallbackTitle:"You are offline",fallbackMessage:"Please check your internet connection and try again.",precacheAssets:[]},serviceWorker:{fileName:"sw.js",cacheVersion:"1.0.0",skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,excludeRoutes:["/api/auth/*"],cacheFileTypes:["html","css","js","png","jpg","jpeg","webp","svg","woff","woff2"],useWorkbox:!1},autoInject:!0,push:{enabled:!1,defaultOptions:{vibrate:[100,50,100],requireInteraction:!1}},backgroundSync:{enabled:!1,queueName:"stx-sync-queue",maxRetentionMinutes:1440,maxRetries:3,minInterval:1000,forms:[],endpoints:[]},shareTarget:{enabled:!1,action:"/share-target",method:"POST",enctype:"multipart/form-data",params:{title:"title",text:"text",url:"url"}},fileHandlers:{enabled:!1},protocolHandlers:[],cacheStorage:{maxSize:100,maxEntries:500,maxAge:30,purgeStrategy:"lru"},updates:{enabled:!0,promptUser:!0,autoReload:!1,message:"A new version is available. Reload to update?"},precache:{enabled:!0,includeHtml:!0,includeJs:!0,includeCss:!0,includeImages:!0,includeFonts:!0,include:[],exclude:["*.map","*.LICENSE.txt"],maxFileSizeKB:500}},media:{enabled:!0,image:{enabled:!0,defaultWidths:[320,480,640,768,1024,1280,1536,1920],defaultFormats:["avif","webp","jpeg"],defaultQuality:80,placeholderStrategy:"thumbhash",lazyByDefault:!0,enableDpr:!0,defaultDpr:[1,2,3],tsImages:{enabled:!0,outputDir:"dist/images",baseUrl:"/images",formatQuality:{jpeg:{quality:85,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4,lossless:!1}},breakpoints:[320,480,640,768,1024,1280,1536,1920],batchOptions:{concurrency:4,optimizationPreset:"web"}}},video:{enabled:!0,lazyByDefault:!0,defaultControls:!0,tsVideos:{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos",defaultQuality:"high",streaming:{enabled:!0,format:"hls",segmentDuration:6,defaultQualities:[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000}]},thumbnails:{enabled:!0,count:10,format:"webp",width:320},transcoding:{defaultCodec:"h264",defaultAudioCodec:"aac",speedPreset:"medium"}}},upload:{enabled:!0,maxSize:10485760,allowedTypes:["image/*","video/*","audio/*","application/pdf"],maxConcurrent:3},protected:{enabled:!0,expirationSeconds:3600,batchSize:10},cache:{enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}},broadcasting:{enabled:!1,driver:"bun",host:"0.0.0.0",port:6001,scheme:"ws",verbose:!1}};cq=new Set;pq=new Map;I7=new Proxy(A1,{get(X,$){if(G7&&$ in G7)return G7[$];if(!W$)u1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});var GV=`
|
|
15203
|
+
`}async function uq(X,$,Z,Y){if($.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[JX.join(JX.dirname(Y),Q,`${J}.stx`),JX.join(process.cwd(),Q,`${J}.stx`),JX.join(JX.dirname(Y),`${J}.stx`)],q=null;for(let K of w)if(await i(K)){q=await Bun.file(K).text();break}if(!q)return $0("WebComponent",`Component file not found: ${J}.stx`,o.FILE_NOT_FOUND);let W=NF(q,J);return`<script type="module">
|
|
15204
|
+
${kF(W)}
|
|
15205
|
+
</script>`}var dq=D(()=>{F1();T0()});var mq={};t(mq,{timingPlugin:()=>bF,pluginManager:()=>IF,definePlugin:()=>w$,debugPlugin:()=>yF,createVariablesPlugin:()=>SF,createFilterPlugin:()=>DF,createDirectivePlugin:()=>EF,PluginManager:()=>e4});function w$(X){return X}class e4{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function EF(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function DF(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function SF(X){return w$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var IF,yF,bF;var lq=D(()=>{IF=new e4;yF=w$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),bF=w$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var OZ={};t(OZ,{validateConfig:()=>hF,resolveStxDirectories:()=>iq,loadStxConfig:()=>u1,defineStxConfig:()=>gF,defaultConfig:()=>A1,config:()=>I7});import q$ from"fs";import m0 from"path";import{loadConfigWithResult as CF}from"bunfig";function PF(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=m0.join(J,"resources","views"),Q=m0.join(J,"resources","layouts");if(q$.existsSync(G)&&q$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=m0.join(J,"resources","views","pages");if(q$.existsSync(w))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function vF(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function iq(X,$){let Z=!X.root,Y=PF(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!cq.has(J))cq.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(m0.isAbsolute(Q)||vF(Q,J))continue;X[G]=m0.join(J,Q)}}return X}function xF(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=m0.isAbsolute(J)?J:m0.join($,J);if(q$.existsSync(G))continue;let Q=X.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(w?`, resolved under root "${Q}".`:"."))}}function fF(X){if(A6(X.stateDir),X.stateDir=R7(),X.cachePath=M7(X.cachePath),X.build)X.build.cacheDir=M7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=M7(X.media.cache.directory);if(X.story)X.story.outDir=M7(X.story.outDir)}async function u1(X){if(!X){if(G7)return G7;if(W$)return W$}let $=X?m0.resolve(X):process.cwd(),Z=pq.get($);if(Z)return Z;let Y=(async()=>{let G=(await CF({name:"stx",alias:"ui",cwd:$,defaultConfig:A1,verbose:!1})).config;if(fF(G),iq(G,$),xF(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (lq(),mq)),w=[],q=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],K=typeof W==="string"?{}:W[1]||{};try{let z,B;try{z=await import(U),B=m0.dirname(X0.resolve(U))}catch{let j=m0.resolve(process.cwd(),U);z=await import(j),B=m0.dirname(j)}let _=z.default||z;if(Q.register(_,G),_.components){let j=Array.isArray(_.components)?_.components:[_.components];for(let H of j)w.push(m0.resolve(B,H))}if(_.pages){let j=m0.resolve(B,_.pages),H=K.path||"/";q.push({dir:j,prefix:H})}if(_.setup){let j={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=O},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await _.setup(K,j)}console.log(`[stx] Plugin loaded: ${_.name||U}`)}catch(z){console.warn(`[stx] Failed to load plugin ${U}:`,z.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(pq.set($,Y),!X)W$=Y,Y.then((J)=>{G7=J}).catch(()=>{});return Y}function gF(X){return X}function hF(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var A1,cq,G7=null,pq,W$=null,I7;var H1=D(()=>{L$();O$();x$();f$();L4();_q();t4();hq();R3();VX();dq();A1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:E5,cachePath:".stx/cache",cacheVersion:"1.0.0",build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:hw,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:uq,hasEndTag:!1,description:"Include a web component in the template"},I2,E2,pJ,iJ,D2,b2,S2,y2,Z6,G6,zq,a4,...gq],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"main",linkSelector:"a[href]",viewTransitions:!0,scrollToTop:!0,prefetch:!0,cache:!0,cacheTTL:300000,skipSelectors:'[data-no-router], [target="_blank"]',viewTransitionCSS:{oldRoot:"fade-out 0.15s ease-in",newRoot:"fade-in 0.2s ease-out",oldContent:"slide-out 0.2s ease-in",newContent:"slide-in 0.25s ease-out"}},a11y:{enabled:!0,addSrOnlyStyles:!0,level:"AA",autoFix:!1,ignoreChecks:[]},seo:{enabled:!0,socialPreview:!0,defaultConfig:{title:"stx Project",description:"A website built with stx templating engine"}},animation:{enabled:!0,defaultDuration:300,defaultEase:"ease",respectMotionPreferences:!0,staggerDelay:50},markdown:{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0,additionalThemes:["light-plus","one-dark-pro","dracula","monokai","solarized-light","nord","github-dark"]}},loops:{maxWhileIterations:1000,useAltLoopVariable:!1},story:{enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],port:6006},pwa:{enabled:!1,manifest:{name:"stx App",shortName:"stx",description:"A Progressive Web App built with stx",startUrl:"/",display:"standalone",orientation:"any",themeColor:"#000000",backgroundColor:"#ffffff",scope:"/"},icons:{src:"public/icon.png",sizes:[72,96,128,144,152,192,384,512],generateWebP:!0,generateAppleIcons:!0,outputDir:"pwa-icons",purpose:["any","maskable"]},routes:[{pattern:"/",strategy:"network-first"},{pattern:"/static/*",strategy:"cache-first",maxAgeSeconds:2592000},{pattern:"/api/*",strategy:"network-only"},{pattern:"*.js",strategy:"stale-while-revalidate"},{pattern:"*.css",strategy:"stale-while-revalidate"},{pattern:"*.png",strategy:"cache-first"},{pattern:"*.jpg",strategy:"cache-first"},{pattern:"*.webp",strategy:"cache-first"},{pattern:"*.svg",strategy:"cache-first"}],offline:{enabled:!0,fallbackTitle:"You are offline",fallbackMessage:"Please check your internet connection and try again.",precacheAssets:[]},serviceWorker:{fileName:"sw.js",cacheVersion:"1.0.0",skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,excludeRoutes:["/api/auth/*"],cacheFileTypes:["html","css","js","png","jpg","jpeg","webp","svg","woff","woff2"],useWorkbox:!1},autoInject:!0,push:{enabled:!1,defaultOptions:{vibrate:[100,50,100],requireInteraction:!1}},backgroundSync:{enabled:!1,queueName:"stx-sync-queue",maxRetentionMinutes:1440,maxRetries:3,minInterval:1000,forms:[],endpoints:[]},shareTarget:{enabled:!1,action:"/share-target",method:"POST",enctype:"multipart/form-data",params:{title:"title",text:"text",url:"url"}},fileHandlers:{enabled:!1},protocolHandlers:[],cacheStorage:{maxSize:100,maxEntries:500,maxAge:30,purgeStrategy:"lru"},updates:{enabled:!0,promptUser:!0,autoReload:!1,message:"A new version is available. Reload to update?"},precache:{enabled:!0,includeHtml:!0,includeJs:!0,includeCss:!0,includeImages:!0,includeFonts:!0,include:[],exclude:["*.map","*.LICENSE.txt"],maxFileSizeKB:500}},media:{enabled:!0,image:{enabled:!0,defaultWidths:[320,480,640,768,1024,1280,1536,1920],defaultFormats:["avif","webp","jpeg"],defaultQuality:80,placeholderStrategy:"thumbhash",lazyByDefault:!0,enableDpr:!0,defaultDpr:[1,2,3],tsImages:{enabled:!0,outputDir:"dist/images",baseUrl:"/images",formatQuality:{jpeg:{quality:85,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4,lossless:!1}},breakpoints:[320,480,640,768,1024,1280,1536,1920],batchOptions:{concurrency:4,optimizationPreset:"web"}}},video:{enabled:!0,lazyByDefault:!0,defaultControls:!0,tsVideos:{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos",defaultQuality:"high",streaming:{enabled:!0,format:"hls",segmentDuration:6,defaultQualities:[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000}]},thumbnails:{enabled:!0,count:10,format:"webp",width:320},transcoding:{defaultCodec:"h264",defaultAudioCodec:"aac",speedPreset:"medium"}}},upload:{enabled:!0,maxSize:10485760,allowedTypes:["image/*","video/*","audio/*","application/pdf"],maxConcurrent:3},protected:{enabled:!0,expirationSeconds:3600,batchSize:10},cache:{enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}},broadcasting:{enabled:!1,driver:"bun",host:"0.0.0.0",port:6001,scheme:"ws",verbose:!1}};cq=new Set;pq=new Map;I7=new Proxy(A1,{get(X,$){if(G7&&$ in G7)return G7[$];if(!W$)u1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});var wV=`
|
|
15206
15206
|
<script>
|
|
15207
15207
|
(function() {
|
|
15208
15208
|
'use strict';
|
|
@@ -16134,14 +16134,14 @@ else if (data.type === 'event' && data.method) {
|
|
|
16134
16134
|
}
|
|
16135
16135
|
})();
|
|
16136
16136
|
</script>
|
|
16137
|
-
`.replace("debug: false,",`debug: ${$},`).replace("timeout: 30000",`timeout: ${Z}`)}function
|
|
16137
|
+
`.replace("debug: false,",`debug: ${$},`).replace("timeout: 30000",`timeout: ${Z}`)}function qV(){return!1}function WV(X,$={}){let Z=/@craft(?:\(([\s\S]*?)\))?/g;return X.replace(Z,(Y,J)=>{let G={};if(J)try{G=JSON.parse(J.replace(/'/g,'"'))}catch{try{G=Function(`return ${J}`)()}catch{console.warn(`[stx] Invalid @craft config: ${J}`)}}return J2(G)})}function G2(X,$={}){if(X.includes("__craftBridgeInitialized"))return X;let Z=J2($);if(X.includes("</head>"))return X.replace("</head>",`${Z}
|
|
16138
16138
|
</head>`);if(X.includes("<body"))return X.replace(/(<body[^>]*>)/,`$1
|
|
16139
|
-
${Z}`);return Z+X}var JW=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function WV(X,$={}){let Z=performance.now(),Y={target:$.target||"universal",format:$.format||"zig",optimize:$.optimize??!0,treeShake:$.treeShake??!0,hotReload:$.hotReload??!1,debug:$.debug??!1,sourceMaps:$.sourceMaps??!1,bundle:$.bundle??!0,minify:$.minify??!1,components:$.components||JW},J=typeof X==="string"?GW(X):X,G=wW(J.tree,Y),Q=BW(G),w=Y.treeShake?HW(G,Q):G,q=new Map;if(Y.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let _ of B){let j=_$(w,{...Y,target:_});q.set(_,j)}}else{let B=_$(w,Y);q.set(Y.target,B)}let W=FW(w,Y,q),U=VW(J,w,Y),K={compilationTime:performance.now()-Z,totalComponents:B$(J.tree),nativeComponents:j$(w),webComponents:B$(J.tree)-j$(w),bundleSize:W.length,treeShakenSize:Y.treeShake?LW(G,w):W.length,warnings:[],errors:[]},z;if(Y.sourceMaps)z=AW(J,w);return{code:W,platformCode:q,dependencies:Q,manifest:U,sourceMaps:z,stats:K}}function GW(X){let $={type:"fragment",children:[]},Z=X.match(/<body[^>]*>([\s\S]*?)<\/body>/i),Y=Z?Z[1]:X;return w2(Y,$),{id:z2(),hash:_2(X),tree:$,scripts:MW(X),styles:NW(X),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:X.includes("{{"),hasEventHandlers:X.includes("onclick")||X.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:X.length}}}function w2(X,$){let Z=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q]=Y,w=J.startsWith("@craft-"),q={type:w?"component":"element",tag:w?J.slice(1):J,props:QW(G),children:[],componentName:w?J.slice(1):void 0};if(Q){let W=Q.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});w2(Q,q)}$.children=$.children??[],$.children.push(q)}}function QW(X){let $={},Z=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G]=Y;$[J]=G??!0}return $}function wW(X,$){return q2(X,$)}function q2(X,$){let Z=X.componentName?$.components?.get(X.componentName):void 0,Y="craft.View";if(Z)Y=Z.zigType;else if(X.type==="text")Y="craft.Text";else if(X.tag)Y=qW(X.tag);let J={};if(X.props)for(let[q,W]of Object.entries(X.props))J[q]=WW(W);let G=[];if(X.children)for(let q of X.children)G.push(q2(q,$));let Q=new Map;if(X.props){for(let[q,W]of Object.entries(X.props))if(q.startsWith("on")&&typeof W==="string")Q.set(q.slice(2).toLowerCase(),W)}let w=KW(X);return{type:UW(X,Z),zigType:Y,props:J,children:G,events:Q,styles:w,id:X.hydrationKey,key:X.props?.key}}function qW(X){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[X.toLowerCase()]||"craft.View"}function WW(X){if(typeof X==="string"){if(X.startsWith("{{")&&X.endsWith("}}"))return{type:"binding",path:X.slice(2,-2).trim()};if(X.includes("(")&&X.includes(")"))return{type:"callback",handler:X};return{type:"literal",value:X}}if(typeof X==="number"||typeof X==="boolean")return{type:"literal",value:X};return{type:"literal",value:String(X)}}function UW(X,$){if($){let Y=$.name.toLowerCase();if(Y.includes("button"))return"button";if(Y.includes("input")||Y.includes("text"))return"input";if(Y.includes("image")||Y.includes("avatar"))return"image";if(Y.includes("list")||Y.includes("table"))return"list";if(Y.includes("scroll"))return"scroll";return"custom"}if(X.type==="text")return"text";let Z=X.tag?.toLowerCase();if(Z==="button")return"button";if(Z==="input"||Z==="textarea")return"input";if(Z==="img")return"image";if(Z==="ul"||Z==="ol")return"list";return"view"}function KW(X){let $=X.props?.style,Z={},Y={};if($){let J=$.split(";").filter(Boolean);for(let G of J){let[Q,w]=G.split(":").map((q)=>q.trim());if(!Q||!w)continue;switch(Q){case"display":Z.display=w;break;case"flex-direction":Z.flexDirection=w;break;case"justify-content":Z.justifyContent=zW(w);break;case"align-items":Z.alignItems=_W(w);break;case"gap":Z.gap=Number.parseInt(w,10);break;case"padding":Z.padding=Number.parseInt(w,10);break;case"margin":Z.margin=Number.parseInt(w,10);break;case"width":Z.width=w==="auto"?"auto":Number.parseInt(w,10);break;case"height":Z.height=w==="auto"?"auto":Number.parseInt(w,10);break;case"background-color":case"background":Y.backgroundColor=w;break;case"border-color":Y.borderColor=w;break;case"border-width":Y.borderWidth=Number.parseInt(w,10);break;case"border-radius":Y.borderRadius=Number.parseInt(w,10);break;case"opacity":Y.opacity=Number.parseFloat(w);break}}}return{layout:Z,appearance:Y}}function zW(X){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[X]||"start"}function _W(X){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[X]||"start"}function BW(X){let $=[],Z=new Set;function Y(J,G){let Q=J.id||z2();if(Z.has(Q))return;Z.add(Q);let w={id:Q,type:"component",path:J.zigType,dependencies:G?[G]:[],size:W2(J),isStatic:jW(J)};$.push(w);for(let q of J.children)Y(q,Q)}return Y(X),$}function W2(X){let $=100;return $+=Object.keys(X.props).length*20,$+=X.events.size*50,$}function jW(X){for(let $ of Object.values(X.props))if($.type!=="literal")return!1;return X.events.size===0}function HW(X,$){return X}function LW(X,$){let Z=0;function Y(J){Z+=W2(J);for(let G of J.children)Y(G)}return Y($),Z}function _$(X,$){switch($.format){case"zig":return Q2(X,$);case"typescript":return OW(X,$);case"json":return JSON.stringify(X,null,$.minify?0:2);default:return Q2(X,$)}}function Q2(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('const std = @import("std");'),Z.push('const craft = @import("craft");'),Z.push(""),Z.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Z.push(" return try build(allocator);"),Z.push("}"),Z.push(""),U2(X,Z,0),Z.join(`
|
|
16139
|
+
${Z}`);return Z+X}var JW=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function KV(X,$={}){let Z=performance.now(),Y={target:$.target||"universal",format:$.format||"zig",optimize:$.optimize??!0,treeShake:$.treeShake??!0,hotReload:$.hotReload??!1,debug:$.debug??!1,sourceMaps:$.sourceMaps??!1,bundle:$.bundle??!0,minify:$.minify??!1,components:$.components||JW},J=typeof X==="string"?GW(X):X,G=wW(J.tree,Y),Q=BW(G),w=Y.treeShake?HW(G,Q):G,q=new Map;if(Y.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let _ of B){let j=_$(w,{...Y,target:_});q.set(_,j)}}else{let B=_$(w,Y);q.set(Y.target,B)}let W=FW(w,Y,q),U=VW(J,w,Y),K={compilationTime:performance.now()-Z,totalComponents:B$(J.tree),nativeComponents:j$(w),webComponents:B$(J.tree)-j$(w),bundleSize:W.length,treeShakenSize:Y.treeShake?LW(G,w):W.length,warnings:[],errors:[]},z;if(Y.sourceMaps)z=AW(J,w);return{code:W,platformCode:q,dependencies:Q,manifest:U,sourceMaps:z,stats:K}}function GW(X){let $={type:"fragment",children:[]},Z=X.match(/<body[^>]*>([\s\S]*?)<\/body>/i),Y=Z?Z[1]:X;return w2(Y,$),{id:z2(),hash:_2(X),tree:$,scripts:MW(X),styles:NW(X),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:X.includes("{{"),hasEventHandlers:X.includes("onclick")||X.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:X.length}}}function w2(X,$){let Z=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q]=Y,w=J.startsWith("@craft-"),q={type:w?"component":"element",tag:w?J.slice(1):J,props:QW(G),children:[],componentName:w?J.slice(1):void 0};if(Q){let W=Q.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});w2(Q,q)}$.children=$.children??[],$.children.push(q)}}function QW(X){let $={},Z=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G]=Y;$[J]=G??!0}return $}function wW(X,$){return q2(X,$)}function q2(X,$){let Z=X.componentName?$.components?.get(X.componentName):void 0,Y="craft.View";if(Z)Y=Z.zigType;else if(X.type==="text")Y="craft.Text";else if(X.tag)Y=qW(X.tag);let J={};if(X.props)for(let[q,W]of Object.entries(X.props))J[q]=WW(W);let G=[];if(X.children)for(let q of X.children)G.push(q2(q,$));let Q=new Map;if(X.props){for(let[q,W]of Object.entries(X.props))if(q.startsWith("on")&&typeof W==="string")Q.set(q.slice(2).toLowerCase(),W)}let w=KW(X);return{type:UW(X,Z),zigType:Y,props:J,children:G,events:Q,styles:w,id:X.hydrationKey,key:X.props?.key}}function qW(X){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[X.toLowerCase()]||"craft.View"}function WW(X){if(typeof X==="string"){if(X.startsWith("{{")&&X.endsWith("}}"))return{type:"binding",path:X.slice(2,-2).trim()};if(X.includes("(")&&X.includes(")"))return{type:"callback",handler:X};return{type:"literal",value:X}}if(typeof X==="number"||typeof X==="boolean")return{type:"literal",value:X};return{type:"literal",value:String(X)}}function UW(X,$){if($){let Y=$.name.toLowerCase();if(Y.includes("button"))return"button";if(Y.includes("input")||Y.includes("text"))return"input";if(Y.includes("image")||Y.includes("avatar"))return"image";if(Y.includes("list")||Y.includes("table"))return"list";if(Y.includes("scroll"))return"scroll";return"custom"}if(X.type==="text")return"text";let Z=X.tag?.toLowerCase();if(Z==="button")return"button";if(Z==="input"||Z==="textarea")return"input";if(Z==="img")return"image";if(Z==="ul"||Z==="ol")return"list";return"view"}function KW(X){let $=X.props?.style,Z={},Y={};if($){let J=$.split(";").filter(Boolean);for(let G of J){let[Q,w]=G.split(":").map((q)=>q.trim());if(!Q||!w)continue;switch(Q){case"display":Z.display=w;break;case"flex-direction":Z.flexDirection=w;break;case"justify-content":Z.justifyContent=zW(w);break;case"align-items":Z.alignItems=_W(w);break;case"gap":Z.gap=Number.parseInt(w,10);break;case"padding":Z.padding=Number.parseInt(w,10);break;case"margin":Z.margin=Number.parseInt(w,10);break;case"width":Z.width=w==="auto"?"auto":Number.parseInt(w,10);break;case"height":Z.height=w==="auto"?"auto":Number.parseInt(w,10);break;case"background-color":case"background":Y.backgroundColor=w;break;case"border-color":Y.borderColor=w;break;case"border-width":Y.borderWidth=Number.parseInt(w,10);break;case"border-radius":Y.borderRadius=Number.parseInt(w,10);break;case"opacity":Y.opacity=Number.parseFloat(w);break}}}return{layout:Z,appearance:Y}}function zW(X){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[X]||"start"}function _W(X){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[X]||"start"}function BW(X){let $=[],Z=new Set;function Y(J,G){let Q=J.id||z2();if(Z.has(Q))return;Z.add(Q);let w={id:Q,type:"component",path:J.zigType,dependencies:G?[G]:[],size:W2(J),isStatic:jW(J)};$.push(w);for(let q of J.children)Y(q,Q)}return Y(X),$}function W2(X){let $=100;return $+=Object.keys(X.props).length*20,$+=X.events.size*50,$}function jW(X){for(let $ of Object.values(X.props))if($.type!=="literal")return!1;return X.events.size===0}function HW(X,$){return X}function LW(X,$){let Z=0;function Y(J){Z+=W2(J);for(let G of J.children)Y(G)}return Y($),Z}function _$(X,$){switch($.format){case"zig":return Q2(X,$);case"typescript":return OW(X,$);case"json":return JSON.stringify(X,null,$.minify?0:2);default:return Q2(X,$)}}function Q2(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('const std = @import("std");'),Z.push('const craft = @import("craft");'),Z.push(""),Z.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Z.push(" return try build(allocator);"),Z.push("}"),Z.push(""),U2(X,Z,0),Z.join(`
|
|
16140
16140
|
`)}function U2(X,$,Z){let Y=" ".repeat(Z);if(Z===0)$.push("fn build(allocator: std.mem.Allocator) !craft.Element {");let J=`node_${Z}`;$.push(`${Y} var ${J} = try ${X.zigType}.init(allocator);`);for(let[G,Q]of Object.entries(X.props))if(Q.type==="literal"){let w=typeof Q.value==="string"?`"${Q.value}"`:String(Q.value);$.push(`${Y} ${J}.set${TW(G)}(${w});`)}for(let G=0;G<X.children.length;G++){let Q=X.children[G];if(Q.type==="text"){let w=Q.props.text?.type==="literal"?String(Q.props.text.value):"";$.push(`${Y} try ${J}.addChild(try craft.Text.init(allocator, "${w}"));`)}else U2(Q,$,Z+1),$.push(`${Y} try ${J}.addChild(node_${Z+1});`)}if(Z===0)$.push(` return ${J}.element();`),$.push("}")}function OW(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('import { Craft } from "@stacksjs/craft";'),Z.push(""),Z.push("export function render(): Craft.Element {"),Z.push(" return "+K2(X,1)+";"),Z.push("}"),Z.join(`
|
|
16141
16141
|
`)}function K2(X,$){let Z=" ".repeat($),Y=[];for(let[w,q]of Object.entries(X.props))if(q.type==="literal"){let W=typeof q.value==="string"?`"${q.value}"`:String(q.value);Y.push(`${w}: ${W}`)}let J=Y.length>0?`{ ${Y.join(", ")} }`:"{}",G=X.children.map((w)=>w.type==="text"?`"${w.props.text?.type==="literal"?w.props.text.value:""}"`:K2(w,$+1)),Q=G.length>0?`,
|
|
16142
16142
|
${Z} [${G.join(`,
|
|
16143
16143
|
${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function FW(X,$,Z){if($.target==="universal"){let Y=[];Y.push("// Universal entry point"),Y.push("");for(let[J,G]of Z)Y.push(`// --- ${J.toUpperCase()} ---`),Y.push(`#if ${J.toUpperCase()}`),Y.push(G),Y.push("#endif"),Y.push("");return Y.join(`
|
|
16144
|
-
`)}return Z.get($.target)||_$(X,$)}function VW(X,$,Z){let Y=[];function J(G){Y.push({name:G.zigType,hash:_2(JSON.stringify(G.props)),props:Object.keys(G.props),events:Array.from(G.events.keys()),slots:[],isNative:G.zigType.startsWith("craft.")});for(let Q of G.children)J(Q)}return J($),{version:"1.0.0",components:Y,entry:X.id,assets:[],styles:X.styles}}function AW(X,$){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var RW=0;function z2(){return`id_${++RW}`}function _2(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}function TW(X){return X.charAt(0).toUpperCase()+X.slice(1)}function MW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function NW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function B$(X){let $=X.type==="component"?1:0;if(X.children)for(let Z of X.children)$+=B$(Z);return $}function j$(X){let $=X.zigType.startsWith("craft.")?1:0;for(let Z of X.children)$+=j$(Z);return $}function
|
|
16144
|
+
`)}return Z.get($.target)||_$(X,$)}function VW(X,$,Z){let Y=[];function J(G){Y.push({name:G.zigType,hash:_2(JSON.stringify(G.props)),props:Object.keys(G.props),events:Array.from(G.events.keys()),slots:[],isNative:G.zigType.startsWith("craft.")});for(let Q of G.children)J(Q)}return J($),{version:"1.0.0",components:Y,entry:X.id,assets:[],styles:X.styles}}function AW(X,$){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var RW=0;function z2(){return`id_${++RW}`}function _2(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}function TW(X){return X.charAt(0).toUpperCase()+X.slice(1)}function MW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function NW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function B$(X){let $=X.type==="component"?1:0;if(X.children)for(let Z of X.children)$+=B$(Z);return $}function j$(X){let $=X.zigType.startsWith("craft.")?1:0;for(let Z of X.children)$+=j$(Z);return $}function zV(X){return{start:async()=>{console.log("[craft-compiler] Hot reload server started")},stop:async()=>{console.log("[craft-compiler] Hot reload server stopped")},notifyChange:($)=>{console.log(`[craft-compiler] File changed: ${$}`)}}}var H$={button:{nativeType:"craft-button",fallbackTag:"button",fallbackClasses:"craft-button",nativeProps:["variant","size","disabled","loading"]},"text-input":{nativeType:"craft-text-input",fallbackTag:"input",fallbackClasses:"craft-text-input",nativeProps:["placeholder","value","type","disabled","readonly"]},textarea:{nativeType:"craft-textarea",fallbackTag:"textarea",fallbackClasses:"craft-textarea",nativeProps:["placeholder","value","rows","disabled","readonly"]},checkbox:{nativeType:"craft-checkbox",fallbackTag:"input",fallbackClasses:"craft-checkbox",nativeProps:["checked","disabled","label"],render:(X,$)=>{let Z=X.checked?"checked":"",Y=X.disabled?"disabled":"";return`<label class="craft-checkbox-wrapper">
|
|
16145
16145
|
<input type="checkbox" class="craft-checkbox" ${Z} ${Y}>
|
|
16146
16146
|
<span class="craft-checkbox-label">${$||X.label||""}</span>
|
|
16147
16147
|
</label>`}},radio:{nativeType:"craft-radio",fallbackTag:"input",fallbackClasses:"craft-radio",nativeProps:["checked","disabled","name","value","label"]},select:{nativeType:"craft-select",fallbackTag:"select",fallbackClasses:"craft-select",nativeProps:["value","disabled","options","placeholder"]},slider:{nativeType:"craft-slider",fallbackTag:"input",fallbackClasses:"craft-slider",nativeProps:["value","min","max","step","disabled"],render:(X,$)=>{let Z=X.min??0,Y=X.max??100,J=X.step??1,G=X.value??50,Q=X.disabled?"disabled":"";return`<input type="range" class="craft-slider" min="${Z}" max="${Y}" step="${J}" value="${G}" ${Q}>`}},label:{nativeType:"craft-label",fallbackTag:"span",fallbackClasses:"craft-label",nativeProps:["text","for"]},badge:{nativeType:"craft-badge",fallbackTag:"span",fallbackClasses:"craft-badge",nativeProps:["variant","size"]},avatar:{nativeType:"craft-avatar",fallbackTag:"div",fallbackClasses:"craft-avatar",nativeProps:["src","alt","size","fallback"],render:(X,$)=>{let Z=X.size||40,Y=X.src,J=String(X.alt||""),G=X.fallback||(J?J.charAt(0).toUpperCase():"?");if(Y)return`<img class="craft-avatar" src="${Y}" alt="${J}" style="width:${Z}px;height:${Z}px;border-radius:50%">`;return`<div class="craft-avatar craft-avatar-fallback" style="width:${Z}px;height:${Z}px;border-radius:50%;display:flex;align-items:center;justify-content:center">${G}</div>`}},progress:{nativeType:"craft-progress",fallbackTag:"div",fallbackClasses:"craft-progress",nativeProps:["value","max","variant"],render:(X,$)=>{let Z=Number(X.value)||0,Y=Number(X.max)||100;return`<div class="craft-progress"><div class="craft-progress-bar" style="width:${Math.min(100,Math.max(0,Z/Y*100))}%"></div></div>`}},spinner:{nativeType:"craft-spinner",fallbackTag:"div",fallbackClasses:"craft-spinner",nativeProps:["size"],render:(X,$)=>{let Z=X.size||24;return`<div class="craft-spinner" style="width:${Z}px;height:${Z}px"></div>`}},card:{nativeType:"craft-card",fallbackTag:"div",fallbackClasses:"craft-card",nativeProps:["title","subtitle","variant"]},modal:{nativeType:"craft-modal",fallbackTag:"dialog",fallbackClasses:"craft-modal",nativeProps:["open","title","closable","size"],render:(X,$)=>{let Z=X.open?"open":"",Y=X.title||"";return`<dialog class="craft-modal" ${Z}>
|
|
@@ -16573,7 +16573,7 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function FW(X,$,
|
|
|
16573
16573
|
}
|
|
16574
16574
|
}
|
|
16575
16575
|
</style>
|
|
16576
|
-
`,
|
|
16576
|
+
`,BV=`
|
|
16577
16577
|
<script id="craft-component-runtime">
|
|
16578
16578
|
(function() {
|
|
16579
16579
|
if (window.__stxCraftComponentRuntime) return;
|
|
@@ -18163,14 +18163,14 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function FW(X,$,
|
|
|
18163
18163
|
${X.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0(X.icon)}"${Z}></span>`:""}
|
|
18164
18164
|
<span class="craft-sidebar-item-label">${_1(X.label)}</span>
|
|
18165
18165
|
${X.badge?`<span class="craft-sidebar-item-badge">${_1(X.badge)}</span>`:""}
|
|
18166
|
-
</button>`}function A5(X){return X.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function vW(X){let $=5381;for(let Z=0;Z<X.length;Z++)$=$*33^X.charCodeAt(Z);return($>>>0).toString(36)}function _1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function g0(X){return _1(X).replace(/`/g,"`")}function xW(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function fW(X,$,Z){let Y=[];Y.push(`class="${Z.join(" ")}"`),Y.push(`data-craft="${$.nativeType}"`);for(let[J,G]of Object.entries(X))if(G===!0)Y.push(J);else if(G!==!1&&G!==void 0&&G!==null){let Q=String(G).replace(/"/g,""");Y.push(`${J}="${Q}"`)}return Y.join(" ")}function
|
|
18166
|
+
</button>`}function A5(X){return X.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function vW(X){let $=5381;for(let Z=0;Z<X.length;Z++)$=$*33^X.charCodeAt(Z);return($>>>0).toString(36)}function _1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function g0(X){return _1(X).replace(/`/g,"`")}function xW(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function fW(X,$,Z){let Y=[];Y.push(`class="${Z.join(" ")}"`),Y.push(`data-craft="${$.nativeType}"`);for(let[J,G]of Object.entries(X))if(G===!0)Y.push(J);else if(G!==!1&&G!==void 0&&G!==null){let Q=String(G).replace(/"/g,""");Y.push(`${J}="${Q}"`)}return Y.join(" ")}function jV(X,$){H$[X]=$}function HV(){return{...H$}}var Q7=new Map,w7=new Map;function gW(X,$){let Z=$?.id||oW(X),Y=aW(X),J=Q7.get(Z);if(J&&J.hash===Y)return J;let G=hW(X),Q=iW(X),w=nW(X),q=cW(G),{staticParts:W,dynamicParts:U}=pW(G),K=rW(X),z={id:Z,hash:Y,tree:G,scripts:Q,styles:w,staticParts:W,dynamicParts:U,dependencies:K,metadata:q};return Q7.set(Z,z),z}async function OV(X,$={},Z={}){let Y=performance.now();if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`,q=w7.get(w);if(q&&Date.now()-q.timestamp<(Z.cacheTTL||60000))return{html:q.html,styles:X.styles.join(`
|
|
18167
18167
|
`),scripts:X.scripts.join(`
|
|
18168
18168
|
`),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:X.metadata.componentCount}}}let J;if(Z.streaming)J=await dW(X.tree,$);else J=q7(X.tree,$);let G;if(Z.hydrate){let w=lW(J,X,$);J=w.html,G=w.data}if(Z.minify)J=sW(J);if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`;w7.set(w,{html:J,timestamp:Date.now()})}let Q=performance.now()-Y;return{html:J,styles:X.styles.join(`
|
|
18169
18169
|
`),scripts:X.scripts.join(`
|
|
18170
|
-
`),hydrationData:G,metadata:{renderTime:Q,cacheHit:!1,totalSize:J.length,componentCount:X.metadata.componentCount}}}function
|
|
18170
|
+
`),hydrationData:G,metadata:{renderTime:Q,cacheHit:!1,totalSize:J.length,componentCount:X.metadata.componentCount}}}function FV(X,$){let Z=[],Y=[],J=[],G=new Map,Q=[];return W7(X.tree,(w,q)=>{if(w.type==="component"&&w.componentName){if(N2(w.componentName))Z.push(w.componentName)}if(w.type==="element"&&w.tag){let W=XU(w);if(W)Q.push(W);if(w.props){for(let[U,K]of Object.entries(w.props))if(U.startsWith("on")&&typeof K==="string"){let z=`handler_${G.size}`;G.set(z,K)}}}if(w.isStatic&&w.type==="element")Y.push(A2(w));else if(!w.isStatic&&w.type!=="text")J.push(w.tag||w.componentName||"unknown")}),{nativeComponents:Z,staticHTML:Y,dynamicParts:J,eventHandlers:G,nativeWidgets:Q}}function VV(X,$={}){let Z=gW(X),Y=mW(Z,$),J=new Map,G=[];return W7(Z.tree,(Q)=>{if(Q.type==="component"&&Q.componentName){if(N2(Q.componentName)){G.push(Q.componentName);let w=`<!--craft:${Q.componentName}:${Q.hydrationKey||"default"}-->`;J.set(Q.hydrationKey||Q.componentName,w)}}}),{staticHTML:Y,dynamicPlaceholders:J,craftComponents:G}}function hW(X){let $={type:"fragment",children:[]},Z=$,Y=[$],J=X,G=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);while(J.length>0){let Q=J.match(/^<(@?[\w-]+)([^>]*)>/);if(Q){let[W,U,K]=Q,z=uW(K),B=U.startsWith("@craft-"),_=B?U:U.toLowerCase(),j={type:B?"component":"element",tag:_,props:z,children:[],componentName:B?_.slice(1):void 0,isStatic:!F2(K),hydrationKey:eW()};if(Z.children=Z.children||[],Z.children.push(j),!G.has(_)&&!K.endsWith("/"))Y.push(j),Z=j;J=J.slice(W.length);continue}let w=J.match(/^<\/(@?[\w-]+)>/);if(w){let[W,U]=w,z=U.startsWith("@craft-")?U:U.toLowerCase();while(Y.length>1){let B=Y.pop();if(Z=Y[Y.length-1],B.tag===z)break}J=J.slice(W.length);continue}let q=J.match(/^[^<]+/);if(q){let W=q[0];if(W.trim()){let U={type:"text",text:W,isStatic:!F2(W)};Z.children=Z.children||[],Z.children.push(U)}J=J.slice(W.length);continue}J=J.slice(1)}return $}function uW(X){let $={},Z=/([\w-:@]+)(?:=(?:"([^"]*)"|'([^']*)'|(\S+)))?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q,w]=Y,q=G??Q??w??!0;$[J]=q}return $}function W7(X,$,Z=[]){if($(X,Z),X.children)X.children.forEach((Y,J)=>{W7(Y,$,[...Z,`${J}`])})}function q7(X,$){switch(X.type){case"text":return T2(X.text||"",$);case"element":case"component":{let Z=X.tag||"div",Y=R2(X.props||{},$),J=(X.children||[]).map((G)=>q7(G,$)).join("");if(!X.children||X.children.length===0){if(["input","br","hr","img","meta","link"].includes(Z))return`<${Z}${Y} />`}return`<${Z}${Y}>${J}</${Z}>`}case"fragment":return(X.children||[]).map((Z)=>q7(Z,$)).join("");case"slot":return`<!--slot:${X.slotName||"default"}-->`;default:return""}}function A2(X){if(X.type==="text")return X.text||"";let $=X.tag||"div",Z=R2(X.props||{},{});return`<${$}${Z}></${$}>`}function R2(X,$){let Z=[];for(let[Y,J]of Object.entries(X))if(J===!0)Z.push(` ${Y}`);else if(J!==!1&&J!==null&&J!==void 0){let G=T2(String(J),$);Z.push(` ${Y}="${M2(G)}"`)}return Z.join("")}async function dW(X,$){return q7(X,$)}function mW(X,$){let Z=[];return W7(X.tree,(Y)=>{if(Y.isStatic)Z.push(q7(Y,$))}),Z.join("")}function lW(X,$,Z){let Y={templateId:$.id,context:Z,dynamicParts:Array.from($.dynamicParts.entries())},J=`
|
|
18171
18171
|
<script data-craft-hydration>
|
|
18172
18172
|
window.__CRAFT_HYDRATION__ = ${JSON.stringify(Y)};
|
|
18173
|
-
</script>`;return{html:X+J,data:Y}}function cW(X){let $=!1,Z=!1,Y=!1,J=!1,G=0,Q=0;function w(q,W){if(Q=Math.max(Q,W),q.type==="slot")$=!0;if(q.type==="component")G++;if(!q.isStatic)Z=!0;if(q.props)for(let U of Object.keys(q.props)){if(U.startsWith("on"))Y=!0;if(U==="@async"||U==="data-async")J=!0}if(q.children)q.children.forEach((U)=>w(U,W+1))}return w(X,0),{hasSlots:$,hasDynamicContent:Z,hasEventHandlers:Y,hasAsyncContent:J,componentCount:G,maxDepth:Q,estimatedSize:JSON.stringify(X).length}}function pW(X){let $=new Map,Z=new Map;return W7(X,(Y,J)=>{let G=J.join(".");if(Y.isStatic)$.set(G,A2(Y));else Z.set(G,Y.tag||Y.componentName||"dynamic")}),{staticParts:$,dynamicParts:Z}}function iW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function nW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function rW(X){let $=[],Z=/@include\s*\(\s*['"]([^'"]+)['"]/g,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);let J=/@component\s*\(\s*['"]([^'"]+)['"]/g;while((Y=J.exec(X))!==null)$.push(Y[1]);let G=/<@craft-[\w-]+/g;while((Y=G.exec(X))!==null)$.push(Y[0].slice(2));return[...new Set($)]}function F2(X){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test(X)}function T2(X,$){let Z=X.replace(/\{\{\s*(.+?)\s*\}\}/g,(Y,J)=>{try{let G=V2(J.trim(),$);return M2(String(G??""))}catch{return""}});return Z=Z.replace(/\{!!\s*(.+?)\s*!!\}/g,(Y,J)=>{try{let G=V2(J.trim(),$);return String(G??"")}catch{return""}}),Z}function V2(X,$){if(/^[\w.]+$/.test(X)){let Z=X.split("."),Y=$;for(let J of Z)if(Y&&typeof Y==="object"&&J in Y)Y=Y[J];else return;return Y}try{return Function(...Object.keys($),`return ${X}`)(...Object.values($))}catch{return}}function M2(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function sW(X){return X.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function oW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return`tpl_${Math.abs($).toString(36)}`}function aW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}var tW=0;function eW(){return`h_${++tW}`}function N2(X){return["craft-button","craft-text-input","craft-textarea","craft-checkbox","craft-radio","craft-select","craft-slider","craft-toggle","craft-date-picker","craft-time-picker","craft-color-picker","craft-file-input","craft-modal","craft-alert","craft-toast","craft-progress","craft-spinner","craft-avatar","craft-badge","craft-card","craft-accordion","craft-tabs","craft-tooltip","craft-popover","craft-dropdown","craft-context-menu","craft-data-table","craft-virtual-list","craft-tree-view","craft-map","craft-chart","craft-video","craft-audio","craft-webview","craft-canvas","craft-image-viewer","craft-pdf-viewer","craft-code-editor","craft-rich-editor"].includes(X)}function XU(X){let $=X.tag?.toLowerCase(),Z=X.props?.type,Y={button:{component:"craft-button",confidence:0.95,reason:"Native button provides better touch feedback"},"input:text":{component:"craft-text-input",confidence:0.9,reason:"Native text input has better keyboard handling"},"input:checkbox":{component:"craft-checkbox",confidence:0.95,reason:"Native checkbox follows platform conventions"},"input:range":{component:"craft-slider",confidence:0.9,reason:"Native slider provides smooth interaction"},"input:date":{component:"craft-date-picker",confidence:0.95,reason:"Native date picker provides platform-specific UI"},"input:time":{component:"craft-time-picker",confidence:0.95,reason:"Native time picker provides platform-specific UI"},"input:color":{component:"craft-color-picker",confidence:0.9,reason:"Native color picker provides platform-specific UI"},textarea:{component:"craft-textarea",confidence:0.85,reason:"Native textarea handles multiline input better"},select:{component:"craft-select",confidence:0.9,reason:"Native select provides platform dropdown UI"},progress:{component:"craft-progress",confidence:0.95,reason:"Native progress bar matches platform style"},video:{component:"craft-video",confidence:0.95,reason:"Native video provides hardware acceleration"},audio:{component:"craft-audio",confidence:0.95,reason:"Native audio provides system integration"},dialog:{component:"craft-modal",confidence:0.9,reason:"Native modal provides proper layering and focus"}},J=Z?`${$}:${Z}`:$,G=Y[J||""]||Y[$||""];if(G)return{htmlSelector:J||$||"",nativeComponent:G.component,confidence:G.confidence,reason:G.reason};return null}function $U(){Q7.clear()}function ZU(){w7.clear()}function
|
|
18173
|
+
</script>`;return{html:X+J,data:Y}}function cW(X){let $=!1,Z=!1,Y=!1,J=!1,G=0,Q=0;function w(q,W){if(Q=Math.max(Q,W),q.type==="slot")$=!0;if(q.type==="component")G++;if(!q.isStatic)Z=!0;if(q.props)for(let U of Object.keys(q.props)){if(U.startsWith("on"))Y=!0;if(U==="@async"||U==="data-async")J=!0}if(q.children)q.children.forEach((U)=>w(U,W+1))}return w(X,0),{hasSlots:$,hasDynamicContent:Z,hasEventHandlers:Y,hasAsyncContent:J,componentCount:G,maxDepth:Q,estimatedSize:JSON.stringify(X).length}}function pW(X){let $=new Map,Z=new Map;return W7(X,(Y,J)=>{let G=J.join(".");if(Y.isStatic)$.set(G,A2(Y));else Z.set(G,Y.tag||Y.componentName||"dynamic")}),{staticParts:$,dynamicParts:Z}}function iW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function nW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function rW(X){let $=[],Z=/@include\s*\(\s*['"]([^'"]+)['"]/g,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);let J=/@component\s*\(\s*['"]([^'"]+)['"]/g;while((Y=J.exec(X))!==null)$.push(Y[1]);let G=/<@craft-[\w-]+/g;while((Y=G.exec(X))!==null)$.push(Y[0].slice(2));return[...new Set($)]}function F2(X){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test(X)}function T2(X,$){let Z=X.replace(/\{\{\s*(.+?)\s*\}\}/g,(Y,J)=>{try{let G=V2(J.trim(),$);return M2(String(G??""))}catch{return""}});return Z=Z.replace(/\{!!\s*(.+?)\s*!!\}/g,(Y,J)=>{try{let G=V2(J.trim(),$);return String(G??"")}catch{return""}}),Z}function V2(X,$){if(/^[\w.]+$/.test(X)){let Z=X.split("."),Y=$;for(let J of Z)if(Y&&typeof Y==="object"&&J in Y)Y=Y[J];else return;return Y}try{return Function(...Object.keys($),`return ${X}`)(...Object.values($))}catch{return}}function M2(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function sW(X){return X.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function oW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return`tpl_${Math.abs($).toString(36)}`}function aW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}var tW=0;function eW(){return`h_${++tW}`}function N2(X){return["craft-button","craft-text-input","craft-textarea","craft-checkbox","craft-radio","craft-select","craft-slider","craft-toggle","craft-date-picker","craft-time-picker","craft-color-picker","craft-file-input","craft-modal","craft-alert","craft-toast","craft-progress","craft-spinner","craft-avatar","craft-badge","craft-card","craft-accordion","craft-tabs","craft-tooltip","craft-popover","craft-dropdown","craft-context-menu","craft-data-table","craft-virtual-list","craft-tree-view","craft-map","craft-chart","craft-video","craft-audio","craft-webview","craft-canvas","craft-image-viewer","craft-pdf-viewer","craft-code-editor","craft-rich-editor"].includes(X)}function XU(X){let $=X.tag?.toLowerCase(),Z=X.props?.type,Y={button:{component:"craft-button",confidence:0.95,reason:"Native button provides better touch feedback"},"input:text":{component:"craft-text-input",confidence:0.9,reason:"Native text input has better keyboard handling"},"input:checkbox":{component:"craft-checkbox",confidence:0.95,reason:"Native checkbox follows platform conventions"},"input:range":{component:"craft-slider",confidence:0.9,reason:"Native slider provides smooth interaction"},"input:date":{component:"craft-date-picker",confidence:0.95,reason:"Native date picker provides platform-specific UI"},"input:time":{component:"craft-time-picker",confidence:0.95,reason:"Native time picker provides platform-specific UI"},"input:color":{component:"craft-color-picker",confidence:0.9,reason:"Native color picker provides platform-specific UI"},textarea:{component:"craft-textarea",confidence:0.85,reason:"Native textarea handles multiline input better"},select:{component:"craft-select",confidence:0.9,reason:"Native select provides platform dropdown UI"},progress:{component:"craft-progress",confidence:0.95,reason:"Native progress bar matches platform style"},video:{component:"craft-video",confidence:0.95,reason:"Native video provides hardware acceleration"},audio:{component:"craft-audio",confidence:0.95,reason:"Native audio provides system integration"},dialog:{component:"craft-modal",confidence:0.9,reason:"Native modal provides proper layering and focus"}},J=Z?`${$}:${Z}`:$,G=Y[J||""]||Y[$||""];if(G)return{htmlSelector:J||$||"",nativeComponent:G.component,confidence:G.confidence,reason:G.reason};return null}function $U(){Q7.clear()}function ZU(){w7.clear()}function AV(){$U(),ZU()}function RV(){return{templateCacheSize:Q7.size,renderCacheSize:w7.size,totalEntries:Q7.size+w7.size}}import{existsSync as tq,mkdirSync as n0,copyFileSync as c1,chmodSync as p1}from"fs";import{join as h,basename as cF}from"path";import{spawn as K$,execSync as pF}from"child_process";import{tmpdir as eq,homedir as Z2,platform as iF}from"os";H1();i5();oX();y5();rX();import{dirname as dF,resolve as sq}from"path";function nq(X){return X.endsWith(".md")||X.endsWith(".markdown")}function uF(X){let $=[];Y(/<pre\b[^>]*>[\s\S]*?<\/pre>/gi);let Z=[...$];Y(/<code\b[^>]*>[\s\S]*?<\/code>/gi,Z);function Y(Q,w){let q;while((q=Q.exec(X))!==null){let W=q.index,U=W+q[0].length;if(w?.some((K)=>W>=K.start&&U<=K.end))continue;$.push({start:W,end:U})}}if($.length===0)return X;$.sort((Q,w)=>Q.start-w.start);let J="",G=0;for(let Q of $){if(Q.start<G)continue;J+=X.slice(G,Q.start),J+=`@raw${X.slice(Q.start,Q.end)}@endraw`,G=Q.end}return J+=X.slice(G),J}async function rq(X,$={}){let{data:Z,content:Y}=LX(X),G=await($.renderer??((Q)=>r1(Q)))(Y);return{html:uF(G),frontmatter:Z??{}}}function mF(X){let $=X,Z=h5(X);if(Z)$=Z.content.trim();let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J=[],G=[],Q=[],w=(U)=>/\b(?:state|derived|effect|batch)\s*(?:<[^<>()]*>)?\s*\(/.test(U),q;while((q=Y.exec(X))!==null){let U=q[1],K=q[2],z=q[0],B=U.includes("server");if(w(K))Q.push(z);else if(B)G.push(K);else J.push(z)}let W=$;{let U=/<script\b(?![^>]*\b(?:client|type\s*=\s*["']module["']|src\s*=))[^>]*>/gi,K,z=[];while((K=U.exec(W))!==null){let B=K.index+K[0].length,_=W.indexOf("</script>",B);if(_===-1)continue;z.push({start:K.index,end:_+9}),U.lastIndex=_+9}for(let B=z.length-1;B>=0;B--)W=W.substring(0,z[B].start)+W.substring(z[B].end)}for(let U of J)W=W.replace(U,"");return{templateContent:W,serverScripts:G,clientScripts:J,signalsScripts:Q}}function lF(X,$){return`<!DOCTYPE html>
|
|
18174
18174
|
<html lang="en">
|
|
18175
18175
|
<head>
|
|
18176
18176
|
<meta charset="UTF-8">
|
|
@@ -18180,21 +18180,21 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function FW(X,$,
|
|
|
18180
18180
|
<body>
|
|
18181
18181
|
${X}
|
|
18182
18182
|
</body>
|
|
18183
|
-
</html>`}function X2(X,$,Z){if(X&&typeof X==="object")X[$]=Z}async function oq(X,$={}){let Z=sq(X),Y=Bun.file(Z);if(!await Y.exists())throw Error(`Template file not found: ${Z}`);let J=await Y.text(),G=null;if(nq(Z)){let Q=await rq(J,{renderer:$.markdownRenderer});J=Q.html,G=Q.frontmatter}if(G)$={...$,context:{...G,...$.context||{}}};if($.layout){let Q=sq($.layout),w=Bun.file(Q);if(!await w.exists())throw Error(`Layout template not found: ${Q}`);let{layout:q,injectCSS:W,...U}=$,K=await $2(J,Z,{...U,injectCSS:!1}),z=await w.text(),B={...$.context||{},content:K},_={...U,context:B,injectCSS:W};return $2(z,Q,_)}return $2(J,Z,$)}async function $2(X,$,Z={}){let{templateContent:Y,serverScripts:J,clientScripts:G}=
|
|
18183
|
+
</html>`}function X2(X,$,Z){if(X&&typeof X==="object")X[$]=Z}async function oq(X,$={}){let Z=sq(X),Y=Bun.file(Z);if(!await Y.exists())throw Error(`Template file not found: ${Z}`);let J=await Y.text(),G=null;if(nq(Z)){let Q=await rq(J,{renderer:$.markdownRenderer});J=Q.html,G=Q.frontmatter}if(G)$={...$,context:{...G,...$.context||{}}};if($.layout){let Q=sq($.layout),w=Bun.file(Q);if(!await w.exists())throw Error(`Layout template not found: ${Q}`);let{layout:q,injectCSS:W,...U}=$,K=await $2(J,Z,{...U,injectCSS:!1}),z=await w.text(),B={...$.context||{},content:K},_={...U,context:B,injectCSS:W};return $2(z,Q,_)}return $2(J,Z,$)}async function $2(X,$,Z={}){let{templateContent:Y,serverScripts:J,clientScripts:G}=mF(X),Q={...A1,...Z.options},w={__filename:$,__dirname:dF($),__stx:{},__stx_options:Q,__stx_sfc_mode:!0,__stx_inject_css:Z.injectCSS===!0,__stxServeContext:void 0,setResponseStatus:(U)=>{if(Number.isInteger(U)&&U>=100&&U<=599)X2(Z.context,"__stxResponseStatus",U)},notFound:(U=404)=>{let K=Number.isInteger(U)&&U>=400&&U<=599?U:404;X2(Z.context,"__stxResponseStatus",K)},setResponseHeader:(U,K)=>{if(!U)return;let z=Z.context?.__stxResponseHeaders||{};z[String(U)]=String(K),X2(Z.context,"__stxResponseHeaders",z)},definePageMeta:()=>{},...Z.context||{}};for(let U of J)await V1(U,w,$);let q=new Set,W=Y;if(W=await V0(W,w,$,Q,q),Z.templateOnly){if(W=W.replace(/<script data-stx-scoped>[\s\S]*?<\/script>\s*/gi,""),W=W.replace(/<!-- stx SEO Tags -->[\s\S]*?(?=<)/i,""),G.length>0)W+=`
|
|
18184
18184
|
${G.join(`
|
|
18185
18185
|
`)}`}else{if(Z.processClientScripts!==!1&&G.length>0){let U=w.__stx_event_bindings||[],K=a1(w),B=(await Promise.all(G.map(async(j)=>{let H=j.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!H)return j;return await t1(H[1],{eventBindings:U,templateContent:W,serverData:K,filePath:$})}))).join(`
|
|
18186
18186
|
`);if(W.match(/(<\/body>)/i))W=W.replace(/(<\/body>)/i,`${B}
|
|
18187
18187
|
$1`);else W+=`
|
|
18188
|
-
${B}`}W=await s3(W)}if(Z.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=
|
|
18189
|
-
</head>`)}let Q=X.name||
|
|
18188
|
+
${B}`}W=await s3(W)}if(Z.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=lF(W,Z.title)}if(Z.injectCSS)try{let{injectCrosswindCSS:U}=await Promise.resolve().then(() => (G9(),LZ));W=await U(W)}catch{}return W}async function $b(X){let $=Date.now();try{if(!await Bun.file(X.input).exists())return{success:!1,target:X.target||U$(),format:X.format||"app",error:`Input file not found: ${X.input}`};let Z=X.target||U$(),Y=X.format||$V(Z),J=X.output||h(process.cwd(),"dist","native");if(!tq(J))n0(J,{recursive:!0});let G=await oq(X.input,{context:X.context,options:{isDev:!1}});if(G=G2(G,{debug:X.verbose}),G=j2(G),!G.includes("craft-component-styles")){if(G.includes("</head>"))G=G.replace("</head>",`${B2}
|
|
18189
|
+
</head>`)}let Q=X.name||cF(X.input,".stx"),w=X.version||"1.0.0",q=X.craftPath||await XV();if(!q)return{success:!1,target:Z,format:Y,error:"Craft binary not found. Please install Craft or specify craftPath."};if(X.verbose)console.log(`\uD83D\uDCE6 Building native app for ${Z}...`),console.log(` Input: ${X.input}`),console.log(` Output: ${J}`),console.log(` Craft: ${q}`);let W;switch(Z){case"macos":W=await nF(G,Q,w,J,Y,X,q);break;case"windows":W=await oF(G,Q,w,J,Y,X,q);break;case"linux":W=await aF(G,Q,w,J,Y,X,q);break;case"ios":W=await tF(G,Q,w,J,X,q);break;case"android":W=await eF(G,Q,w,J,X,q);break;default:W={success:!1,target:Z,format:Y,error:`Unsupported target: ${Z}`}}return W.duration=Date.now()-$,W}catch(Z){return{success:!1,target:X.target||U$(),format:X.format||"app",error:Z.message,duration:Date.now()-$}}}async function nF(X,$,Z,Y,J,G,Q){let w=G.bundleId||`com.stx.${$.toLowerCase().replace(/[^a-z0-9]/g,"")}`,q=h(Y,`${$}.app`),W=h(q,"Contents"),U=h(W,"MacOS"),K=h(W,"Resources");n0(U,{recursive:!0}),n0(K,{recursive:!0});let z=h(K,"index.html");await Bun.write(z,X);let B="";if(G.sidebar?.enabled&&G.sidebar?.config)B=h(K,"sidebar-config.json"),await Bun.write(B,JSON.stringify(G.sidebar.config));let _=G.sidebar?.enabled?`--native-sidebar --sidebar-width ${G.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",j=G.menubarOnly??G.systemTray;if((G.bundleStyle||(await rF(Q)?"executable":"launcher"))==="executable"){let F=h(U,$);c1(Q,F),p1(F,493);let V={html:"index.html",title:G.window?.title||$,width:G.window?.width||1200,height:G.window?.height||800,devTools:Boolean(G.devTools)};if(j)V.menubarOnly=!0;else if(G.systemTray)V.systemTray=!0;if(G.window?.frameless)V.frameless=!0;if(G.window?.transparent)V.transparent=!0;if(G.window?.alwaysOnTop)V.alwaysOnTop=!0;if(G.window?.resizable===!1)V.resizable=!1;await Bun.write(h(K,"craft.json"),`${JSON.stringify(V,null,2)}
|
|
18190
18190
|
`)}else{let F=h(U,"craft");c1(Q,F),p1(F,493);let V=G.sidebar?.enabled?`--native-sidebar --sidebar-width ${G.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",R=`#!/bin/bash
|
|
18191
18191
|
set -euo pipefail
|
|
18192
18192
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
18193
18193
|
RESOURCES="$DIR/../Resources"
|
|
18194
18194
|
exec "$DIR/craft" --html-file "$RESOURCES/index.html" \\
|
|
18195
18195
|
${[`--title "${G.window?.title||$}"`,`--width ${G.window?.width||1200}`,`--height ${G.window?.height||800}`,j?"--menubar-only":G.systemTray?"--system-tray":"",G.devTools?"":"--no-devtools",G.window?.frameless?"--frameless":"",G.window?.transparent?"--transparent":"",G.window?.alwaysOnTop?"--always-on-top":"",G.window?.resizable===!1?"--no-resize":"",V].filter(Boolean).join(" \\\n ")}
|
|
18196
|
-
`,T=h(U,$);await Bun.write(T,R),p1(T,493)}let O=Boolean(G.icon&&await Bun.file(G.icon).exists());if(O)c1(G.icon,h(K,"AppIcon.icns"));let L={CFBundleExecutable:$,CFBundleIdentifier:w,CFBundleName:$,CFBundleDisplayName:$,CFBundleShortVersionString:Z,CFBundleVersion:Z,CFBundlePackageType:"APPL",CFBundleSignature:"????",LSMinimumSystemVersion:G.minimumSystemVersion||"13.0",NSHighResolutionCapable:!0,NSSupportsAutomaticGraphicsSwitching:!0,LSUIElement:G.menubarOnly??Boolean(G.systemTray),...O?{CFBundleIconFile:"AppIcon"}:{},...G.category?{LSApplicationCategoryType:G.category}:{},...G.copyright?{NSHumanReadableCopyright:G.copyright}:{},...G.infoPlist||{}};if(await Bun.write(h(W,"Info.plist"),
|
|
18197
|
-
${Y}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!G)return!1;let[Q,w,q]=G.slice(1).map(Number);if(Q>0||w>0)return!0;return q>=57}catch{return!1}}function aq(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function
|
|
18196
|
+
`,T=h(U,$);await Bun.write(T,R),p1(T,493)}let O=Boolean(G.icon&&await Bun.file(G.icon).exists());if(O)c1(G.icon,h(K,"AppIcon.icns"));let L={CFBundleExecutable:$,CFBundleIdentifier:w,CFBundleName:$,CFBundleDisplayName:$,CFBundleShortVersionString:Z,CFBundleVersion:Z,CFBundlePackageType:"APPL",CFBundleSignature:"????",LSMinimumSystemVersion:G.minimumSystemVersion||"13.0",NSHighResolutionCapable:!0,NSSupportsAutomaticGraphicsSwitching:!0,LSUIElement:G.menubarOnly??Boolean(G.systemTray),...O?{CFBundleIconFile:"AppIcon"}:{},...G.category?{LSApplicationCategoryType:G.category}:{},...G.copyright?{NSHumanReadableCopyright:G.copyright}:{},...G.infoPlist||{}};if(await Bun.write(h(W,"Info.plist"),sF(L)),J==="dmg"){let F=h(Y,`${$}-${Z}.dmg`),V=await ZV(q,F,$);if(!V.success)return{success:!1,target:"macos",format:"dmg",error:V.error};return{success:!0,target:"macos",format:"dmg",outputPath:F}}return{success:!0,target:"macos",format:"app",outputPath:q}}async function rF(X){try{let $=Bun.spawn([X,"--version"],{stdout:"pipe",stderr:"pipe"}),[Z,Y]=await Promise.all([new Response($.stdout).text(),new Response($.stderr).text()]);await $.exited;let G=`${Z}
|
|
18197
|
+
${Y}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!G)return!1;let[Q,w,q]=G.slice(1).map(Number);if(Q>0||w>0)return!0;return q>=57}catch{return!1}}function aq(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function sF(X){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
18198
18198
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
18199
18199
|
<plist version="1.0">
|
|
18200
18200
|
<dict>
|
|
@@ -18203,7 +18203,7 @@ ${Object.entries(X).map(([Z,Y])=>{let J=typeof Y==="boolean"?`<${Y}/>`:typeof Y=
|
|
|
18203
18203
|
`)}
|
|
18204
18204
|
</dict>
|
|
18205
18205
|
</plist>
|
|
18206
|
-
`}async function
|
|
18206
|
+
`}async function oF(X,$,Z,Y,J,G,Q){let w=h(Y,$);n0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X),c1(Q,h(w,"craft.exe"));let W=`@echo off
|
|
18207
18207
|
set DIR=%~dp0
|
|
18208
18208
|
"%DIR%craft.exe" --html-file "%DIR%index.html" ^
|
|
18209
18209
|
--title "${G.window?.title||$}" ^
|
|
@@ -18211,7 +18211,7 @@ set DIR=%~dp0
|
|
|
18211
18211
|
--height ${G.window?.height||800} ^
|
|
18212
18212
|
${G.systemTray?"--system-tray":""} ^
|
|
18213
18213
|
${G.devTools?"":"--no-devtools"}
|
|
18214
|
-
`;if(await Bun.write(h(w,`${$}.bat`),W),J==="zip"){let U=h(Y,`${$}-${Z}-windows.zip`),K=await
|
|
18214
|
+
`;if(await Bun.write(h(w,`${$}.bat`),W),J==="zip"){let U=h(Y,`${$}-${Z}-windows.zip`),K=await YV(w,U);if(!K.success)return{success:!1,target:"windows",format:"zip",error:K.error};return{success:!0,target:"windows",format:"zip",outputPath:U}}return{success:!0,target:"windows",format:"app",outputPath:w}}async function aF(X,$,Z,Y,J,G,Q){let w=h(Y,$);n0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X);let W=h(w,"craft");c1(Q,W),p1(W,493);let U=`#!/bin/bash
|
|
18215
18215
|
set -euo pipefail
|
|
18216
18216
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
18217
18217
|
exec "$DIR/craft" --html-file "$DIR/index.html" \\
|
|
@@ -18226,8 +18226,8 @@ Name=${$}
|
|
|
18226
18226
|
Exec=${K}
|
|
18227
18227
|
Terminal=false
|
|
18228
18228
|
Categories=Utility;
|
|
18229
|
-
`;if(await Bun.write(h(w,`${$.toLowerCase()}.desktop`),z),J==="deb"){let B=h(Y,`${$.toLowerCase()}_${Z}_amd64.deb`),_=await
|
|
18230
|
-
`)[0];if(Z&&await Bun.file(Z).exists())return Z}catch{}return null}function U$(){switch(
|
|
18229
|
+
`;if(await Bun.write(h(w,`${$.toLowerCase()}.desktop`),z),J==="deb"){let B=h(Y,`${$.toLowerCase()}_${Z}_amd64.deb`),_=await JV(w,B,$,Z,G);if(!_.success)return{success:!1,target:"linux",format:"deb",error:_.error};return{success:!0,target:"linux",format:"deb",outputPath:B}}if(J==="appimage"){let B=h(Y,`${$}-${Z}-x86_64.AppImage`),_=await GV(w,B,$,G);if(!_.success)return{success:!1,target:"linux",format:"appimage",error:_.error};return{success:!0,target:"linux",format:"appimage",outputPath:B}}return{success:!0,target:"linux",format:"app",outputPath:w}}async function tF(X,$,Z,Y,J,G){return{success:!1,target:"ios",format:"ipa",error:`iOS build requires Xcode and additional setup. Use 'stx init:ios ${$}' to create an iOS project.`}}async function eF(X,$,Z,Y,J,G){return{success:!1,target:"android",format:"apk",error:`Android build requires Android SDK and additional setup. Use 'stx init:android ${$}' to create an Android project.`}}async function XV(){if(process.env.CRAFT_BIN&&await Bun.file(process.env.CRAFT_BIN).exists())return process.env.CRAFT_BIN;let X=[h(process.cwd(),"../../craft/packages/zig/zig-out/bin/craft"),h(process.cwd(),"../craft/packages/zig/zig-out/bin/craft"),h(Z2(),"Code/Tools/craft/packages/zig/zig-out/bin/craft"),h(Z2(),"Code/craft/packages/zig/zig-out/bin/craft"),"/usr/local/bin/craft","/usr/bin/craft",h(Z2(),".local/bin/craft"),h(process.env.LOCALAPPDATA||"","craft","craft.exe"),h(process.env.PROGRAMFILES||"","craft","craft.exe")];for(let $ of X)if(await Bun.file($).exists())return $;try{let Z=pF("which craft 2>/dev/null || where craft 2>nul",{encoding:"utf-8"}).trim().split(`
|
|
18230
|
+
`)[0];if(Z&&await Bun.file(Z).exists())return Z}catch{}return null}function U$(){switch(iF()){case"darwin":return"macos";case"win32":return"windows";default:return"linux"}}function $V(X){switch(X){case"macos":return"app";case"windows":return"zip";case"linux":return"appimage";case"ios":return"ipa";case"android":return"apk";default:return"app"}}async function ZV(X,$,Z){return new Promise((Y)=>{let J=K$("hdiutil",["create","-volname",Z,"-srcfolder",X,"-ov","-format","UDZO",$]);J.on("close",(G)=>{if(G===0)Y({success:!0});else Y({success:!1,error:`hdiutil exited with code ${G}`})}),J.on("error",(G)=>{Y({success:!1,error:G.message})})})}async function YV(X,$){return new Promise((Z)=>{let Y=K$("zip",["-r",$,"."],{cwd:X});Y.on("close",(J)=>{if(J===0)Z({success:!0});else Z({success:!1,error:`zip exited with code ${J}`})}),Y.on("error",(J)=>{Z({success:!1,error:J.message})})})}async function JV(X,$,Z,Y,J){return new Promise((G)=>{try{let Q=h(eq(),`stx-deb-${Date.now()}`),w=h(Q,"DEBIAN"),q=h(Q,"usr","bin"),W=h(Q,"usr","share","applications"),U=h(Q,"usr","share",Z.toLowerCase());n0(w,{recursive:!0}),n0(q,{recursive:!0}),n0(W,{recursive:!0}),n0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let j of K)c1(h(X,j),h(U,j));let z=`#!/bin/bash
|
|
18231
18231
|
exec /usr/share/${Z.toLowerCase()}/${Z.toLowerCase()} "$@"`;X0("fs").writeFileSync(h(q,Z.toLowerCase()),z),p1(h(q,Z.toLowerCase()),493);let B=`Package: ${Z.toLowerCase()}
|
|
18232
18232
|
Version: ${Y}
|
|
18233
18233
|
Section: utils
|
|
@@ -18236,7 +18236,7 @@ Architecture: amd64
|
|
|
18236
18236
|
Depends: libgtk-3-0, libwebkit2gtk-4.0-37
|
|
18237
18237
|
Maintainer: ${J.author||"Unknown"}
|
|
18238
18238
|
Description: ${J.description||Z}
|
|
18239
|
-
`;X0("fs").writeFileSync(h(w,"control"),B);let _=K$("dpkg-deb",["--build",Q,$]);_.on("close",(j)=>{if(X0("fs").rmSync(Q,{recursive:!0,force:!0}),j===0)G({success:!0});else G({success:!1,error:`dpkg-deb exited with code ${j}`})}),_.on("error",(j)=>{X0("fs").rmSync(Q,{recursive:!0,force:!0}),G({success:!1,error:j.message})})}catch(Q){G({success:!1,error:Q.message})}})}async function
|
|
18239
|
+
`;X0("fs").writeFileSync(h(w,"control"),B);let _=K$("dpkg-deb",["--build",Q,$]);_.on("close",(j)=>{if(X0("fs").rmSync(Q,{recursive:!0,force:!0}),j===0)G({success:!0});else G({success:!1,error:`dpkg-deb exited with code ${j}`})}),_.on("error",(j)=>{X0("fs").rmSync(Q,{recursive:!0,force:!0}),G({success:!1,error:j.message})})}catch(Q){G({success:!1,error:Q.message})}})}async function GV(X,$,Z,Y){return new Promise((J)=>{try{let G=h(eq(),`stx-appimage-${Date.now()}`),Q=h(G,`${Z}.AppDir`),w=h(Q,"usr"),q=h(w,"bin"),W=h(w,"share");n0(q,{recursive:!0}),n0(W,{recursive:!0});let U=h(W,Z.toLowerCase());n0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let H of K)c1(h(X,H),h(U,H));let z=`#!/bin/bash
|
|
18240
18240
|
SELF=$(readlink -f "$0")
|
|
18241
18241
|
HERE=\${SELF%/*}
|
|
18242
18242
|
export PATH="\${HERE}/usr/bin:\${PATH}"
|
|
@@ -18248,4 +18248,4 @@ Exec=${Z.toLowerCase()}
|
|
|
18248
18248
|
Terminal=false
|
|
18249
18249
|
Categories=Utility;
|
|
18250
18250
|
Icon=${Z.toLowerCase()}
|
|
18251
|
-
`;X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.desktop`),B);let _=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.png`),_),Y.icon&&tq(Y.icon))c1(Y.icon,h(Q,`${Z.toLowerCase()}.png`));let j=K$("appimagetool",[Q,$],{env:{...process.env,ARCH:"x86_64"}});j.on("close",(H)=>{if(X0("fs").rmSync(G,{recursive:!0,force:!0}),H===0)p1($,493),J({success:!0});else J({success:!1,error:`appimagetool exited with code ${H}. Install from https://appimage.github.io/appimagetool/`})}),j.on("error",(H)=>{X0("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:`appimagetool not found: ${H.message}`})})}catch(G){J({success:!1,error:G.message})}})}function
|
|
18251
|
+
`;X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.desktop`),B);let _=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.png`),_),Y.icon&&tq(Y.icon))c1(Y.icon,h(Q,`${Z.toLowerCase()}.png`));let j=K$("appimagetool",[Q,$],{env:{...process.env,ARCH:"x86_64"}});j.on("close",(H)=>{if(X0("fs").rmSync(G,{recursive:!0,force:!0}),H===0)p1($,493),J({success:!0});else J({success:!1,error:`appimagetool exited with code ${H}. Install from https://appimage.github.io/appimagetool/`})}),j.on("error",(H)=>{X0("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:`appimagetool not found: ${H.message}`})})}catch(G){J({success:!1,error:G.message})}})}function Zb(){return[U$()]}function Yb(X){switch(X){case"macos":return["app","dmg","pkg"];case"windows":return["app","zip","msi"];case"linux":return["app","deb","rpm","appimage"];case"ios":return["ipa"];case"android":return["apk"];default:return["app"]}}export{OV as renderSSR,jV as registerCraftComponent,WV as processCraftDirective,j2 as processCraftComponents,VV as prerenderForCraft,qV as isCraftEnvironment,G2 as injectCraftBridge,RV as getSSRCacheStats,HV as getCraftComponents,Zb as getAvailableTargets,Yb as getAvailableFormats,FV as generateCraftOptimizations,J2 as generateCraftBridgeScript,zV as createHotReloadServer,KV as compileToNative,gW as compileTemplate,$U as clearTemplateCache,ZU as clearRenderCache,AV as clearAllCaches,$b as buildNative,JW as NATIVE_COMPONENTS,B2 as CRAFT_COMPONENT_STYLES,BV as CRAFT_COMPONENT_RUNTIME,H$ as CRAFT_COMPONENTS,wV as CRAFT_BRIDGE_SCRIPT};
|