@zuzjs/ui 1.0.46 → 1.0.47

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/bin.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var chunkVPTE2LT2_cjs=require('./chunk-VPTE2LT2.cjs'),commander=require('commander'),Z=require('chokidar'),p=require('path'),i=require('picocolors'),u=require('fs'),tsMorph=require('ts-morph'),url=require('url');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Z__default=/*#__PURE__*/_interopDefault(Z);var p__default=/*#__PURE__*/_interopDefault(p);var i__default=/*#__PURE__*/_interopDefault(i);var u__default=/*#__PURE__*/_interopDefault(u);/* ZuzJS UI CLI */
3
- var k=class{project;stylesToGenerate;manifest={};supportedExtensions=[".tsx",".jsx",".mdx",".md"];constructor(){this.project=new tsMorph.Project({compilerOptions:{allowJs:true,jsx:1}}),this.stylesToGenerate=new Set;}extractStyles(e,t=""){if(e.asKind(tsMorph.SyntaxKind.JsxExpression)){let s=e.getExpression();s&&this.extractStyles(s,t);return}if(e.asKind(tsMorph.SyntaxKind.StringLiteral)||e.asKind(tsMorph.SyntaxKind.NoSubstitutionTemplateLiteral)||e.asKind(tsMorph.SyntaxKind.NumericLiteral))this.stylesToGenerate.add(t+e.getLiteralValue().toString());else if(e.asKind(tsMorph.SyntaxKind.TemplateExpression)){let s=e.getHead().getLiteralText();e.getTemplateSpans().forEach(l=>{this.extractStyles(l.getExpression(),t+s);});}else e.asKind(tsMorph.SyntaxKind.ConditionalExpression)?(this.extractStyles(e.getWhenTrue(),t),this.extractStyles(e.getWhenFalse(),t)):e.asKind(tsMorph.SyntaxKind.ArrayLiteralExpression)?e.getElements().forEach(s=>this.extractStyles(s,t)):e.asKind(tsMorph.SyntaxKind.BinaryExpression)&&(this.extractStyles(e.getLeft(),t),this.extractStyles(e.getRight(),t));}processFile(e){this.stylesToGenerate.clear();let t=e.endsWith(".mdx")||e.endsWith(".md"),s;if(t){let n=u__default.default.readFileSync(e,"utf-8");s=this.project.createSourceFile(e,n,{overwrite:true,scriptKind:tsMorph.ScriptKind.TSX});}else s=this.project.addSourceFileAtPath(e),s.refreshFromFileSystemSync();[...s.getDescendantsOfKind(tsMorph.SyntaxKind.JsxOpeningElement),...s.getDescendantsOfKind(tsMorph.SyntaxKind.JsxSelfClosingElement)].forEach(n=>{let a=n.getAttribute("as")?.asKind(tsMorph.SyntaxKind.JsxAttribute)?.getInitializer();a&&this.extractStyles(a);}),s.getDescendantsOfKind(tsMorph.SyntaxKind.CallExpression).filter(n=>n.getExpression().getText()==="css").forEach(n=>{let c=n.getArguments();c.length>0&&this.extractStyles(c[0]);}),this.stylesToGenerate.forEach(n=>{chunkVPTE2LT2_cjs.h(n).filter(Boolean).forEach(a=>{let x=a.match(/^([&@][\w-]+)\((.*)\)$/);if(x){let[h,z,F]=x;chunkVPTE2LT2_cjs.h(F).filter(Boolean).forEach(b=>{let v=`${z}(${b})`,w=chunkVPTE2LT2_cjs.i.parseAndGenerate(v,e);w.length>0&&(this.manifest[v]=w.join(" "));});let j=chunkVPTE2LT2_cjs.i.parseAndGenerate(a,e);j.length>0&&(this.manifest[a]=j.join(" "));}else {let h=chunkVPTE2LT2_cjs.i.parseAndGenerate(a,e);h.length>0&&(this.manifest[a]=h.join(" "));}});}),t&&this.project.removeSourceFile(s);}isSupportedFile(e){return this.supportedExtensions.some(t=>e.endsWith(t))}getStyleCount(){return this.stylesToGenerate.size}getManifestPath=()=>{let e=process.cwd(),t=[p__default.default.join(e,"src/app/css"),p__default.default.join(e,"app/css"),p__default.default.join(e,"src/css"),p__default.default.join(e,"css")],s=t.find(l=>u__default.default.existsSync(l))||t[0];return u__default.default.existsSync(s)||u__default.default.mkdirSync(s,{recursive:true}),p__default.default.join(s,"zuzmap.ts")};saveManifest(e){let t=p__default.default.dirname(e);u__default.default.existsSync(t)||u__default.default.mkdirSync(t,{recursive:true});let s=chunkVPTE2LT2_cjs.i.getCache(),l={};for(let[n,c]of Object.entries(this.manifest))s.has(c)&&(l[n]=c);this.manifest=l;let g=`/* Zuz Generated Manifest - Do not edit */
4
- export const zuzMap: Record<string, string> = ${JSON.stringify(this.manifest,null,2)};`;u__default.default.writeFileSync(e,g);}},y=new k;commander.program.opts();var S=process.cwd(),O=false,J=p__default.default.join(S,"src","app","css"),R=p__default.default.join(J,"zuz.scss"),W=p__default.default.join(J,"zuzmap.ts"),G=()=>{chunkVPTE2LT2_cjs.i.writeToDisk(R),y.saveManifest(W);},P=async()=>{try{let o=p__default.default.dirname(url.fileURLToPath(chunkVPTE2LT2_cjs.a)),e=p__default.default.resolve(o,"../package.json"),t=JSON.parse(u__default.default.readFileSync(e,"utf8")),g=(await(await fetch("https://registry.npmjs.org/@zuzjs/ui/latest")).json()).version.trim();if(g!==t.version.trim()){let n=` Update available! ${i__default.default.dim(t.version)} \u2192 ${i__default.default.green(g)} `,c=` Run: ${i__default.default.cyan(`npm i ${t.name}@latest`)} `,a=b=>b.replace(/\u001b\[[0-9;]*m/g,"").length,x=a(n),h=a(c),z=Math.max(x,h),F=i__default.default.yellow(`\u250C${"\u2500".repeat(z+2)}\u2510`),C=i__default.default.yellow(`\u2514${"\u2500".repeat(z+2)}\u2518`),j=(b,v)=>{let w=" ".repeat(z-v);return `${i__default.default.yellow("\u2502")} ${b}${w} ${i__default.default.yellow("\u2502")}`};console.log(`
2
+ 'use strict';var chunkRI5JB2KJ_cjs=require('./chunk-RI5JB2KJ.cjs'),commander=require('commander'),Z=require('chokidar'),p=require('path'),i=require('picocolors'),u=require('fs'),tsMorph=require('ts-morph'),url=require('url');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Z__default=/*#__PURE__*/_interopDefault(Z);var p__default=/*#__PURE__*/_interopDefault(p);var i__default=/*#__PURE__*/_interopDefault(i);var u__default=/*#__PURE__*/_interopDefault(u);/* ZuzJS UI CLI */
3
+ var k=class{project;stylesToGenerate;manifest={};supportedExtensions=[".tsx",".jsx",".mdx",".md"];constructor(){this.project=new tsMorph.Project({compilerOptions:{allowJs:true,jsx:1}}),this.stylesToGenerate=new Set;}extractStyles(e,t=""){if(e.asKind(tsMorph.SyntaxKind.JsxExpression)){let s=e.getExpression();s&&this.extractStyles(s,t);return}if(e.asKind(tsMorph.SyntaxKind.StringLiteral)||e.asKind(tsMorph.SyntaxKind.NoSubstitutionTemplateLiteral)||e.asKind(tsMorph.SyntaxKind.NumericLiteral))this.stylesToGenerate.add(t+e.getLiteralValue().toString());else if(e.asKind(tsMorph.SyntaxKind.TemplateExpression)){let s=e.getHead().getLiteralText();e.getTemplateSpans().forEach(l=>{this.extractStyles(l.getExpression(),t+s);});}else e.asKind(tsMorph.SyntaxKind.ConditionalExpression)?(this.extractStyles(e.getWhenTrue(),t),this.extractStyles(e.getWhenFalse(),t)):e.asKind(tsMorph.SyntaxKind.ArrayLiteralExpression)?e.getElements().forEach(s=>this.extractStyles(s,t)):e.asKind(tsMorph.SyntaxKind.BinaryExpression)&&(this.extractStyles(e.getLeft(),t),this.extractStyles(e.getRight(),t));}processFile(e){this.stylesToGenerate.clear();let t=e.endsWith(".mdx")||e.endsWith(".md"),s;if(t){let n=u__default.default.readFileSync(e,"utf-8");s=this.project.createSourceFile(e,n,{overwrite:true,scriptKind:tsMorph.ScriptKind.TSX});}else s=this.project.addSourceFileAtPath(e),s.refreshFromFileSystemSync();[...s.getDescendantsOfKind(tsMorph.SyntaxKind.JsxOpeningElement),...s.getDescendantsOfKind(tsMorph.SyntaxKind.JsxSelfClosingElement)].forEach(n=>{let a=n.getAttribute("as")?.asKind(tsMorph.SyntaxKind.JsxAttribute)?.getInitializer();a&&this.extractStyles(a);}),s.getDescendantsOfKind(tsMorph.SyntaxKind.CallExpression).filter(n=>n.getExpression().getText()==="css").forEach(n=>{let c=n.getArguments();c.length>0&&this.extractStyles(c[0]);}),this.stylesToGenerate.forEach(n=>{chunkRI5JB2KJ_cjs.h(n).filter(Boolean).forEach(a=>{let x=a.match(/^([&@][\w-]+)\((.*)\)$/);if(x){let[h,z,F]=x;chunkRI5JB2KJ_cjs.h(F).filter(Boolean).forEach(b=>{let v=`${z}(${b})`,w=chunkRI5JB2KJ_cjs.i.parseAndGenerate(v,e);w.length>0&&(this.manifest[v]=w.join(" "));});let j=chunkRI5JB2KJ_cjs.i.parseAndGenerate(a,e);j.length>0&&(this.manifest[a]=j.join(" "));}else {let h=chunkRI5JB2KJ_cjs.i.parseAndGenerate(a,e);h.length>0&&(this.manifest[a]=h.join(" "));}});}),t&&this.project.removeSourceFile(s);}isSupportedFile(e){return this.supportedExtensions.some(t=>e.endsWith(t))}getStyleCount(){return this.stylesToGenerate.size}getManifestPath=()=>{let e=process.cwd(),t=[p__default.default.join(e,"src/app/css"),p__default.default.join(e,"app/css"),p__default.default.join(e,"src/css"),p__default.default.join(e,"css")],s=t.find(l=>u__default.default.existsSync(l))||t[0];return u__default.default.existsSync(s)||u__default.default.mkdirSync(s,{recursive:true}),p__default.default.join(s,"zuzmap.ts")};saveManifest(e){let t=p__default.default.dirname(e);u__default.default.existsSync(t)||u__default.default.mkdirSync(t,{recursive:true});let s=chunkRI5JB2KJ_cjs.i.getCache(),l={};for(let[n,c]of Object.entries(this.manifest))s.has(c)&&(l[n]=c);this.manifest=l;let g=`/* Zuz Generated Manifest - Do not edit */
4
+ export const zuzMap: Record<string, string> = ${JSON.stringify(this.manifest,null,2)};`;u__default.default.writeFileSync(e,g);}},y=new k;commander.program.opts();var S=process.cwd(),O=false,J=p__default.default.join(S,"src","app","css"),R=p__default.default.join(J,"zuz.scss"),W=p__default.default.join(J,"zuzmap.ts"),G=()=>{chunkRI5JB2KJ_cjs.i.writeToDisk(R),y.saveManifest(W);},P=async()=>{try{let o=p__default.default.dirname(url.fileURLToPath(chunkRI5JB2KJ_cjs.a)),e=p__default.default.resolve(o,"../package.json"),t=JSON.parse(u__default.default.readFileSync(e,"utf8")),g=(await(await fetch("https://registry.npmjs.org/@zuzjs/ui/latest")).json()).version.trim();if(g!==t.version.trim()){let n=` Update available! ${i__default.default.dim(t.version)} \u2192 ${i__default.default.green(g)} `,c=` Run: ${i__default.default.cyan(`npm i ${t.name}@latest`)} `,a=b=>b.replace(/\u001b\[[0-9;]*m/g,"").length,x=a(n),h=a(c),z=Math.max(x,h),F=i__default.default.yellow(`\u250C${"\u2500".repeat(z+2)}\u2510`),C=i__default.default.yellow(`\u2514${"\u2500".repeat(z+2)}\u2518`),j=(b,v)=>{let w=" ".repeat(z-v);return `${i__default.default.yellow("\u2502")} ${b}${w} ${i__default.default.yellow("\u2502")}`};console.log(`
5
5
  ${F}`),console.log(j(n,x)),console.log(j(c,h)),console.log(`${C}
6
- `);}}catch{}};commander.program.command("init").description("Initialize Zuz snippets and configuration").action(()=>{let o=p__default.default.join(S,".vscode"),e=p__default.default.join(o,"zuz.code-snippets"),t=p__default.default.join(o,"settings.json"),s=Object.keys(chunkVPTE2LT2_cjs.b).join(","),l=Object.keys(chunkVPTE2LT2_cjs.c).join(","),g={"Zuz Property":{prefix:"zp",body:[`as="\${1|${s}|}:$0"`],description:"Zuz Property (adds colon)"},"Zuz Shortcut":{prefix:"zs",body:[`as="\${1|${l}|}$0"`],description:"Zuz Direct Shortcut"}},n={};if(u__default.default.existsSync(t))try{n=JSON.parse(u__default.default.readFileSync(t,"utf-8"));}catch{n={};}n["editor.suggest.snippetsPreventQuickSuggestions"]=false,n["editor.quickSuggestions"]={...typeof n["editor.quickSuggestions"]=="object"?n["editor.quickSuggestions"]:{},strings:true},u__default.default.existsSync(o)||u__default.default.mkdirSync(o,{recursive:true}),u__default.default.writeFileSync(e,JSON.stringify(g,null,2)),u__default.default.writeFileSync(t,JSON.stringify(n,null,2)),console.log(i__default.default.green("\u2714 Zuz VS Code configuration initialized!")),console.log(i__default.default.cyan(" - .vscode/zuz.code-snippets (Splitted zp/zs)")),console.log(i__default.default.cyan(" - .vscode/settings.json (QuickSuggestions enabled)"));});commander.program.command("watch").alias("w").description("Start ZuzJS watcher").action(()=>{P();let o=Z__default.default.watch(".",{cwd:S,ignored:[/node_modules/,/dist/,/\.next/,/\.git/],persistent:true,usePolling:true,followSymlinks:false,ignoreInitial:false});o.on("add",e=>{y.isSupportedFile(e)&&y.processFile(p__default.default.resolve(S,e)),O&&console.log(i__default.default.gray(`\u25CB File added: ${e}`));}),o.on("change",e=>{if(y.isSupportedFile(e)){console.log(i__default.default.gray(`\u25CB File changed: ${e}`));let t=p__default.default.resolve(S,e);chunkVPTE2LT2_cjs.i.clearFileCache(t),y.processFile(t),G(),console.log(i__default.default.blue("\u26A1 Zuz CSS updated."));}}),o.on("ready",()=>{O=true,G(),console.log(i__default.default.green(`
6
+ `);}}catch{}};commander.program.command("init").description("Initialize Zuz snippets and configuration").action(()=>{let o=p__default.default.join(S,".vscode"),e=p__default.default.join(o,"zuz.code-snippets"),t=p__default.default.join(o,"settings.json"),s=Object.keys(chunkRI5JB2KJ_cjs.b).join(","),l=Object.keys(chunkRI5JB2KJ_cjs.c).join(","),g={"Zuz Property":{prefix:"zp",body:[`as="\${1|${s}|}:$0"`],description:"Zuz Property (adds colon)"},"Zuz Shortcut":{prefix:"zs",body:[`as="\${1|${l}|}$0"`],description:"Zuz Direct Shortcut"}},n={};if(u__default.default.existsSync(t))try{n=JSON.parse(u__default.default.readFileSync(t,"utf-8"));}catch{n={};}n["editor.suggest.snippetsPreventQuickSuggestions"]=false,n["editor.quickSuggestions"]={...typeof n["editor.quickSuggestions"]=="object"?n["editor.quickSuggestions"]:{},strings:true},u__default.default.existsSync(o)||u__default.default.mkdirSync(o,{recursive:true}),u__default.default.writeFileSync(e,JSON.stringify(g,null,2)),u__default.default.writeFileSync(t,JSON.stringify(n,null,2)),console.log(i__default.default.green("\u2714 Zuz VS Code configuration initialized!")),console.log(i__default.default.cyan(" - .vscode/zuz.code-snippets (Splitted zp/zs)")),console.log(i__default.default.cyan(" - .vscode/settings.json (QuickSuggestions enabled)"));});commander.program.command("watch").alias("w").description("Start ZuzJS watcher").action(()=>{P();let o=Z__default.default.watch(".",{cwd:S,ignored:[/node_modules/,/dist/,/\.next/,/\.git/],persistent:true,usePolling:true,followSymlinks:false,ignoreInitial:false});o.on("add",e=>{y.isSupportedFile(e)&&y.processFile(p__default.default.resolve(S,e)),O&&console.log(i__default.default.gray(`\u25CB File added: ${e}`));}),o.on("change",e=>{if(y.isSupportedFile(e)){console.log(i__default.default.gray(`\u25CB File changed: ${e}`));let t=p__default.default.resolve(S,e);chunkRI5JB2KJ_cjs.i.clearFileCache(t),y.processFile(t),G(),console.log(i__default.default.blue("\u26A1 Zuz CSS updated."));}}),o.on("ready",()=>{O=true,G(),console.log(i__default.default.green(`
7
7
  \u2713 Initial Build Complete.`)),console.log(i__default.default.cyan(`\u25CB Watching: ${p.basename(S)}
8
8
  `));}),o.on("error",e=>console.error(i__default.default.red(`Watcher Error: ${e}`)));});commander.program.parse(process.argv);
package/dist/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import {a,b,h,g}from'./chunk-GB67P3F3.js';import {program}from'commander';import D from'chokidar';import p,{basename}from'path';import i from'picocolors';import u from'fs';import {Project,SyntaxKind,ScriptKind}from'ts-morph';import {fileURLToPath}from'url';var T=class{project;stylesToGenerate;manifest={};supportedExtensions=[".tsx",".jsx",".mdx",".md"];constructor(){this.project=new Project({compilerOptions:{allowJs:true,jsx:1}}),this.stylesToGenerate=new Set;}extractStyles(e,t=""){if(e.asKind(SyntaxKind.JsxExpression)){let s=e.getExpression();s&&this.extractStyles(s,t);return}if(e.asKind(SyntaxKind.StringLiteral)||e.asKind(SyntaxKind.NoSubstitutionTemplateLiteral)||e.asKind(SyntaxKind.NumericLiteral))this.stylesToGenerate.add(t+e.getLiteralValue().toString());else if(e.asKind(SyntaxKind.TemplateExpression)){let s=e.getHead().getLiteralText();e.getTemplateSpans().forEach(l=>{this.extractStyles(l.getExpression(),t+s);});}else e.asKind(SyntaxKind.ConditionalExpression)?(this.extractStyles(e.getWhenTrue(),t),this.extractStyles(e.getWhenFalse(),t)):e.asKind(SyntaxKind.ArrayLiteralExpression)?e.getElements().forEach(s=>this.extractStyles(s,t)):e.asKind(SyntaxKind.BinaryExpression)&&(this.extractStyles(e.getLeft(),t),this.extractStyles(e.getRight(),t));}processFile(e){this.stylesToGenerate.clear();let t=e.endsWith(".mdx")||e.endsWith(".md"),s;if(t){let n=u.readFileSync(e,"utf-8");s=this.project.createSourceFile(e,n,{overwrite:true,scriptKind:ScriptKind.TSX});}else s=this.project.addSourceFileAtPath(e),s.refreshFromFileSystemSync();[...s.getDescendantsOfKind(SyntaxKind.JsxOpeningElement),...s.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement)].forEach(n=>{let a=n.getAttribute("as")?.asKind(SyntaxKind.JsxAttribute)?.getInitializer();a&&this.extractStyles(a);}),s.getDescendantsOfKind(SyntaxKind.CallExpression).filter(n=>n.getExpression().getText()==="css").forEach(n=>{let c=n.getArguments();c.length>0&&this.extractStyles(c[0]);}),this.stylesToGenerate.forEach(n=>{g(n).filter(Boolean).forEach(a=>{let x=a.match(/^([&@][\w-]+)\((.*)\)$/);if(x){let[h$1,z,F]=x;g(F).filter(Boolean).forEach(b=>{let v=`${z}(${b})`,w=h.parseAndGenerate(v,e);w.length>0&&(this.manifest[v]=w.join(" "));});let j=h.parseAndGenerate(a,e);j.length>0&&(this.manifest[a]=j.join(" "));}else {let h$1=h.parseAndGenerate(a,e);h$1.length>0&&(this.manifest[a]=h$1.join(" "));}});}),t&&this.project.removeSourceFile(s);}isSupportedFile(e){return this.supportedExtensions.some(t=>e.endsWith(t))}getStyleCount(){return this.stylesToGenerate.size}getManifestPath=()=>{let e=process.cwd(),t=[p.join(e,"src/app/css"),p.join(e,"app/css"),p.join(e,"src/css"),p.join(e,"css")],s=t.find(l=>u.existsSync(l))||t[0];return u.existsSync(s)||u.mkdirSync(s,{recursive:true}),p.join(s,"zuzmap.ts")};saveManifest(e){let t=p.dirname(e);u.existsSync(t)||u.mkdirSync(t,{recursive:true});let s=h.getCache(),l={};for(let[n,c]of Object.entries(this.manifest))s.has(c)&&(l[n]=c);this.manifest=l;let g=`/* Zuz Generated Manifest - Do not edit */
2
+ import {a,b,h,g}from'./chunk-NWG6ZO7D.js';import {program}from'commander';import D from'chokidar';import p,{basename}from'path';import i from'picocolors';import u from'fs';import {Project,SyntaxKind,ScriptKind}from'ts-morph';import {fileURLToPath}from'url';var T=class{project;stylesToGenerate;manifest={};supportedExtensions=[".tsx",".jsx",".mdx",".md"];constructor(){this.project=new Project({compilerOptions:{allowJs:true,jsx:1}}),this.stylesToGenerate=new Set;}extractStyles(e,t=""){if(e.asKind(SyntaxKind.JsxExpression)){let s=e.getExpression();s&&this.extractStyles(s,t);return}if(e.asKind(SyntaxKind.StringLiteral)||e.asKind(SyntaxKind.NoSubstitutionTemplateLiteral)||e.asKind(SyntaxKind.NumericLiteral))this.stylesToGenerate.add(t+e.getLiteralValue().toString());else if(e.asKind(SyntaxKind.TemplateExpression)){let s=e.getHead().getLiteralText();e.getTemplateSpans().forEach(l=>{this.extractStyles(l.getExpression(),t+s);});}else e.asKind(SyntaxKind.ConditionalExpression)?(this.extractStyles(e.getWhenTrue(),t),this.extractStyles(e.getWhenFalse(),t)):e.asKind(SyntaxKind.ArrayLiteralExpression)?e.getElements().forEach(s=>this.extractStyles(s,t)):e.asKind(SyntaxKind.BinaryExpression)&&(this.extractStyles(e.getLeft(),t),this.extractStyles(e.getRight(),t));}processFile(e){this.stylesToGenerate.clear();let t=e.endsWith(".mdx")||e.endsWith(".md"),s;if(t){let n=u.readFileSync(e,"utf-8");s=this.project.createSourceFile(e,n,{overwrite:true,scriptKind:ScriptKind.TSX});}else s=this.project.addSourceFileAtPath(e),s.refreshFromFileSystemSync();[...s.getDescendantsOfKind(SyntaxKind.JsxOpeningElement),...s.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement)].forEach(n=>{let a=n.getAttribute("as")?.asKind(SyntaxKind.JsxAttribute)?.getInitializer();a&&this.extractStyles(a);}),s.getDescendantsOfKind(SyntaxKind.CallExpression).filter(n=>n.getExpression().getText()==="css").forEach(n=>{let c=n.getArguments();c.length>0&&this.extractStyles(c[0]);}),this.stylesToGenerate.forEach(n=>{g(n).filter(Boolean).forEach(a=>{let x=a.match(/^([&@][\w-]+)\((.*)\)$/);if(x){let[h$1,z,F]=x;g(F).filter(Boolean).forEach(b=>{let v=`${z}(${b})`,w=h.parseAndGenerate(v,e);w.length>0&&(this.manifest[v]=w.join(" "));});let j=h.parseAndGenerate(a,e);j.length>0&&(this.manifest[a]=j.join(" "));}else {let h$1=h.parseAndGenerate(a,e);h$1.length>0&&(this.manifest[a]=h$1.join(" "));}});}),t&&this.project.removeSourceFile(s);}isSupportedFile(e){return this.supportedExtensions.some(t=>e.endsWith(t))}getStyleCount(){return this.stylesToGenerate.size}getManifestPath=()=>{let e=process.cwd(),t=[p.join(e,"src/app/css"),p.join(e,"app/css"),p.join(e,"src/css"),p.join(e,"css")],s=t.find(l=>u.existsSync(l))||t[0];return u.existsSync(s)||u.mkdirSync(s,{recursive:true}),p.join(s,"zuzmap.ts")};saveManifest(e){let t=p.dirname(e);u.existsSync(t)||u.mkdirSync(t,{recursive:true});let s=h.getCache(),l={};for(let[n,c]of Object.entries(this.manifest))s.has(c)&&(l[n]=c);this.manifest=l;let g=`/* Zuz Generated Manifest - Do not edit */
3
3
  export const zuzMap: Record<string, string> = ${JSON.stringify(this.manifest,null,2)};`;u.writeFileSync(e,g);}},y=new T;program.opts();var S=process.cwd(),A=false,G=p.join(S,"src","app","css"),W=p.join(G,"zuz.scss"),P=p.join(G,"zuzmap.ts"),O=()=>{h.writeToDisk(W),y.saveManifest(P);},I=async()=>{try{let o=p.dirname(fileURLToPath(import.meta.url)),e=p.resolve(o,"../package.json"),t=JSON.parse(u.readFileSync(e,"utf8")),g=(await(await fetch("https://registry.npmjs.org/@zuzjs/ui/latest")).json()).version.trim();if(g!==t.version.trim()){let n=` Update available! ${i.dim(t.version)} \u2192 ${i.green(g)} `,c=` Run: ${i.cyan(`npm i ${t.name}@latest`)} `,a=b=>b.replace(/\u001b\[[0-9;]*m/g,"").length,x=a(n),h=a(c),z=Math.max(x,h),F=i.yellow(`\u250C${"\u2500".repeat(z+2)}\u2510`),k=i.yellow(`\u2514${"\u2500".repeat(z+2)}\u2518`),j=(b,v)=>{let w=" ".repeat(z-v);return `${i.yellow("\u2502")} ${b}${w} ${i.yellow("\u2502")}`};console.log(`
4
4
  ${F}`),console.log(j(n,x)),console.log(j(c,h)),console.log(`${k}
5
5
  `);}}catch{}};program.command("init").description("Initialize Zuz snippets and configuration").action(()=>{let o=p.join(S,".vscode"),e=p.join(o,"zuz.code-snippets"),t=p.join(o,"settings.json"),s=Object.keys(a).join(","),l=Object.keys(b).join(","),g={"Zuz Property":{prefix:"zp",body:[`as="\${1|${s}|}:$0"`],description:"Zuz Property (adds colon)"},"Zuz Shortcut":{prefix:"zs",body:[`as="\${1|${l}|}$0"`],description:"Zuz Direct Shortcut"}},n={};if(u.existsSync(t))try{n=JSON.parse(u.readFileSync(t,"utf-8"));}catch{n={};}n["editor.suggest.snippetsPreventQuickSuggestions"]=false,n["editor.quickSuggestions"]={...typeof n["editor.quickSuggestions"]=="object"?n["editor.quickSuggestions"]:{},strings:true},u.existsSync(o)||u.mkdirSync(o,{recursive:true}),u.writeFileSync(e,JSON.stringify(g,null,2)),u.writeFileSync(t,JSON.stringify(n,null,2)),console.log(i.green("\u2714 Zuz VS Code configuration initialized!")),console.log(i.cyan(" - .vscode/zuz.code-snippets (Splitted zp/zs)")),console.log(i.cyan(" - .vscode/settings.json (QuickSuggestions enabled)"));});program.command("watch").alias("w").description("Start ZuzJS watcher").action(()=>{I();let o=D.watch(".",{cwd:S,ignored:[/node_modules/,/dist/,/\.next/,/\.git/],persistent:true,usePolling:true,followSymlinks:false,ignoreInitial:false});o.on("add",e=>{y.isSupportedFile(e)&&y.processFile(p.resolve(S,e)),A&&console.log(i.gray(`\u25CB File added: ${e}`));}),o.on("change",e=>{if(y.isSupportedFile(e)){console.log(i.gray(`\u25CB File changed: ${e}`));let t=p.resolve(S,e);h.clearFileCache(t),y.processFile(t),O(),console.log(i.blue("\u26A1 Zuz CSS updated."));}}),o.on("ready",()=>{A=true,O(),console.log(i.green(`
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- 'use strict';var chunkVPTE2LT2_cjs=require('./chunk-VPTE2LT2.cjs'),react=require('react'),hooks=require('@zuzjs/hooks'),reactDom=require('react-dom'),core=require('@zuzjs/core'),jsxRuntime=require('react/jsx-runtime'),react$1=require('@zuzjs/core/react'),dateFns=require('date-fns');/* ZuzJS UI CLI */
2
- var gr={Circle:"CIRCLE",Square:"SQUARE"},Ju={Default:"DEFAULT",Circle:"CIRCLE"},ef={Light:"light",Dark:"dark",System:"system"},Le={Default:"DEFAULT",Switch:"SWITCH"},mt={Auto:"auto",Top:"top",Bottom:"bottom",Left:"left",Right:"right"},ge=mt,pt=hooks.AnchorType,tf=pt,U={XSmall:"xs",Small:"sm",Medium:"md",Large:"lg",XLarge:"xl"},of={Asc:"ASC",Desc:"DESC"},rf={String:"STRING",Number:"NUMBER",Boolean:"BOOLEAN",Array:"ARRAY",Object:"OBJECT",Date:"DATE",Time:"TIME",DateTime:"DATETIME",File:"FILE"},nf={Dots:"DOTS"},_e={IPV4:"IPV4",IPV6:"IPV6",Email:"EMAIL",Uri:"URI",Password:"PASSWORD",MatchField:"MATCHFIELD",Pattern:"*",GreaterThan:"GREATER_THAN"},Ce={Success:"success",Error:"error",Warning:"warning",Info:"info"},j={Spring:"SPRING",Liquid:"LIQUID",EaseInOut:"EASEINOUT",EaseOutBack:"EASEOUTBACK",Bounce:"BOUNCE"},X={FadeIn:"FADE_IN",ScaleIn:"SCALE_IN",SlideInTop:"SLIDE_FROM_TOP",SlideInRight:"SLIDE_FROM_RIGHT",SlideInBottom:"SLIDE_FROM_BOTTOM",SlideInLeft:"SLIDE_FROM_LEFT"},sf={Success:"success",Error:"error",Idle:"idle",Dead:"dead"},Te={Dialog:"DIALOG",Default:"DEFAULT",Error:"ERROR",Success:"SUCCESS",Warn:"WARN",Promise:"PROMISE"},Qe=Te,so={Left:"LEFT",Right:"RIGHT",Center:"CENTER"},hr=so,af={Bar:"BAR",Ring:"RING"},ao={Default:"range",Text:"number"},io={Default:"DEFAULT",Card:"CARD"},Nt={Gooey:"gooey"},be={Left:"LEFT",Right:"RIGHT",Top:"TOP",Bottom:"BOTTOM"};var yr=Symbol.for("zuz.global.map"),xr=e=>{globalThis[yr]=e;},Ia=()=>globalThis[yr]||{},lo=e=>{let r=Array.isArray(e)?e.join(" "):e;if(!r||typeof r!="string")return "";let t=Ia();return process.env.NODE_ENV==="development"&&Object.keys(t).length===0&&console.warn(`[${chunkVPTE2LT2_cjs.f}] No utility map detected. Classes will not be hashed. `,"Ensure you call setZuzMap() or use <ThemeProvider zuzMap={...} />."),chunkVPTE2LT2_cjs.h(r).filter(Boolean).map(o=>{let s=o.match(/^([&@][\w-]+)\((.*)\)$/);if(s){let[a,m,c]=s;return chunkVPTE2LT2_cjs.h(c).map(p=>{let f=`${m}(${p})`;return t[f]||p}).join(" ")}return t[o]||o}).join(" ")},Rf=e=>{let r=Array.isArray(e)?e.join(" "):e;return !r||typeof r!="string"?"":lo(r)},br=e=>{let r={};for(let t in e){let n=e[t];if(t.startsWith("--")){r[t]=n;continue}let o=chunkVPTE2LT2_cjs.e[t]?.toString()??t;if(o==="x"||o==="translateX"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${chunkVPTE2LT2_cjs.i.addUnitsSafely(t,n)} ${s[1]??"0px"}`;}else if(o==="y"||o==="translateY"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${s[0]??"0px"} ${chunkVPTE2LT2_cjs.i.addUnitsSafely(t,n)}`;}else chunkVPTE2LT2_cjs.d.includes(o)?r[o]=chunkVPTE2LT2_cjs.i.addUnitsSafely(t,n):r[o]=n;}return r},co=e=>{if(!e)return "linear";switch(e.toUpperCase()){case j.Bounce:return "var(--bounce)";case j.Liquid:return "var(--liquid)";case j.Spring:return "var(--spring)";case j.EaseInOut:return "ease-in-out";case j.EaseOutBack:return "ease-out-back";default:return "linear"}},ut=(e,r=0,t=0)=>{let n={},o={},s=r||20,a=t||0;switch(e){case X.SlideInLeft:case X.SlideInRight:n={"--fx-x":e===X.SlideInLeft?`-${s}px`:`${s}px`,opacity:0},o={"--fx-x":`${a}px`,opacity:1};break;case X.SlideInTop:case X.SlideInBottom:n={"--fx-y":e===X.SlideInTop?`-${s}px`:`${s}px`,opacity:0},o={"--fx-y":`${a}px`,opacity:1};break;case X.ScaleIn:n={scale:0,opacity:0},o={scale:1,opacity:1};break;case X.FadeIn:n={opacity:0},o={opacity:1};break}return {from:n,to:o}},If=(e,r,t)=>{let{from:n,to:o}=ut(e);return r?{...n,...o}:t?n:o};var Ba=(e,r)=>{let t=react.useRef([]),n=react.useRef(false);return react.useEffect(()=>{e?.when||(n.current=false);},[e?.transition]),react.useEffect(()=>{let o=r?.current;if(!o||!e||!e.clearAtEnd)return;let s=a=>{t.current.includes(a.propertyName)&&e.clearAtEnd===true&&(o.style.transform="",o.style.filter="",t.current.forEach(m=>o.style.removeProperty(m)));};return o.addEventListener("transitionend",s),()=>o.removeEventListener("transitionend",s)},[e,r]),react.useEffect(()=>{if(typeof window>"u"||!r?.current)return;let o=r.current;(e?.scroll||e?.mouse)&&(o.style.willChange="transform",o.style.translate="var(--fx-x, 0px) var(--fx-y, 0px)",o.style.transition=`translate 0.1s ${e.curve?co(e.curve):"var(--spring)"}`);},[e,r]),react.useMemo(()=>{if(!e)return {style:{}};let{transition:o,from:s,to:a,exit:m,when:c,duration:p=.3,delay:f=0,curve:l,margin:i=0,offset:g=20,watch:S=[]}=e,T=c===false&&!n.current;c===true&&(n.current=true);let y={},{from:P,to:C}=o?ut(o,g,i):{from:s||{},to:a||{}};y=c===void 0?{...P,...C}:c?{...C}:m||P;let w=co(l),d=[],x=br(y);t.current=Object.keys(x);let h={...x};return Object.keys(x).forEach(b=>{let R=b.startsWith("--")?"all":b;d.includes(R)||d.push(`${R} ${p}s ${w} ${f}s`);}),S.forEach(b=>{d.includes(b)||d.push(`${b} 0.1s ${w} 0s`);}),{style:{...h,transition:T?"none":d.join(", "),opacity:T?0:h.opacity,pointerEvents:T?"none":h.pointerEvents}}},[e,e?.when,e?.watch])},he=Ba;var Bt=null,Ea=(e,r)=>{let{as:t,fx:n,busy:o=false,transition:s,skeleton:a,className:m,propsToRemove:c,draggable:p,dragOptions:f,style:l,...i}=e||{},g=typeof window<"u",S={},T={};if(p&&g&&!Bt&&(import('@zuzjs/hooks').then(d=>{Bt=d.useDrag;}).catch(d=>{console.error("Error loading useDrag:",d);}),Bt)){let d=Bt(f);S={onMouseDown:d.onMouseDown},T={transform:`translate(${d.position.x}px, ${d.position.y}px)`};}let y=[m,o===true?"--is-busy":""].filter(Boolean).join(" "),P=s?{transition:s,duration:.3}:n||{},{style:C}=he(P,r),w=lo(t??"");return {style:{...l,...C,...T},className:[y,w||"",a?.enabled?"--skeleton":"",p?"--draggable":""].join(" ").trim(),rest:{...S,...chunkVPTE2LT2_cjs.g(i,c?[...c,"skeleton"]:["skeleton"])}}},B=Ea;var Sr="(prefers-color-scheme: dark)",Ma=typeof window>"u",Tr=react.createContext(void 0),fo=e=>{let r=react.useContext(Tr);if(!r){if(e===true)return;throw new Error("useColorScheme must be used within a ThemeProvider")}return r},Q=fo,Oa=({children:e,storageKey:r="--ucs",forceTheme:t,zuzMap:n,...o})=>(n&&xr(n),jsxRuntime.jsx(Da,{storageKey:r,forceTheme:t,...o,children:e})),Da=({children:e,storageKey:r,forceTheme:t,...n})=>{let[o,s]=react.useState(()=>t||Cr(r,"system")),[a,m]=react.useState(()=>t||Cr(r)),c=i=>(i||(i=window.matchMedia(Sr)),i.matches?"dark":"light"),p=react.useCallback(i=>{let g=i=="system"?c():i,S=document.documentElement;S.setAttribute("color-scheme",g),S.style.colorScheme=g,m(g);},[c]),f=react.useCallback(i=>{s(i),localStorage.setItem(r,i),p(i);},[o]),l=react.useCallback(i=>{let g=c(i);m(g),o==="system"&&p("system");},[o]);return react.useEffect(()=>{o==null&&window.localStorage.getItem(r);},[o]),react.useEffect(()=>{window.matchMedia(Sr).addEventListener("change",l);},[l]),react.useEffect(()=>{let i=g=>{g.key==r&&(g.newValue?f(g.newValue):f("system"));};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[f]),react.useEffect(()=>{p(t||o||"system");},[o]),jsxRuntime.jsxs(Tr,{value:{colorScheme:o,resolvedScheme:a,setColorScheme:f,...n},children:[t?null:jsxRuntime.jsx("script",{suppressHydrationWarning:true,dangerouslySetInnerHTML:{__html:`const el = document.documentElement
1
+ 'use strict';var chunkRI5JB2KJ_cjs=require('./chunk-RI5JB2KJ.cjs'),react=require('react'),hooks=require('@zuzjs/hooks'),reactDom=require('react-dom'),core=require('@zuzjs/core'),jsxRuntime=require('react/jsx-runtime'),react$1=require('@zuzjs/core/react'),dateFns=require('date-fns');/* ZuzJS UI CLI */
2
+ var gr={Circle:"CIRCLE",Square:"SQUARE"},Ju={Default:"DEFAULT",Circle:"CIRCLE"},ef={Light:"light",Dark:"dark",System:"system"},Le={Default:"DEFAULT",Switch:"SWITCH"},mt={Auto:"auto",Top:"top",Bottom:"bottom",Left:"left",Right:"right"},ge=mt,pt=hooks.AnchorType,tf=pt,U={XSmall:"xs",Small:"sm",Medium:"md",Large:"lg",XLarge:"xl"},of={Asc:"ASC",Desc:"DESC"},rf={String:"STRING",Number:"NUMBER",Boolean:"BOOLEAN",Array:"ARRAY",Object:"OBJECT",Date:"DATE",Time:"TIME",DateTime:"DATETIME",File:"FILE"},nf={Dots:"DOTS"},_e={IPV4:"IPV4",IPV6:"IPV6",Email:"EMAIL",Uri:"URI",Password:"PASSWORD",MatchField:"MATCHFIELD",Pattern:"*",GreaterThan:"GREATER_THAN"},Ce={Success:"success",Error:"error",Warning:"warning",Info:"info"},j={Spring:"SPRING",Liquid:"LIQUID",EaseInOut:"EASEINOUT",EaseOutBack:"EASEOUTBACK",Bounce:"BOUNCE"},X={FadeIn:"FADE_IN",ScaleIn:"SCALE_IN",SlideInTop:"SLIDE_FROM_TOP",SlideInRight:"SLIDE_FROM_RIGHT",SlideInBottom:"SLIDE_FROM_BOTTOM",SlideInLeft:"SLIDE_FROM_LEFT"},sf={Success:"success",Error:"error",Idle:"idle",Dead:"dead"},Te={Dialog:"DIALOG",Default:"DEFAULT",Error:"ERROR",Success:"SUCCESS",Warn:"WARN",Promise:"PROMISE"},Qe=Te,so={Left:"LEFT",Right:"RIGHT",Center:"CENTER"},hr=so,af={Bar:"BAR",Ring:"RING"},ao={Default:"range",Text:"number"},io={Default:"DEFAULT",Card:"CARD"},Nt={Gooey:"gooey"},be={Left:"LEFT",Right:"RIGHT",Top:"TOP",Bottom:"BOTTOM"};var yr=Symbol.for("zuz.global.map"),xr=e=>{globalThis[yr]=e;},Ia=()=>globalThis[yr]||{},lo=e=>{let r=Array.isArray(e)?e.join(" "):e;if(!r||typeof r!="string")return "";let t=Ia();return process.env.NODE_ENV==="development"&&Object.keys(t).length===0&&console.warn(`[${chunkRI5JB2KJ_cjs.f}] No utility map detected. Classes will not be hashed. `,"Ensure you call setZuzMap() or use <ThemeProvider zuzMap={...} />."),chunkRI5JB2KJ_cjs.h(r).filter(Boolean).map(o=>{let s=o.match(/^([&@][\w-]+)\((.*)\)$/);if(s){let[a,m,c]=s;return chunkRI5JB2KJ_cjs.h(c).map(p=>{let f=`${m}(${p})`;return t[f]||p}).join(" ")}return t[o]||o}).join(" ")},Rf=e=>{let r=Array.isArray(e)?e.join(" "):e;return !r||typeof r!="string"?"":lo(r)},br=e=>{let r={};for(let t in e){let n=e[t];if(t.startsWith("--")){r[t]=n;continue}let o=chunkRI5JB2KJ_cjs.e[t]?.toString()??t;if(o==="x"||o==="translateX"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${chunkRI5JB2KJ_cjs.i.addUnitsSafely(t,n)} ${s[1]??"0px"}`;}else if(o==="y"||o==="translateY"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${s[0]??"0px"} ${chunkRI5JB2KJ_cjs.i.addUnitsSafely(t,n)}`;}else chunkRI5JB2KJ_cjs.d.includes(o)?r[o]=chunkRI5JB2KJ_cjs.i.addUnitsSafely(t,n):r[o]=n;}return r},co=e=>{if(!e)return "linear";switch(e.toUpperCase()){case j.Bounce:return "var(--bounce)";case j.Liquid:return "var(--liquid)";case j.Spring:return "var(--spring)";case j.EaseInOut:return "ease-in-out";case j.EaseOutBack:return "ease-out-back";default:return "linear"}},ut=(e,r=0,t=0)=>{let n={},o={},s=r||20,a=t||0;switch(e){case X.SlideInLeft:case X.SlideInRight:n={"--fx-x":e===X.SlideInLeft?`-${s}px`:`${s}px`,opacity:0},o={"--fx-x":`${a}px`,opacity:1};break;case X.SlideInTop:case X.SlideInBottom:n={"--fx-y":e===X.SlideInTop?`-${s}px`:`${s}px`,opacity:0},o={"--fx-y":`${a}px`,opacity:1};break;case X.ScaleIn:n={scale:0,opacity:0},o={scale:1,opacity:1};break;case X.FadeIn:n={opacity:0},o={opacity:1};break}return {from:n,to:o}},If=(e,r,t)=>{let{from:n,to:o}=ut(e);return r?{...n,...o}:t?n:o};var Ba=(e,r)=>{let t=react.useRef([]),n=react.useRef(false);return react.useEffect(()=>{e?.when||(n.current=false);},[e?.transition]),react.useEffect(()=>{let o=r?.current;if(!o||!e||!e.clearAtEnd)return;let s=a=>{t.current.includes(a.propertyName)&&e.clearAtEnd===true&&(o.style.transform="",o.style.filter="",t.current.forEach(m=>o.style.removeProperty(m)));};return o.addEventListener("transitionend",s),()=>o.removeEventListener("transitionend",s)},[e,r]),react.useEffect(()=>{if(typeof window>"u"||!r?.current)return;let o=r.current;(e?.scroll||e?.mouse)&&(o.style.willChange="transform",o.style.translate="var(--fx-x, 0px) var(--fx-y, 0px)",o.style.transition=`translate 0.1s ${e.curve?co(e.curve):"var(--spring)"}`);},[e,r]),react.useMemo(()=>{if(!e)return {style:{}};let{transition:o,from:s,to:a,exit:m,when:c,duration:p=.3,delay:f=0,curve:l,margin:i=0,offset:g=20,watch:S=[]}=e,T=c===false&&!n.current;c===true&&(n.current=true);let y={},{from:P,to:C}=o?ut(o,g,i):{from:s||{},to:a||{}};y=c===void 0?{...P,...C}:c?{...C}:m||P;let w=co(l),d=[],x=br(y);t.current=Object.keys(x);let h={...x};return Object.keys(x).forEach(b=>{let R=b.startsWith("--")?"all":b;d.includes(R)||d.push(`${R} ${p}s ${w} ${f}s`);}),S.forEach(b=>{d.includes(b)||d.push(`${b} 0.1s ${w} 0s`);}),{style:{...h,transition:T?"none":d.join(", "),opacity:T?0:h.opacity,pointerEvents:T?"none":h.pointerEvents}}},[e,e?.when,e?.watch])},he=Ba;var Bt=null,Ea=(e,r)=>{let{as:t,fx:n,busy:o=false,transition:s,skeleton:a,className:m,propsToRemove:c,draggable:p,dragOptions:f,style:l,...i}=e||{},g=typeof window<"u",S={},T={};if(p&&g&&!Bt&&(import('@zuzjs/hooks').then(d=>{Bt=d.useDrag;}).catch(d=>{console.error("Error loading useDrag:",d);}),Bt)){let d=Bt(f);S={onMouseDown:d.onMouseDown},T={transform:`translate(${d.position.x}px, ${d.position.y}px)`};}let y=[m,o===true?"--is-busy":""].filter(Boolean).join(" "),P=s?{transition:s,duration:.3}:n||{},{style:C}=he(P,r),w=lo(t??"");return {style:{...l,...C,...T},className:[y,w||"",a?.enabled?"--skeleton":"",p?"--draggable":""].join(" ").trim(),rest:{...S,...chunkRI5JB2KJ_cjs.g(i,c?[...c,"skeleton"]:["skeleton"])}}},B=Ea;var Sr="(prefers-color-scheme: dark)",Ma=typeof window>"u",Tr=react.createContext(void 0),fo=e=>{let r=react.useContext(Tr);if(!r){if(e===true)return;throw new Error("useColorScheme must be used within a ThemeProvider")}return r},Q=fo,Oa=({children:e,storageKey:r="--ucs",forceTheme:t,zuzMap:n,...o})=>(n&&xr(n),jsxRuntime.jsx(Da,{storageKey:r,forceTheme:t,...o,children:e})),Da=({children:e,storageKey:r,forceTheme:t,...n})=>{let[o,s]=react.useState(()=>t||Cr(r,"system")),[a,m]=react.useState(()=>t||Cr(r)),c=i=>(i||(i=window.matchMedia(Sr)),i.matches?"dark":"light"),p=react.useCallback(i=>{let g=i=="system"?c():i,S=document.documentElement;S.setAttribute("color-scheme",g),S.style.colorScheme=g,m(g);},[c]),f=react.useCallback(i=>{s(i),localStorage.setItem(r,i),p(i);},[o]),l=react.useCallback(i=>{let g=c(i);m(g),o==="system"&&p("system");},[o]);return react.useEffect(()=>{o==null&&window.localStorage.getItem(r);},[o]),react.useEffect(()=>{window.matchMedia(Sr).addEventListener("change",l);},[l]),react.useEffect(()=>{let i=g=>{g.key==r&&(g.newValue?f(g.newValue):f("system"));};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[f]),react.useEffect(()=>{p(t||o||"system");},[o]),jsxRuntime.jsxs(Tr,{value:{colorScheme:o,resolvedScheme:a,setColorScheme:f,...n},children:[t?null:jsxRuntime.jsx("script",{suppressHydrationWarning:true,dangerouslySetInnerHTML:{__html:`const el = document.documentElement
3
3
  const themes = ['light', 'dark']
4
4
  let theme = localStorage.getItem(\`${r}\`) || "system";
5
5
  if (theme === "system") {
@@ -11,4 +11,4 @@ var gr={Circle:"CIRCLE",Square:"SQUARE"},Ju={Default:"DEFAULT",Circle:"CIRCLE"},
11
11
  ${s==true?`<span class="--line-number">${x+1}</span>`:""}
12
12
  <span class="--line-content">${h||" "}</span>
13
13
  </div>`}).join("")},[t,S]);return jsxRuntime.jsxs(u,{as:`--code-block rel ${l}`,style:i,...p,children:[jsxRuntime.jsx("pre",{ref:e,children:jsxRuntime.jsx("code",{className:`--code --lang-${o}`,dangerouslySetInnerHTML:{__html:T}})}),n&&jsxRuntime.jsx(A,{as:"--copy-code abs",onClick:()=>{core.copyToClipboard(t),n.onCopy?.();},children:"Copy"})]})},Xc=qc;var qn=({onSelect:e,meta:r,selected:t,disabled:n=false})=>{let o=react.useRef(null),{index:s,icon:a,label:m}=r,[c,p]=react.useState({x:0,width:0}),f=hooks.useDelayed();return react.useLayoutEffect(()=>{if(f&&o.current){let{width:l,x:i}=o.current.getBoundingClientRect();p({x:i,width:l}),t&&e(s,l,i,r,true);}},[f,o.current]),react.useEffect(()=>{t&&e(s,c.width,c.x,r,false);},[t]),jsxRuntime.jsxs(A,{disabled:n,onClick:()=>e(s,c.width,c.x,r,false),ref:o,className:`--segment-item flex aic rel ${t?"--segment-active":""}`.trim(),children:[a?typeof a=="string"?jsxRuntime.jsx(J,{name:a,as:"--segment-icon"}):jsxRuntime.jsx(u,{as:"--segment-icon flex aic jcc",children:a}):null,m&&String(m).trim()!=""&&jsxRuntime.jsx(u,{className:"--segment-label",children:m||`Item ${s}`})]})};qn.displayName="SelectTabItem";var Xn=qn;var jn=react.forwardRef((e,r)=>{let{fx:t,items:n,selected:o,variant:s,disabled:a=false,onSwitch:m,...c}=e,[p,f]=react.useState(o||0),l=hooks.useDelayed(50),i=react.useRef(p),{className:g,style:S,rest:T}=B(c),y=react.useRef(null),P=react.useRef(null),{variant:C}=Q(true),w=(d,x,h,b,R)=>{if((R||p!=d&&p!=-2)&&(f(d),i.current=p,queueMicrotask(()=>{l&&m?.(b);})),y.current){let H=P.current?.getBoundingClientRect();y.current.style.setProperty("--w",`${x}px`),y.current.style.setProperty("--x",`${H?h-H.left:h}px`);}};return react.useImperativeHandle(r,()=>({setSelected:d=>{typeof d=="number"&&d!=p&&f(d);}}),[p]),jsxRuntime.jsxs(u,{ref:P,"data-selected":p,className:`${g} --segmented --${s||C||U.Medium} flex aic rel`,style:S,...T,children:[jsxRuntime.jsx(u,{ref:y,className:`--segment-tab --${a?"disabled":"abled"} abs`}),n.map((d,x)=>jsxRuntime.jsx(Xn,{disabled:a,onSelect:w,selected:p==x,meta:{...d,index:x}},`segment-${d.label}-${x}`))]})});jn.displayName="Zuz.SelectTabs";var St=jn;var es=react.forwardRef((e,r)=>{let{type:t,...n}=e,o=hooks.useDelayed(),{colorScheme:s,setColorScheme:a}=fo(),m=react.useCallback(()=>{a(s=="dark"?"light":s=="light"?"system":"dark");},[s]),{className:c,style:p}=B(n),f=react.useMemo(()=>t=="system"?[{tag:"light",index:0,label:"",icon:O.colorSchemeLight},{tag:"system",index:1,label:"",icon:O.colorSchemeSystem},{tag:"dark",index:2,label:"",icon:O.colorSchemeDark}]:[{tag:"light",index:0,label:"",icon:O.colorSchemeLight},{tag:"dark",index:2,label:"",icon:O.colorSchemeDark}],[]),l=react.useMemo(()=>["light","system","dark"].indexOf(s),[s]);return !o||l==-1?null:t=="system"||t=="switch"?jsxRuntime.jsx(St,{className:`--color-scheme --${t}`,onSwitch:({tag:i})=>{a(i);},selected:l,items:f,...n}):jsxRuntime.jsx(A,{onClick:m,style:p,as:`--color-scheme-switch --${n.variant||U.Small} ${c}`.trim(),children:s=="system"?O.colorSchemeSystem:s=="light"?O.colorSchemeLight:O.colorSchemeDark})});es.displayName="Zuz.ColorScheme";var pm=es;var os=react.forwardRef((e,r)=>{let[t,n]=react.useState("wait"),{title:o,message:s,acceptLabel:a,rejectLabel:m,position:c}=e,p=async f=>{n(f==1?"accepted":"rejected"),localStorage.setItem("--ccnt",String(f));};return react.useEffect(()=>{let f=localStorage.getItem("--ccnt");n(f?f=="1"?"accepted":"rejected":"pending");},[]),jsxRuntime.jsxs(u,{fx:{from:{x:-1e3},to:{x:0},when:t=="pending",curve:j.EaseInOut,duration:.5,delay:t=="accepted"?0:3},as:`--cookie-consent --${t} --${c||ge.Left} flex cols`,children:[jsxRuntime.jsx(z,{as:"--title",children:o||"This site uses cookies"}),jsxRuntime.jsx(z,{as:"--message",children:s||"We and selected third parties use cookies (or similar technologies) for technical purposes, to enhance and analyze site usage, to support our marketing efforts"}),jsxRuntime.jsxs(u,{as:"--footer flex aic",children:[jsxRuntime.jsx(A,{onClick:f=>p(1),as:"--accept",children:a||"Accept All"}),jsxRuntime.jsx(A,{onClick:f=>p(0),as:"--reject",children:m||"Cancel"})]})]})});os.displayName="Zuz.CookiesConsent";var gm=os;var ss=({ref:e,...r})=>{let {title:t,position:n,margin:o=4,anchorName:s="--tooltip-anchor",children:a,show:m,variant:c,...p}=r,{style:f,className:l,rest:i}=B(p),g=n||ge.Top;react.useRef(null);let [T,y]=react.useState(false);react.useRef(6);let C=m===true||T,d=`--anchor-${react.useId().replace(/:/g,"")}`,{tooltip:x}=Q(true),h=react.useMemo(()=>{let R=false;return react$1.addPropsToChildren(a,H=>{let L=H.props.className?.includes(s);return L&&(R=true),L||!R},(H,L)=>{let F=L.props.className?.includes(s),I=H===0,V={};return (F||I)&&(V.style={...L.props.style,anchorName:d}),I&&(V.onMouseEnter=$=>{y(true),L.props.onMouseEnter?.($);},V.onMouseLeave=$=>{y(false),L.props.onMouseLeave?.($);}),V})},[a,s,d]),b=he({transition:g==ge.Top?X.SlideInTop:g==ge.Bottom?X.SlideInBottom:g==ge.Left?X.SlideInLeft:X.SlideInRight,when:C,duration:.2,offset:o+6,margin:g==ge.Top||g==ge.Left?-o:o,curve:x?.curve||j.EaseInOut});return react.useImperativeHandle(e,()=>({show:()=>y(true),hide:()=>y(false),setPosition:()=>{}})),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[h,jsxRuntime.jsx(u,{style:{positionAnchor:d,...b.style,...g===ge.Top||g===ge.Bottom?{"--fx-x":"-50%"}:{"--fx-y":"-50%"}},as:`--tooltip --visb-${C} --${c||x?.variant||U.Small} --${g} abs ${l}`.trim(),children:typeof t=="string"?jsxRuntime.jsx(z,{as:"--text rel",children:t}):t})]})};ss.displayName="Zuz.ToolTip";var Uo=ss;var as=({ref:e,...r})=>{let {type:t,value:n=0,min:o=0,max:s=1,step:a=.01,onChange:m,showGhostBar:c,showKnobOnHover:p,showToolTip:f,roundValue:l,formatValue:i,...g}=r,{className:S,style:T,rest:y}=B(g),P=react.useRef(a||.01).current,C=react.useRef(o||0).current,w=react.useRef(s||1).current,d=react.useRef(n||0).current,x=react.useRef(null),h=react.useRef(null),b=react.useRef(null),R=react.useRef(null);react.useRef(null);let L=react.useRef(null),F=react.useRef(null),I=react.useRef(null),V=react.useRef(null),$=(oe,M,q)=>(oe-M)/(q-M)*100,Z=oe=>{if(h.current){let M=parseFloat(oe.currentTarget.value);Y(M);let q=$(M,parseFloat(oe.currentTarget.min),parseFloat(oe.currentTarget.max));h.current.style.setProperty("--value",`${q}`),h.current.setAttribute("data-value",`${M}`),m&&m(l?+M.toFixed(2):M);}},[N,k]=react.useState(false),[K,E]=react.useState(0),[re,_]=react.useState(0),[G,W]=react.useState(false),Y=async oe=>{let M=i?i(+oe):l?(+oe).toFixed(2):Math.round(+oe);I.current&&(I.current.textContent=String(M));},ee=oe=>{if(N){let M=oe.clientX-K,q=w-C,ie=M/200*q,ue=Math.max(C,Math.min(re+ie,w));if(ue=Math.round(ue/P)*P,Y(ue),h.current){let ct=$(ue,C,w);h.current.style.setProperty("--value",`${ct}`),h.current.setAttribute("data-value",`${ue}`),F.current&&(F.current.textContent=l?ue.toFixed(2):ue.toString()),m&&m(ue);}}},pe=()=>{k(false),document.body.style.cursor="auto";},se=oe=>(oe-C)/(w-C)*100,de=oe=>{if(!h.current)return;let M=h.current.getBoundingClientRect(),q=oe.clientX-M.left,ce=Math.max(0,Math.min(100,q/M.width*100));if(f&&I.current){let ie=x.current?+x.current.value:n;Y(ie*100);}if(c){let ie=se(x.current?+x.current.value:n),ue=Math.min(ie,ce),ct=Math.abs(ce-ie);h.current.style.setProperty("--ghost-start",`${ue}`),h.current.style.setProperty("--ghost-width",`${ct}`);}};react.useEffect(()=>{h.current&&h.current.style.setProperty("--value",x.current?`${$(parseFloat(x.current.value),parseFloat(x.current.min),parseFloat(x.current.max))}`:d.toString());},[]),react.useEffect(()=>(N?(document.addEventListener("mousemove",ee),document.addEventListener("mouseup",pe)):(document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",pe)),()=>{document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",pe);}),[N]),react.useEffect(()=>{let oe=$(n,C,w);h.current?.style.setProperty("--value",`${oe}`),Y(n);},[n,C,w,I.current]);let te=()=>jsxRuntime.jsxs(u,{ref:h,onMouseEnter:()=>W(true),onMouseLeave:()=>W(false),onMouseMove:de,className:`--slider --${t||ao.Default} ${p?"--knob-hover":""} flex rel ${S}`.trim(),style:{...T},children:[jsxRuntime.jsx(u,{ref:L,className:"--slider-track abs fill"}),c&&jsxRuntime.jsx(u,{ref:R,className:"--slider-ghost abs fill"}),jsxRuntime.jsx(u,{className:"--slider-track-filled abs fill",style:{width:"calc(var(--value) * 1%)"}}),jsxRuntime.jsx(u,{ref:b,className:"--slider-knob --tooltip-knob abs"}),jsxRuntime.jsx(me,{ref:x,onInput:Z,className:"abs fill",tabIndex:0,type:t||ao.Default,defaultValue:d||0,step:P,max:w,min:C})]});if(f===true){let oe=i?i(n):l?n.toFixed(2):n;return jsxRuntime.jsx(Uo,{ref:V,show:N,position:mt.Top,margin:15,anchorName:"--tooltip-knob",title:jsxRuntime.jsx(ne,{ref:I,children:oe}),children:te()})}return te()};as.displayName="Zuz.Slider";var et=as;var ls=react.forwardRef((e,r)=>{let{src:t,shape:n,size:o,...s}=e,{style:a,className:m,rest:c}=B(s),{canvasRef:p,crop:f,setScale:l,handleMouseDown:i,handleMouseUp:g,handleMouseMove:S}=hooks.useImageCropper(t,o||200,n||hooks.CropShape.Circle);return react.useImperativeHandle(r,()=>({getCropped(){return f()},setScale(T){l(T);}})),jsxRuntime.jsxs(u,{as:`--cropper --${n||hooks.CropShape.Circle} ${m}`,style:a,...c,children:[jsxRuntime.jsx("canvas",{ref:p,width:o||200,height:o||200,onMouseDown:i,onMouseUp:g,onMouseLeave:g,onMouseMove:S}),jsxRuntime.jsx(u,{as:"--cropper-slider",children:jsxRuntime.jsx(et,{onChange:T=>l(T),min:0,max:1,step:.01,value:1})})]})});ls.displayName="Zuz.Cropper";var Im=ls;var Bm=(t=>(t.Circle="circle",t.Square="square",t))(Bm||{});var ms=react.forwardRef((e,r)=>{let{items:t,maxItems:n}=e,o=react.useMemo(()=>{let m=typeof t=="string",c=m?[]:t;return m&&t.split(",").forEach(p=>{c.push({label:p});}),c},[t]),a=react.useMemo(()=>n&&n>0&&o.length>n-1,[o,n])?[...o.slice(0,2),{ID:".",label:"...",icon:"ellipsis",action:()=>{}},...o.slice(-n)]:o;return jsxRuntime.jsx(Ue,{ref:r,className:"--crumb flex aic",direction:"rows",seperator:jsxRuntime.jsx(u,{as:"--crumb-chevron",children:O.chevronRightOutline}),items:a.map((m,c,p)=>m.ID=="."?jsxRuntime.jsx(u,{as:"flex aic gap:3",children:Array(3).fill(null).map(()=>jsxRuntime.jsx(u,{as:"w:4 h:4 bg:$text r:10"},`--crumb-placeholder-${c}`))}):jsxRuntime.jsxs(A,{onClick:()=>m.action?.(),className:"--crumb-item",disabled:!p[c+1],children:[m.icon&&jsxRuntime.jsx(J,{as:"--crumb-icon",name:m.icon}),jsxRuntime.jsx(z,{as:"--crumb-label",children:m.label})]},`${m.label.replace(/\s+/g,"-").toLowerCase()}-${c}`))})});ms.displayName="Zuz.Crumb";var km=ms;var fs=react.forwardRef((e,r)=>{let{icon:t,defaultValue:n,value:o,size:s,variant:a,numeric:m,type:c,onConfirm:p,...f}=e,[l,i]=react.useState(false),[g,S]=react.useState(n||null),{style:T,className:y,rest:P}=B(f),C=react.useRef(null),w=react.useRef(null),{reposition:d}=ht(w,{direction:ge.Bottom,offset:2}),x=b=>{m&&(b.currentTarget.value=b.currentTarget.value.replace(/[^0-9.]/g,"").replace(/(\..*?)\..*/g,"$1"));};react.useEffect(()=>{let b=R=>{let H=R.target,L=C.current?.contains(H),F=w.current?.contains(H);!L&&!F&&i(false);};return l&&document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b);}},[l]),react.useEffect(()=>{let b=R=>{R.key==="Escape"&&l&&(i(false),C.current?.focus());};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[l]);let h=()=>{i(true);};return react.useEffect(()=>{l&&d();},[l,d]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(u,{as:`--date-picker ${a?`--${a}`:""} rel flex aic ${y}`,"data-value":g?g.toISOString():"",children:[t?typeof t=="string"?jsxRuntime.jsx(J,{as:"mr:10 c:#666",name:t}):t:jsxRuntime.jsx(ne,{as:"--date-picker-icon flex aic jcc",children:O.calendar}),jsxRuntime.jsx("input",{ref:C,value:g?dateFns.format(g,"EEE, MMM d YYY hh:mm a"):o||"",className:`--input ${a?`--${a}`:""} flex`.trim(),style:T,onFocus:h,onInput:x,autoComplete:"new-password",onKeyDown:b=>{b.key=="Enter"&&p?.(b.currentTarget.value);},...P}),jsxRuntime.jsx(u,{"aria-hidden":!l,ref:w,fx:{from:{y:5,opacity:0},to:{y:0,opacity:1},when:l,duration:.05},as:`--date-picker-chooser flex aic ${a?`--${a}`:""}`,children:jsxRuntime.jsx(Ao,{defaultValue:g,onChange:b=>{S(b),i(false);}})})]})})});fs.displayName="Zuz.DatePicker";var Dm=fs;var ds=react.forwardRef((e,r)=>{let{icon:t,variant:n,position:o}=e;return jsxRuntime.jsx(A,{className:`--fab fixed --${n||U.Large} --${o||"bottomright"}`,children:t||O.plus})});ds.displayName="Zuz.Fab";var Am=ds;var gs=e=>{let{names:r,strength:t}=e,n={[Nt.Gooey]:o=>jsxRuntime.jsxs("filter",{id:"gooey",children:[jsxRuntime.jsx("feGaussianBlur",{in:"SourceGraphic",stdDeviation:o||10,result:"blur"}),jsxRuntime.jsx("feColorMatrix",{in:"blur",mode:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7",result:"goo"}),jsxRuntime.jsx("feBlend",{in:"SourceGraphic",in2:"goo"})]},`filter-${Nt.Gooey}`)};return react.useEffect(()=>{},[r]),jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",children:jsxRuntime.jsx("defs",{children:(r||[Nt.Gooey]).map(o=>n[o](t))})})};gs.displayName="Zuz.Filters";var _m=gs;var hs=({cols:e,gap:r,ais:t,aic:n,aie:o,jcs:s,jcc:a,jce:m,className:c="",style:p,...f})=>{let l=["--flex",e?"--cols":"",t?"--ais":"",n?"--aic":"",o?"--aie":"",s?"--jcs":"",a?"--jcc":"",m?"--jce":"",c].filter(Boolean).join(" "),i={...p,gap:typeof r=="number"?`${r}px`:r};return jsxRuntime.jsx(u,{...f,className:l,style:i})};hs.displayName="Zuz.FlexBox";var $e=hs;var Ae=null,Se=null,xs=react.forwardRef((e,r)=>{let{title:t,message:n,transition:o,curve:s,speed:a,type:m,actionPosition:c,spinner:p,loadingMessage:f,onShow:l,onHide:i,...g}=e,{className:S,style:T,rest:y}=B(g),[P,C]=react.useState(t||""),[w,d]=react.useState(n||""),[x,h]=react.useState(null),[b,R]=react.useState(m||Te.Default),H=react.useMemo(()=>core.uuid(12),[]),[L,F]=react.useState(false),I=react.useRef(null),V=react.useRef(null),[$,Z]=react.useState(false),[N,k]=react.useState(true),K=react.useRef(null),E=w;react.useImperativeHandle(r,()=>({setLoading(_){Z(_);},showDialog(_,G,W,Y){Ae&&(clearTimeout(Ae),Se&&clearTimeout(Se),I.current.classList.remove("--wobble"),setTimeout(()=>I.current.classList.add("--wobble"),50),Se=setTimeout(()=>{I.current.classList.remove("--wobble"),Se=null;},500)),R(Te.Dialog),G&&d(G),_&&C(_),W&&h(W.reduce((ae,ee)=>(ae.push({...ee,key:ee.key||core.uuid(12)}),ae),[])),F(true),setTimeout(()=>Y?Y():()=>{},1e3);},dialog(_,G,W,Y){Ae&&(clearTimeout(Ae),Se&&clearTimeout(Se),I.current.classList.remove("--wobble"),setTimeout(()=>I.current.classList.add("--wobble"),50),Se=setTimeout(()=>{I.current.classList.remove("--wobble"),Se=null;},500)),R(Te.Dialog),d(G),C(_),W&&h(W.reduce((ae,ee)=>(ae.push({...ee,key:ee.key||core.uuid(12)}),ae),[])),F(true),setTimeout(()=>Y?Y():()=>{},1e3);},error(_,G){this.show(_,G,Te.Error);},warn(_,G){this.show(_,G,Te.Warn);},success(_,G){this.show(_,G,Te.Success);},show(_,G,W){Ae&&(clearTimeout(Ae),Se&&clearTimeout(Se),V.current=I.current.style.transform,I.current.style.transform="",I.current.classList.remove("--wobble"),setTimeout(()=>{I.current.classList.add("--wobble"),I.current.style.transform=`${V.current} scale(.9)`.trim();},50),Se=setTimeout(()=>{I.current.classList.remove("--wobble"),I.current.style.transform=V.current||"",Se=null;},500)),Ae=setTimeout(()=>{F(false),Ae=null,Se=null;},(G||4)*1e3),R(W||Te.Default),d(_),F(true),l?.();},hide(){F(false),i?.();}}));let re=react.useMemo(()=>{let _={when:L,duration:a||.3,delay:.1};if(b==Te.Dialog){if(o){let{from:G,to:W}=ut(o,20);return {from:G,to:W,curve:s||j.EaseInOut,..._}}return {from:{scale:0,x:"-50%",y:"-50%",opacity:0},to:{scale:1,x:"-50%",y:"-50%",opacity:1},curve:j.Spring,..._}}else return {from:{scale:0,x:"-50%",y:"-10vh",opacity:0},to:{scale:1,x:"-50%",y:0,opacity:1},curve:j.Spring,..._}},[L,b]);return react.useEffect(()=>{K.current&&clearTimeout(K.current),L?k(true):K.current=setTimeout(()=>k(false),1e3);},[L]),b==Te.Dialog?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ze,{when:L}),jsxRuntime.jsxs(u,{className:`--sheet --sheet-${b.toLowerCase()} ${L?"is-visible":""} ${S} fixed`.trim(),style:T,fx:re,...y,ref:I,children:[jsxRuntime.jsx(Ne,{when:$,spinner:p,message:f}),jsxRuntime.jsxs(u,{className:"--head flex aic rel",children:[jsxRuntime.jsx(u,{className:`--${P?"title":"dot"} flex aic rel`,children:P||""}),jsxRuntime.jsx(A,{onClick:_=>F(false),className:"--closer abs",children:"\xD7"})]}),jsxRuntime.jsx(u,{className:`--body flex aic rel ${x?"":"--no-action"}`.trim(),children:N?E:null}),x&&jsxRuntime.jsx(u,{className:`--footer flex aic rel ${c?c==so.Center?"jcc":"":"jce"}`.trim(),children:x.map((_,G)=>jsxRuntime.jsx(A,{onClick:W=>_.handler?_.handler():_.onClick?_.onClick():console.log("onClick Handler missing"),className:"--action",children:_.label},`sheet-${H}-action-${_.key}`))})]})]}):jsxRuntime.jsx(u,{className:`--sheet --sheet-${b.toLowerCase()} ${S} abs`.trim(),style:T,...y,fx:re,ref:I,children:L?w:null})}),bs=e=>typeof e=="object"&&e!=null&&"setLoading"in e&&"success"in e&&"error"in e;xs.displayName="Zuz.Sheet";var qm=xs;var rp=e=>{let r={};for(let t in e){let n=t.split(/[\[\]]+/).filter(Boolean);n.reduce((o,s,a)=>{if(a===n.length-1)o[s]=e[t];else {let m=!isNaN(Number(n[a+1]));o[s]=o[s]||(m?[]:{});}return o[s]},r);}return r},ws=({ref:e,...r})=>{let {schema:t,name:n,cover:o,spinner:s,errors:a,action:m,children:c,withData:p,beforeSubmit:f,onSubmit:l,onError:i,onSuccess:g,resetOnSuccess:S,...T}=r,{className:y,style:P,rest:C}=B(T),[w,d]=react.useState(false),x=react.useRef(null),h=Bo(),b=Do();Oo();let H=react.useRef(null),L=react.useCallback(E=>x.current?x.current.querySelectorAll(E):[],[x.current]),F=E=>({name:E.name||E.getAttribute("name")||E.getAttribute("data-name"),required:E.required?true:E.getAttribute("data-required")?E.getAttribute("data-required")=="true":false,with:E.with||E.getAttribute("with")}),I=E=>{let re=[];return E.querySelectorAll(".--input").forEach(_=>{re.push(_.value);}),re.join("")},V=E=>E.classList.contains("--otp")?I(E):E.classList.contains("--select")?E.querySelector("button.--selected")?.dataset.value:E.classList.contains("--checkbox")||E.getAttribute("type")==="checkbox"?E.checked:E.value,$=react.useCallback(E=>{let{name:re,required:_,with:G}=F(E),W=V(E);if(t&&t[re]&&b?.getSnapshot()){let Y=t[re](W,b.getSnapshot().values);if(Y===false||typeof Y=="string")return typeof Y=="string"&&b?.setFieldError(re,Y),false}if(_&&(E.type==="checkbox"&&!E.checked||E.classList.contains("--select")&&(W==="-1"||!W)||!W||W===""))return false;if(G)switch((G.includes("@")?G.split("@")[0]=="match"?_e.MatchField:G.split("@")[0]:G).toUpperCase()){case _e.IPV4:return core._(W).isIPv4();case _e.IPV6:return core._(W).isIPv6();case _e.Email:return core._(W).isEmail();case _e.Uri:try{return new URL(W),!0}catch{return false}case _e.MatchField:let[ae,ee,pe]=G.split("@"),se=document.querySelector(`[name=${ee.trim()}]`);if(!se)return false;switch(pe||"direct-match"){case "if-not-empty":if(se&&!core._(se.value).isEmpty()&&se.value!=E.value)return false;break;case "direct-match":if(se&&se.classList.contains("--otp")&&E.classList.contains("--otp")&&I(se)!=I(E))return false;if(se&&se.value!=E.value)return false;break}break}return true},[t,b]),Z=react.useCallback(()=>{let E={},re={...b?.getSnapshot().values||{}},_=null,G=null;if(L("[name]").forEach(Y=>{let{name:ae,required:ee,with:pe}=F(Y),se=ee||pe?$(Y):true,de=V(Y);E[ae]={valid:se,value:de},re[ae]=de,b?.setFieldError(ae,se?null:a?.[ae]||"Invalid"),se?Y.classList.remove("--with-error"):(Y.classList.add("--with-error"),_||(_=Y),G=a?.[ae]);}),_){let Y=_;if(Y.classList.contains("--otp"))for(let ae of Array.from(Y.querySelectorAll(".--input"))){let ee=ae;if(ee.value==""){ee.focus();break}}else Y.focus();}let W=rp(re);return {error:_!=null,errorMsg:G||"Fix errors to continue...",data:E,payload:W}},[x.current,b]),N=react.useCallback(()=>{let{error:E,errorMsg:re,payload:_,data:G}=Z();if(E){h.error(re);return}m?react.startTransition(async()=>{d(true),core.withPost(m,{...p,..._}).then(W=>{d(false),S&&b?.reset(),g?.(W),g||h.success(W.message||"Redirecting...");}).catch(W=>{d(false),i?i(W):h.error(W.message);});}):l?.(_,G);},[m,b,a]),k=react.useCallback(()=>{let E=L("[type=submit]");!E||E.length==0?console.warn("You should add at least 1 button with type=`SUBMIT`"):E.forEach(re=>{re.addEventListener("click",N);});},[x.current]),K=react.useMemo(()=>react$1.addPropsToChildren(c,E=>E.props.type=="submit",E=>({ref:H})),[c]);return react.useImperativeHandle(e,()=>({setLoading:E=>d(E),submit:()=>N(),init:k,hideError:()=>h.clearAll()})),react.useEffect(k,[]),jsxRuntime.jsxs(u,{ref:x,style:P,className:`--form flex rel ${y}`,children:[!bs(o)&&jsxRuntime.jsx(Ne,{when:w,spinner:s,...o}),K]})};ws.displayName="Zuz.FormInternal";var Ss=e=>jsxRuntime.jsx(vn,{initialValues:e.withData,children:jsxRuntime.jsx(ws,{...e})});Ss.displayName="Zuz.Form";var np=Ss;var Cs=e=>{let {ref:r,cols:t,rows:n,gap:o,gapX:s,gapY:a,align:m,justify:c,inline:p,flow:f,autoCols:l,autoRows:i,template:g,...S}=e;react.useRef(null);let {className:y,style:P,rest:C}=B(S),w=x=>typeof x=="number"?`repeat(${x}, 1fr)`:x,d={display:p?"inline-grid":"grid",gridTemplateColumns:w(t),gridTemplateRows:w(n),gap:o,columnGap:s,rowGap:a,alignItems:m,justifyContent:c==="between"?"space-between":c==="around"?"space-around":c,gridAutoFlow:f,gridAutoColumns:l,gridAutoRows:i,gridTemplateAreas:g,...P};return jsxRuntime.jsx(u,{ref:r,as:`--grid ${y}`.trim(),style:d,...C})};Cs.displayName="Zuz.Grid";var ip=Cs;var Ts=e=>typeof e=="string"&&e.includes("+"),Ps={command:"\u2318",shift:"\u21E7",ctrl:"\u2303",option:"\u2325",enter:"\u21B5",delete:"\u232B",escape:"\u238B",tab:"\u21E5",capslock:"\u21EA",up:"\u2191",right:"\u2192",down:"\u2193",left:"\u2190",pageup:"\u21DE",pagedown:"\u21DF",home:"\u2196",end:"\u2198",help:"?",space:"\u2423",fn:"Fn",win:"\u2318",alt:"\u2325"},Rs={command:"Command",shift:"Shift",ctrl:"Control",option:"Option",enter:"Enter",delete:"Delete",escape:"Escape",tab:"Tab",capslock:"Caps Lock",up:"Up",right:"Right",down:"Down",left:"Left",pageup:"Page Up",pagedown:"Page Down",home:"Home",end:"End",help:"Help",space:"Space",fn:"Fn",win:"Win",alt:"Alt"};var Ns=react.forwardRef(({children:e,keys:r,as:t,className:n,variant:o},s)=>{let{variant:a}=Q(true),m=react.useMemo(()=>{if(Ts(r)){let c=null;return {keys:String(r).split("+").reduce((f,l,i,g)=>(g[i+1]?f.push(l):c=l.toUpperCase(),f),[]),children:c}}return {keys:r,children:String(e).toUpperCase()}},[r]);return jsxRuntime.jsxs(u,{as:`--keyboard-keys --${o||a||U.Small} flex aic ${t} ${n}`.trim(),children:[(Array.isArray(m.keys)?m.keys:[m.keys]).map(c=>jsxRuntime.jsx("abbr",{title:Rs[c],children:Ps[c]},c)),jsxRuntime.jsx(ne,{children:m?.children??e})]})});Ns.displayName="Zuz.KeyboardKeys";var tr=Ns;var ks=react.createContext(null),rt=()=>{let e=react.useContext(ks);if(!e)throw new Error("MediaPlayer sub-components must be used within <MediaPlayer />");return e},gp=({ref:e,icons:r,children:t,...n})=>{let{playlist:o=[],mode:s="audio",defaultArtist:a="Artist",defaultTitle:m="No Track",defaultCover:c,onTrackChange:p,...f}=n,{className:l,style:i,rest:g}=B(f),S=hooks.useMediaPlayer(o,o[0]??void 0),T=react.useMemo(()=>({play:O.play,pause:O.pause,prev:O.prev,next:O.next,volumeHigh:O.volumeHigh,volumeMute:O.volumeMute,...r}),[r]),y=react.useMemo(()=>({...S,mode:s,icons:T}),[S,T]);return jsxRuntime.jsx(ks.Provider,{value:y,children:jsxRuntime.jsx(u,{className:`--zuz-media-player ${l}`,style:i,children:t})})},Ls=gp;var Ms=e=>{if(!e||isNaN(e))return "0:00";let r=Math.floor(e/60),t=Math.floor(e%60);return `${r}:${t.toString().padStart(2,"0")}`},Xt=e=>typeof e=="string"?jsxRuntime.jsx(J,{name:e}):e,Os=()=>{let{mediaRef:e,state:r,controls:t,mode:n}=rt();return jsxRuntime.jsxs(u,{as:`--mediaplayer-stage rel --mode-${n}`,children:[n==="video"?jsxRuntime.jsx("video",{ref:e,className:"fill",onClick:t.togglePlay}):jsxRuntime.jsx("audio",{ref:e}),r.isLoading&&jsxRuntime.jsx(u,{as:"abs fill aic jcc --mediaplayer-spinner",children:jsxRuntime.jsx(Pe,{})})]})},Ds=()=>{let{state:e,defaultArtist:r,defaultTitle:t,defaultCover:n}=rt();return jsxRuntime.jsxs(u,{as:"--track-info flex aic",children:[jsxRuntime.jsx(qe,{src:e.currentItem?.cover||n||"",as:"--track-cover"}),jsxRuntime.jsxs(u,{as:"flex cols",children:[jsxRuntime.jsx(u,{as:"--track-title",children:e.currentItem?.title||t||"Choose Track"}),jsxRuntime.jsx(u,{as:"--track-artist",children:e.currentItem?.artist||r||"..."})]})]})},Hs=()=>{let{state:e,controls:r,icons:t}=rt();return jsxRuntime.jsxs(u,{as:"--mediaplayer-controls flex aic",children:[jsxRuntime.jsx(A,{onClick:r.prev,as:"--prev",children:Xt(t?.prev??O.prev)}),jsxRuntime.jsx(A,{onClick:r.togglePlay,as:"--play-pause",children:Xt(e.isPlaying?t?.pause??O.pause:t?.play??O.play)}),jsxRuntime.jsx(A,{onClick:r.next,as:"--next",children:Xt(t?.next??O.next)})]})},Vs=()=>{let{state:e,controls:r,mediaRef:t}=rt(),n=e.progress*(e.duration||0);return jsxRuntime.jsxs(u,{as:"--track-progress flex aic",children:[jsxRuntime.jsx(u,{as:"--track-current-duration",children:Ms(n)}),jsxRuntime.jsx(et,{value:e.progress,onClick:o=>{let s=o.currentTarget.getBoundingClientRect(),a=(o.clientX-s.left)/s.width;r.seek(a);}}),jsxRuntime.jsx(u,{as:"--track-total-duration",children:Ms(e.duration)})]})},$s=()=>{let{state:e,controls:r,icons:t}=rt();return jsxRuntime.jsxs(u,{as:"--volume-control flex aic gap:8 w:120",children:[jsxRuntime.jsx(A,{onClick:()=>r.setIsMuted(),children:Xt(e.isMuted?t?.volumeMute??O.volumeMute:t?.volumeHigh??O.volumeHigh)}),jsxRuntime.jsx(et,{value:e.volume,className:"h:3 flex:1",onClick:n=>{let o=n.currentTarget.getBoundingClientRect();r.setVolume((n.clientX-o.left)/o.width);}})]})};var hp=({ref:e,...r})=>jsxRuntime.jsx(Ls,{...r,ref:e}),yp=Object.assign(hp,{Stage:Os,TrackInfo:Ds,Controls:Hs,Progress:Vs,Volume:$s}),xp=yp;var zs=react.forwardRef((e,r)=>{let t=hooks.useNetworkStatus(),{onlineMessage:n,offlineMessage:o,variant:s}=e;return jsxRuntime.jsxs(u,{fx:{from:{x:"-50%",y:200,opacity:0},to:{x:"-50%",y:0,opacity:1},when:t==false,curve:j.Spring,duration:.5,delay:2},className:`--network-manager --${t==true?"online":"offline"} --${s||U.Small} fixed flex`,children:[jsxRuntime.jsx(u,{className:"--ico",children:t?O[Ce.Success]:O[Ce.Error]}),jsxRuntime.jsx(z,{as:"--message",children:t?n||"internet connection restored :)":o||"no internet connection"})]})});zs.displayName="Zuz.NetWorkManager";var Sp=zs;var _s=react.forwardRef((e,r)=>{let{strenthMeter:t,onChange:n,...o}=e;"type"in o&&delete o.type;let{style:s,className:a,rest:m}=B(o),[c,p]=react.useState(false),[f,l]=react.useState(""),i=react.useMemo(()=>core.checkPasswordStrength(f),[f]),g=hooks.useDebounce(S=>{t&&l(S.target.value),n&&n(S);},100);return react.useEffect(()=>{},[]),jsxRuntime.jsxs(u,{as:"w:100% flex cols",children:[jsxRuntime.jsxs(u,{style:s,className:"--password flex aic rel",children:[jsxRuntime.jsx(me,{ref:r,type:c?"text":"password",className:a,onChange:g,...m}),jsxRuntime.jsx(A,{tabIndex:-1,onClick:()=>p(S=>!S),className:"--toggle flex aic jcc abs",children:c?O.eye:O.eyeSlash})]}),t&&jsxRuntime.jsxs(u,{as:`flex aic --password-meter --pb-score-${i.score}`,style:s,children:[jsxRuntime.jsxs(u,{as:"--password-bars flex aic",children:[jsxRuntime.jsx(u,{as:`--pbar ${i.score>=1?"--pb-on":""}`.trim()}),jsxRuntime.jsx(u,{as:`--pbar ${i.score>=2?"--pb-on":""}`.trim()}),jsxRuntime.jsx(u,{as:`--pbar ${i.score>=3?"--pb-on":""}`.trim()}),jsxRuntime.jsx(u,{as:`--pbar ${i.score>=4?"--pb-on":""}`.trim()}),jsxRuntime.jsx(u,{as:`--pbar ${i.score>=5?"--pb-on":""}`.trim()})]}),jsxRuntime.jsx(z,{as:"--password-meter-label","aria-hidden":true,children:i.result})]})]})});_s.displayName="Zuz.Password";var Bp=_s;var Ks=react.forwardRef((e,r)=>{let{size:t,length:n,mask:o,...s}=e,a=react.useRef([]),m="pinput",c=false,p={};"with"in s&&(p={with:s.with},delete s.with),"type"in s&&delete s.type,"name"in s&&(m=s.name,delete s.name),"required"in s&&(c=true,delete s.required);let{style:f}=B(s),l=i=>{let g=i.currentTarget,S=a.current[parseInt(g.dataset.index)+1],T=a.current[parseInt(g.dataset.index)-1];g.value.length===1&&S?S.focus():g.value.length===0&&T&&T.focus();};return react.useEffect(()=>{a.current=a.current.slice(0,t||n);},[t||n]),jsxRuntime.jsx(u,{name:m,style:f,className:"--otp flex aic rel","data-required":c,"data-size":t||n||4,...p,children:Array(t||n||4).fill(1).map((i,g)=>jsxRuntime.jsx(me,{autoComplete:"new-password","data-index":g,ref:S=>{a.current[g]=S;},numeric:true,onChange:l,maxLength:1,placeholder:o?"\xB7":"0",type:o?"password":"text",...s},`pin-${g}`))})});Ks.displayName="Zuz.PinInput";var Mp=Ks;var Ws=react.forwardRef((e,r)=>{let{children:t,className:n,name:o,required:s,type:a,value:m,variant:c,checked:p,onSwitch:f,...l}=e,[i,g]=react.useState(p||false),{variant:S}=Q(true),T=react.useRef(null);return jsxRuntime.jsxs(vt,{className:`${n} --${(a||io.Default).toLowerCase()} --radio${!a||a==io.Default?"":"card"} --${c||S||U.Small} flex aic rel`.trim(),...l,children:[jsxRuntime.jsx(me,{ref:T,defaultChecked:i,value:m||"rd",type:"radio",className:"abs",name:o,required:s||false,onChange:y=>{f&&f(y.target.checked,m||"cb"),g(y.target.checked);}}),jsxRuntime.jsx(u,{className:"--dot rel",children:jsxRuntime.jsx(u,{className:"--rod abs abc"})}),jsxRuntime.jsx(u,{className:"--value",children:t})]})});Ws.displayName="Zuz.Radio";var Vp=Ws;var Gs=react.forwardRef((e,r)=>{let{fx:t,withStyle:n,as:o,reverse:s=false,searchIcon:a=O.search,hideSearchIcon:m=false,clearIcon:c=O.close,hideClearIcon:p=false,onChange:f,onClear:l,...i}=e,{style:g,className:S}=B({as:e.as}),[T,y]=react.useState(""),{variant:P}=Q(true),C=react.useRef(null);"type"in e&&delete e.type;let w=x=>{y(x.target.value),f?.(x.target.value);},d=x=>{T.trim()!==""&&(y(""),f?.(""),C.current&&(C.current.value="",e.onConfirm?.("")));};return react.useImperativeHandle(r,()=>({focus:()=>C.current?.focus(),value:()=>C.current?.value})),react.useEffect(()=>{},[]),jsxRuntime.jsxs(u,{style:g,className:`--search ${s?"--search-rev":""} --${e.variant||P||U.Medium} flex aic ${typeof e.as=="string"&&e.as.includes("abs")?"":"rel"} ${S}`.trim(),children:[jsxRuntime.jsx(me,{ref:C,onChange:w,...i}),e.shortcut&&jsxRuntime.jsx(tr,{keys:e.shortcut,as:"abs"}),jsxRuntime.jsx(A,{tabIndex:-1,onClick:x=>d(),className:"--send flex aic jcc",variant:e.variant||U.Medium,children:T!==""?!p&&(typeof c=="string"?jsxRuntime.jsx(J,{name:c,as:"--search-action"}):c):!m&&(typeof a=="string"?jsxRuntime.jsx(J,{name:a,as:"--search-action"}):a)})]})});Gs.displayName="Zuz.Search";var Kp=Gs;var qs=({checkIcon:e,selected:r,updateValue:t,o:n})=>{let o=e?typeof e=="string"?jsxRuntime.jsx(J,{name:"checkIcon"}):e:O.check,s=n.disabled===true;return jsxRuntime.jsxs(A,{onClick:a=>{s||(a.stopPropagation(),t(n));},disabled:s,as:`--select-option-item --no-shrink ${r?"--selected":""} ${s?"--disabled":""} rel`.trim(),children:[jsxRuntime.jsxs($e,{as:"--option-item-meta --aic",children:[n.icon&&jsxRuntime.jsx(J,{name:n.icon,as:`--select-option-icon --icon-${n.value}`,color:n.iconColor}),jsxRuntime.jsx(z,{suppressHydrationWarning:true,children:typeof n=="string"?n:n.label})]}),r&&jsxRuntime.jsx($e,{aic:true,jcc:true,as:"--select-option-check --abs",children:o})]})};qs.displayName="Option";var Xs=qs;var js=({ref:e,...r})=>{let {selected:t,options:n,label:o,name:s,variant:a,search:m,searchPlaceholder:c,maxHeight:p,arrowDownIcon:f=O.arrowDown,arrowUpIcon:l=O.arrowUp,expanded:i,multiple:g,tokenizer:S,wrapTokens:T,disabled:y,checkIcon:P,closeIcon:C,onChange:w,...d}=r,x=Oe(),h=s&&x.values&&x.setFieldValue;h?x.errors?.[s]:null;let R=h?x.values?.[s]:void 0,H=M=>!M&&M!==0?null:g||S?(Array.isArray(M)?M:[M]).map(ce=>typeof ce=="string"||typeof ce=="number"?n.find(ie=>String(ie.value)===String(ce)):ce).filter(Boolean):typeof M=="string"||typeof M=="number"?n.find(q=>String(q.value)===String(M)):M,[L,F]=react.useState(()=>t?H(t):n.find(q=>String(q.value)==="-1")||null),I=react.useMemo(()=>R?H(R):L,[R,L]),[V,$]=react.useState(false),[Z,N]=react.useState(null),k=react.useRef(null),K=react.useRef(null),E=react.useRef(null),re=react.useId(),_=react.useMemo(()=>s||re,[]),{reposition:G}=ht(E,{direction:mt.Bottom,offset:2}),{variant:W}=Q(true),Y=C?typeof C=="string"?jsxRuntime.jsx(J,{name:C}):C:O.close,{className:ae,style:ee,rest:pe}=B(d,void 0),se=M=>Array.isArray(I)?I.some(q=>q.value===M.value):I?.value===M.value,de=M=>{if(!(y||M.disabled))if(g||S){let q=Array.isArray(I)?I:[],ie=q.find(ue=>ue.value===M.value)?q.filter(ue=>ue.value!==M.value):[...q,M];F(ie),w?.(ie);}else F(M),$(false),w?.(M);},le=(M,q)=>{if(M.stopPropagation(),y)return;let ce=I.filter(ie=>ie.value!==q.value);h?x.setFieldValue?.(s,ce.map(ie=>ie.value)):F(ce),$(false),w?.(ce);},te=M=>{let q=M.currentTarget,ce=q.scrollTop===0&&M.deltaY<0,ie=q.scrollHeight-q.scrollTop===q.clientHeight&&M.deltaY>0;!ce&&!ie||M.preventDefault(),M.stopPropagation();};react.useImperativeHandle(e,()=>({setSelected:M=>{let q=H(M);if(h){let ce=Array.isArray(q)?q.map(ie=>ie.value):q?.value;x.setFieldValue?.(s,ce);}else F(q);},getValue:()=>I||null}),[I,n]),react.useEffect(()=>{if(!V)return;let M=()=>{G();};return window.addEventListener("scroll",M,true),window.addEventListener("resize",G),()=>{window.removeEventListener("scroll",G,true),window.removeEventListener("resize",G);}},[V,G]),react.useEffect(()=>{if(!V){K.current&&(K.current.value=""),N(null);return}K.current?.focus(),G();let M=ce=>{E.current&&!E.current.contains(ce.target)&&$(false);},q=setTimeout(()=>{document.addEventListener("click",M);},0);return ()=>{clearTimeout(q),document.removeEventListener("click",M);}},[V,G]);let oe=react.useMemo(()=>{if(I)return core._(I).isArray()?I.length>0?I[0]:void 0:I},[I]);return jsxRuntime.jsxs(u,{className:`--select ${i==true?"--expanded":""} --${a||W} ${s?`--${s}`:""} ${y?"--disabled":""} rel`.trim(),name:_,children:[o&&jsxRuntime.jsx(z,{as:"--select-top-label",children:o}),jsxRuntime.jsxs(A,{ref:k,disabled:y,"data-value":oe?.value??"-1",className:`--select-display --selected flex aic rel ${ae}`.trim(),withLabel:false,style:ee,onClick:M=>{M.stopPropagation(),y||$(q=>!q);},...pe,children:[oe?.icon&&jsxRuntime.jsx(J,{as:"--selected-icon",name:oe.icon}),jsxRuntime.jsx($e,{aic:true,as:"--label-wrapper",children:S&&Array.isArray(I)&&I.length>0?jsxRuntime.jsxs($e,{as:`--tokens-wrap${T===true?" --wrap":""}`,children:[I.map(M=>jsxRuntime.jsxs($e,{aic:true,as:"--token",children:[jsxRuntime.jsx(z,{as:"--token-label",children:M.label}),jsxRuntime.jsx(u,{as:"--token-remove",onClick:q=>le(q,M),children:Y})]},M.value)),I.length<n.length&&jsxRuntime.jsx(z,{as:"--label",children:o||"Choose"})]}):jsxRuntime.jsx(z,{as:"--label",children:Array.isArray(I)?I.length>0?`${I.length} selected`:o||"Choose":I?.label||o||"Choose"})}),jsxRuntime.jsx(u,{className:"--svg-arrow rel flex aic jcc",children:V?typeof l=="string"?jsxRuntime.jsx(J,{name:l,as:"--search-action"}):l:typeof f=="string"?jsxRuntime.jsx(J,{name:f,as:"--search-action"}):f})]}),jsxRuntime.jsxs(u,{id:_,className:"--options-list --allow-scroll -fx flex cols abs zIndex:var(--max-z-index)","aria-hidden":!V,onWheel:te,style:{maxHeight:p||"auto"},ref:E,fx:{from:{y:5,opacity:0},to:{y:0,opacity:1},when:V,duration:.05},children:[m&&jsxRuntime.jsx(u,{as:"--select-search --sticky",children:jsxRuntime.jsx(me,{ref:K,onChange:M=>{N(M.target.value==""?null:M.target.value);},className:"--search-input",placeholder:c||"Search..."})}),n.filter(M=>!Z||M.label.toLowerCase().includes(Z.toLowerCase())).map(M=>jsxRuntime.jsx(Xs,{updateValue:de,checkIcon:P,selected:se(M),o:M},`option-${(typeof M=="string"?M:M.label).replace(/\s+/g,"-")}-${typeof M=="string"?M:M.value}`))]})]})};js.displayName="Zuz.Select";var Xp=js;var Qs=({ref:e,...r})=>jsxRuntime.jsx(wt,{type:Le.Switch,...r,ref:e});Qs.displayName="Zuz.Switch";var Yp=Qs;var ea=e=>{let{idx:r,id:t,as:n,weight:o,style:s,value:a,render:m,resize:c,sortBy:p,sortable:f,onSort:l}=e,[i,g]=react.useState(0),S=()=>{f&&(l?.(String(t),i==1?-1:1),g(T=>T==1?-1:1));};return jsxRuntime.jsxs(u,{style:{flex:o||1,...s},as:`--col flex aic ${n||""} ${f?"--sortable":""}`,onClick:S,children:[jsxRuntime.jsx(u,{children:a}),r==-1&&f&&p==t&&jsxRuntime.jsx(u,{as:"--arrow flex aib",children:i==1?O.arrowUp:O.arrowDown})]})};ea.displayName="Zuz.Column";var Jt=ea;var oa=e=>{let{index:r,pubsub:t,schema:n,data:o,ids:s,styles:a,animate:m,sortBy:c,selectable:p,tableRef:f,loading:l,rowClassName:i,onSort:g,onRowClick:S,onSelect:T,onContextMenu:y}=e,P=hooks.useDelayed(),C=react.useMemo(()=>({transition:X.SlideInBottom,curve:j.EaseInOut,delay:.02*(r+1)}),[]),w=react.useRef(null),d=(h,b)=>{r==-1?t.emit(`ALL_ROWS_${h?"CHECKED":"UNCHECKED"}`,h):(T&&T(o,h),t.emit(`ROW_${h?"CHECKED":"UNCHECKED"}`,h,b));},x=(h,b,R)=>jsxRuntime.jsx(Jt,{idx:h,id:b,as:"--selector",pubsub:t,value:jsxRuntime.jsx(wt,{value:R,ref:w,onSwitch:d,type:Le.Default})});return react.useEffect(()=>{let h=(L,F)=>{w.current?.setChecked(L,false);},b=(L,F)=>{let I=false;f?.current&&f.current.querySelectorAll(".--row").forEach(V=>{let $=V;if(!$.classList.contains("--row-head")){let Z=$.querySelector(".--selector input[type=checkbox]");Z&&Z.checked&&!I&&(I=Z.checked);}}),w.current.setChecked(I,false);},R=L=>{w.current?.setChecked(L,false),T&&T(o,L);},H=L=>{w.current?.setChecked(L,false),T&&T(o,L);};return r==-1?(t.on("ROW_CHECKED",h),t.on("ROW_UNCHECKED",b),()=>{t.off("ROW_CHECKED",h),t.off("ROW_UNCHECKED",b);}):(t.on("ALL_ROWS_CHECKED",R),t.on("ALL_ROWS_UNCHECKED",H),()=>{t.off("ALL_ROWS_CHECKED",R),t.off("ALL_ROWS_UNCHECKED",H);})},[]),jsxRuntime.jsxs(u,{onContextMenu:h=>y?y(h,o):null,onClick:h=>S?S(h,e.data):()=>{},...m?{fx:{...C,when:P}}:{},as:`--row flex aic ${S?"--row-clickable":""} ${r==-1?"--row-head":""} ${i||""}`,children:[r==-1&&n.map((h,b)=>{let{renderWhenHeader:R,render:H,value:L,...F}=h;return jsxRuntime.jsxs(react.Fragment,{children:[p&&b==0&&x(-1,`--selector-${h.id}`,"all"),jsxRuntime.jsx(Jt,{idx:-1,onSort:g,sortBy:c,value:L,...F,pubsub:t,style:a[h.id]})]},`--col-${h.id}`)}),l&&r>-1&&jsxRuntime.jsx(u,{as:"--col",children:jsxRuntime.jsx(z,{as:"opacity:0",children:"..."})}),!l&&r>-1&&s&&o&&n.map((h,b)=>jsxRuntime.jsxs(react.Fragment,{children:[p&&b==0&&x(b,`--selector-${h.id}`,h.id.toString()),s.includes(String(h.id))?jsxRuntime.jsx(Jt,{pubsub:t,idx:b,id:String(h.id),style:a[String(h.id)],value:h.render?h.render(o,r):o[String(h.id).includes(".")?String(h.id).split(".").reverse()[0]:h.id]}):null]},`--${String(h.id)}-val-${b}`))]})};oa.displayName="Zuz.Row";var eo=oa;var aa=(e,r)=>{let{schema:t,rows:n,rowCount:o,rowsPerPage:s,currentPage:a,pagination:m,paginationHash:c,showPaginationOnZeroPageCount:p,animateRows:f,header:l,rowClassName:i,selectableRows:g,hoverable:S,sortBy:T,loading:y,loadingRowCount:P,loadingMessage:C,spinner:w,emptyMessage:d,onSort:x,onRowClick:h,onRowSelectToggle:b,onPageChange:R,onRowContextMenu:H,...L}=e,F=react.useRef(null),I=react.useMemo(()=>t.reduce((le,te)=>(le[te.id]={flex:te.weight||1,...te.w&&{width:te.w},...te.maxW&&{maxWidth:te.maxW},...te.minW&&{minWidth:te.minW},...te.h&&{height:te.h},...te.maxH&&{maxHeight:te.maxH},...te.minH&&{minHeight:te.minH}},le),{}),[t]),V=react.useMemo(()=>Object.keys(I),[t]),$=react.useMemo(()=>l??true,[l]),{style:Z,className:N,rest:k}=B(L),K=react.useRef(null),E=react.useMemo(()=>new core.PubSub,[]),re=react.useRef(n.map(()=>core.uuid(8))),[_,G]=react.useState(T||null),[W,Y]=react.useState(C||"loading"),ae=react.useMemo(()=>!y&&n&&n.length==0,[y,n]),ee=react.useCallback(()=>d?typeof d=="function"?jsxRuntime.jsx(d,{}):d:jsxRuntime.jsx(z,{as:"tac s:18 mt:75",children:"No Record Found"}),[y,n]);react.useEffect(()=>{re.current=n.map(()=>core.uuid(8));},[n]);let pe=(le,te)=>{G(le),x?.(le,te);},se=(o||(n?n.length:0))/(s||10),de=react.useMemo(()=>p||se>1?jsxRuntime.jsx(bt,{hash:c,ref:F,renderOnZeroPageCount:p,onPageChange:R,paginationStyle:"table",startPage:a,itemCount:o||(n?n.length:0),itemsPerPage:s||10}):null,[a,o]);return react.useImperativeHandle(r,()=>({setLoading(le){}})),jsxRuntime.jsxs(u,{as:`--table ${S??true?"--hoverable":""} flex cols rel ${N}`,ref:K,children:[$==true&&jsxRuntime.jsx(eo,{sortBy:_,onSort:pe,tableRef:K,pubsub:E,selectable:g,index:-1,schema:t,loading:true,styles:I}),y&&jsxRuntime.jsxs(u,{as:"center-x flex aic --table-spinner",children:[jsxRuntime.jsx(Pe,{type:w||ye.Simple}),W&&jsxRuntime.jsx(z,{as:"--table-loading-message",children:W})]}),y&&Array(P||5).fill({}).map((le,te)=>jsxRuntime.jsx(eo,{tableRef:K,index:te,pubsub:E,schema:t,styles:I,loading:true,animate:f,onRowClick:h},`--trow-loading-${te}-${t[0].id}`)),!y&&n&&n.map((le,te)=>jsxRuntime.jsx(eo,{tableRef:K,pubsub:E,loading:false,index:te,schema:t,ids:V,styles:I,animate:f,data:le,onRowClick:h,rowClassName:i,selectable:g,onSelect:b,onContextMenu:H},`--trow-${re.current[te]||te}-${t[0].id}`)),ae&&ee(),m&&de&&jsxRuntime.jsx(u,{"aria-hidden":!m||!de,...f?{fx:{transition:X.SlideInBottom,curve:j.EaseInOut,delay:.02*(n.length+1),when:!y&&n&&m&&de!=null}}:{},as:"--row flex aic --row-footer",children:de})]})};aa.displayName="Zuz.Table";var cu=react.forwardRef(aa),mu=cu;var uu=({ref:e,...r})=>{let{title:t,items:n}=r,[o,s]=react.useState(0),a=(m,c,p)=>{m.preventDefault(),s(c),document.getElementById(p)?.scrollIntoView({behavior:"smooth"});};return jsxRuntime.jsxs(u,{ref:e,as:"--table-of-contents rel flex cols",children:[jsxRuntime.jsx(z,{as:"--toc-title",children:t}),jsxRuntime.jsx(Ue,{items:n.map((m,c)=>jsxRuntime.jsx("a",{className:o==c?"--toc-active":"",style:{anchorName:o===c?"--toc-active":"none",color:o==c?"var(--table-of-contents-color-active)":"var(--table-of-contents-color)"},onClick:p=>a(p,c,m.tag),href:`#${m.tag}`,children:m.label}))})]})},fu=uu;var ia=({isActive:e,transitionType:r,speed:t,width:n,render:o,content:s,onHeightChange:a})=>{let m=react.useRef(null),c=hooks.useResizeObserver(m);react.useEffect(()=>{e&&c.height>0&&a(c.height);},[e,c.height]);let f=react.useMemo(()=>{let l={width:n>0?`${n}px`:"100%",minWidth:n>0?`${n}px`:"100%",flexShrink:0,height:"fit-content",boxSizing:"border-box"};return r==="fade"?{...l,gridArea:"1 / 1 / 2 / 2",opacity:e?1:0,visibility:e?"visible":"hidden",transition:`opacity ${t}s ease-in-out`,zIndex:e?1:0}:r==="scale"?{...l,gridArea:"1 / 1 / 2 / 2",opacity:e?1:0,transform:`scale(${e?1:.95})`,transition:`all ${t}s cubic-bezier(0.34, 1.56, 0.64, 1)`,zIndex:e?1:0}:l},[e,r,n,t]);return jsxRuntime.jsx(u,{ref:m,style:{...f},className:"--content",children:o||e?s:null})};ia.displayName="Zuz.TabBody";var la=ia;var pa=({ref:e,...r})=>{let{tabs:t,speed:n=.3,prerender:o=true,variant:s,tabStyle:a="fixed",onChange:m,transitionType:c="slide",...p}=r,[f,l]=react.useState(0),i=react.useRef(null),g=hooks.useResizeObserver(i),S=react.useMemo(()=>core.uuid(8),[]),[T,y]=react.useState("auto"),P=react.useMemo(()=>g.width>0,[g.width]);react.useImperativeHandle(e,()=>({setTab:b=>l(b)}));let C=react.useMemo(()=>t.map(b=>({...b,key:b.key||core.uuid(8)})),[t]),{style:w,className:d,rest:x}=B({as:`flex cols w-full no-overflow ${p.as||""}`,...p}),h=()=>{if(!P)return {opacity:0};switch(c){case "fade":case "scale":return {display:"grid",gridTemplateColumns:"1fr",width:"100%"};default:return {width:`${C.length*100}%`,alignItems:"flex-start",display:"flex",transform:`translate3d(-${f*g.width}px, 0, 0)`,transition:`transform ${n}s cubic-bezier(0.4, 0, 0.2, 1)`}}};return jsxRuntime.jsxs(u,{ref:i,style:w,className:`--tabview --${a} flex cols ${d}`,children:[jsxRuntime.jsx(St,{as:"--tabview-head",onSwitch:b=>{l(b.index);let R=C.find(H=>H.tag==b.tag);R&&R.onSelect&&(R.onSelect(R,b.index),m?.(R,b.index));},selected:f,items:C.reduce((b,R,H)=>(b.push({icon:R.icon,index:H,label:R.label,tag:R.tag}),b),[])}),jsxRuntime.jsx(u,{className:"--tabview-body",as:"rel no-overflow w-full",style:{height:T,transition:P?`height ${n}s cubic-bezier(0.4, 0, 0.2, 1)`:"none",opacity:P?1:0},children:jsxRuntime.jsx(u,{className:"--track",style:{...h()},children:C.map((b,R)=>jsxRuntime.jsx(la,{isActive:R===f,transitionType:c,speed:n,width:g.width,render:o||R===f,onHeightChange:H=>R===f&&y(H),content:b.body},`tab-body-${b.key||R}-${S}`))})})]})};pa.displayName="Zuz.TabView";var Cu=pa;var Iu=({ref:e,commands:r,onCommand:t,welcomeMessage:n="Welcome to Zuz Terminal v1.0.0",prompt:o="zuz ~ ",variant:s,...a})=>{let[m,c]=react.useState([{type:"output",content:n}]),[p,f]=react.useState(""),l=react.useRef(null),i=react.useRef(null),{variant:g}=Q(true);react.useEffect(()=>{l.current&&(l.current.scrollTop=l.current.scrollHeight);},[m]);let S=d=>{let x=typeof d=="string"?{type:"output",content:d}:d;c(h=>{let b=[...h,x];return b.length>1e3?b.slice(-1e3):b});},T=()=>c([]);react.useImperativeHandle(e,()=>({write:S,clear:T}));let y=async d=>{let[x,...h]=d.split(" "),b=x.toLowerCase();return r&&r[b]?await r[b](h):t?await t(d):`command not found: ${x}`},P=d=>{let x=/\u001b\[(\d+)m/g,h=[],b={31:"#ff5f56",32:"#27c93f",33:"#ffbd2e",34:"#007aff",35:"#ff79c6",36:"#8be9fd",39:"#d4d4d4"},R=0,H="#d4d4d4",L=false,F;for(;(F=x.exec(d))!==null;){let V=d.slice(R,F.index);V&&h.push({text:V,color:H,bold:L});let $=F[1];$==="0"?(H="#d4d4d4",L=false):$==="1"?L=true:b[$]&&(H=b[$]),R=x.lastIndex;}let I=d.slice(R);return I&&h.push({text:I,color:H,bold:L}),h},C=(d,x)=>d.includes("\x1B")?P(d).map((h,b)=>jsxRuntime.jsx(ne,{style:{color:h.color||"#d4d4d4",fontWeight:h.bold?"bold":"normal"},children:h.text},`--terminal-msg-${b}-${h.text.replace(/\S+/g,"-")}`)):jsxRuntime.jsx(ne,{style:{color:x==="error"?"#ff5f56":x==="command"?"#00ff00":"#d4d4d4"},children:d}),w=async d=>{if(d.key==="Enter"&&p.trim()){let x=p.trim(),h=[...m,{type:"command",content:`${o}${x}`}];f(""),c(h);let b=await y(x);c(R=>[...R,{type:"output",content:b}]);}};return jsxRuntime.jsxs(u,{as:`--zuz-terminal --${s||g||U.Medium} flex cols ${a.className}`,onClick:()=>i.current?.focus(),children:[jsxRuntime.jsx(u,{ref:l,className:"--terminal-log",children:m.map((d,x)=>jsxRuntime.jsx(u,{children:jsxRuntime.jsx(z,{children:C(d.content,d.type)})},x))}),jsxRuntime.jsxs(u,{as:"flex aic --terminal-input",children:[jsxRuntime.jsx(z,{as:"--terminal-prompt",children:o}),jsxRuntime.jsx(me,{ref:i,className:"--zuz-term-input",autoFocus:true,value:p,variant:s||g||U.Medium,onChange:d=>f(d.target.value),onKeyDown:w})]})]})},Nu=Iu;var Bu=({meta:e})=>jsxRuntime.jsxs(A,{as:"flex aic --command-item",children:[e.icon&&jsxRuntime.jsx(J,{name:e.icon,as:"--command-icon"}),jsxRuntime.jsx(z,{children:e.label})]}),Eu=({position:e,onSelect:r,commands:t,visible:n})=>jsxRuntime.jsx(u,{"aria-hidden":!n,fx:{transition:X.SlideInBottom,duration:.1,when:n},className:"--command-box abs grid",style:{...e},children:t.map(o=>jsxRuntime.jsx(Bu,{meta:o},`cmd-${o.label.replace(/\s+/,"-")}`))}),ga=Eu;var xa=({ref:e,...r})=>{let {autoResize:t,maxHeight:n,variant:o,resize:s="none",command:a,commands:m,name:c,onInput:p,cmd:f,renderDropdown:l,value:i,defaultValue:g,...S}=r,T=react.useRef(null),y=react.useRef(null),{variant:P}=Q(true),{style:C,className:w,rest:d}=B(S),x=Oe();c?x.errors?.[c]:null;let b=c&&x.values&&x.setFieldValue,R=b?x.values?.[c]:void 0,H=hooks.useDebounce(k=>{b&&x.setFieldValue?.(c,k);},500),{showDropdown:L,dropdownPosition:F,handleKeyDown:I,handleInput:V,handleCommandSelect:$}=hooks.useCommandActions({command:a,commands:m,cmd:f,ref:T}),Z=react.useCallback(()=>{let k=T.current;!k||!t||(y.current&&cancelAnimationFrame(y.current),y.current=requestAnimationFrame(()=>{k.style.height="auto";let K=k.scrollHeight;if(n){let E=parseInt(n.toString(),10);isNaN(E)||(K=Math.min(K,E));}k.style.height=`${K}px`,k.style.overflowY=n&&K>=parseInt(n.toString(),10)?"auto":"hidden";}));},[t,n]),N=k=>{H(k.currentTarget.value),p?.(k),V(k),Z();};return react.useEffect(()=>{T.current&&c&&R!==void 0&&T.current.value!==String(R)&&(T.current.value=String(R));},[R,c]),react.useEffect(()=>{Z();},[i,g,Z]),react.useEffect(()=>{t&&T.current&&Z();},[t,Z]),react.useEffect(()=>()=>{y.current&&cancelAnimationFrame(y.current);},[]),jsxRuntime.jsxs(u,{as:"rel",children:[jsxRuntime.jsx("textarea",{name:c,className:`--input --textarea --${o||P||U.Medium} flex ${w}`.trim(),style:{...C,resize:s,height:t?"auto":C?.height,overflow:"hidden",transition:t?"none":void 0},onKeyDown:I,onInput:N,ref:k=>{T.current=k,typeof e=="function"?e(k):e&&(e.current=k);},value:i,defaultValue:g,...d}),l?l({show:L,position:F,commands:m||[],onSelect:$}):m&&m.length>0&&jsxRuntime.jsx(ga,{visible:L,commands:m,onSelect:$,position:F})]})};xa.displayName="Zuz.TextArea";var Du=xa;var va=react.forwardRef((e,r)=>{let{as:t,value:n,color:o,direction:s,...a}=e,m=react.useRef(null),[c,p]=react.useState(n||0);return react.useImperativeHandle(r,()=>({updateValue(f){c.toString().length!==f.toString().length&&p(f);},setValue(f){if(this.updateValue(f),m.current){let l=f.toString().split("");m.current.querySelectorAll(".--wheel-char").forEach((i,g)=>{let S=l[g];if(i instanceof HTMLElement){i.setAttribute("data-value",S);let T=i.querySelector(".--wheel-char-track");T instanceof HTMLElement&&(T.style.setProperty("--v",S),T.offsetWidth);}});}}})),react.useEffect(()=>{p(n||0);},[n]),jsxRuntime.jsxs(u,{className:"--text-wheel flex aic rel","aria-hidden":true,as:t,ref:m,...a,children:[(c||0).toString().split("").map((f,l)=>isNaN(parseInt(f,10))?jsxRuntime.jsx(ne,{className:"--wheel-char wheel-char-symbol grid",children:f},`wheel-char-symbol-${l}`):jsxRuntime.jsx(ne,{"data-value":f,className:`--wheel-char grid ${l>(c||0).toString().length-3?"--wheel-fraction":""}`.trim(),children:jsxRuntime.jsxs(ne,{className:`--wheel-char-track --wheel-track-${s||"down"} grid`,style:{"--v":f},children:[jsxRuntime.jsx(ne,{children:!s||s==="down"?0:9}),(!s||s==="down"?[9,8,7,6,5,4,3,2,1,0]:[0,1,2,3,4,5,6,7,8,9]).map((i,g)=>jsxRuntime.jsx(ne,{children:i},`${l}--${g}`)),jsxRuntime.jsx(ne,{children:!s||s==="down"?9:0})]})},`wheel-char-${l}`)),o&&jsxRuntime.jsx(u,{className:"abs fillx",style:{zIndex:1,background:`linear-gradient(0deg, ${o}, transparent, transparent, transparent, ${o})`}})]})});va.displayName="Zuz.TextWheel";var _u=va;var mr=react.forwardRef((e,r)=>{let{as:t,meta:n,nodes:o,icons:s,onSelect:a,treeTag:m,selected:c,roots:p,expanded:f,...l}=e,{tag:i,label:g,icon:S,under:T,isHead:y}=n,P=react.useMemo(()=>p.includes(i),[p]),[C,w]=react.useState(f),d=()=>{localStorage.setItem(`--tn${m}-${i}`,C?"0":"1"),w(!C);};react.useEffect(()=>{f||P&&!localStorage.getItem(`--tn${m}-${i}`)?(localStorage.setItem(`--tn${m}-${i}`,"1"),w(true)):w(localStorage.getItem(`--tn${m}-${i}`)=="1");},[]);let x=react.useMemo(()=>o.filter(h=>h.under==i),[o,i]);return jsxRuntime.jsxs(u,{className:`--treenode ${P?"--is-root":""} --treenode-${i} flex cols`,children:[jsxRuntime.jsxs(u,{className:`--node --node-${i} flex aic ${c==i?" --selected":""}`,children:[jsxRuntime.jsx(A,{skeleton:l.skeleton,onClick:d,className:"--node-aro-btn",disabled:x.length==0,children:s?.arrowClose&&s?.arrowOpen?jsxRuntime.jsx(J,{skeleton:l.skeleton,className:"--node-aro-icon",name:x.length==0?s?.arrowDisabled||s?.arrowClose:C?s?.arrowOpen:s?.arrowClose}):x.length==0?O.chevronBottom:C?O.chevronBottom:O.chevronRight}),jsxRuntime.jsxs(A,{className:"--node-meta flex aic",onClick:h=>a(i),children:[(s?.nodeOpen&&s?.nodeClose||P&&s?.rootOpen&&s?.rootClose)&&jsxRuntime.jsx(J,{skeleton:l.skeleton,className:`--node-icon ${P?"--icon-root":""}`,name:S||(C?P&&s?.rootOpen||s.nodeOpen:P&&s?.rootClose||s?.nodeClose)}),jsxRuntime.jsx(z,{className:`--node-label ${P?"--node-label-root":""}`.trim(),skeleton:l.skeleton,children:g})]})]}),C&&x.length>0&&jsxRuntime.jsx(u,{className:`--sub-node tree-sub-node-${i} flex cols`,children:x.map(h=>jsxRuntime.jsx(mr,{treeTag:m,selected:c,onSelect:a,icons:s,roots:p,expanded:h.expanded||false,meta:h,nodes:o},`--node-${h.tag}`))})]})});mr.displayName="TreeItem";var Sa=mr;var Ta=react.forwardRef((e,r)=>{let{as:t,nodes:n,onNodeSelect:o,tag:s,icons:a,roots:m,selected:c,...p}=e,[f,l]=react.useState(c);react.useImperativeHandle(r,()=>({getSelected:()=>f}),[o]);let i=g=>{l(g),o&&o(g);};return react.useEffect(()=>{f!=c&&l(c);},[c]),jsxRuntime.jsx(u,{className:"--treeview flex cols",children:n.filter(g=>m.includes(g.tag)).map(g=>jsxRuntime.jsx(Sa,{treeTag:s?`-${s}`:"",selected:f,onSelect:S=>i(S),icons:a,meta:g,roots:m,expanded:g.expanded||false,skeleton:p.skeleton,nodes:n},`--node-${g.tag}`))})});Ta.displayName="Zuz.TreeView";var Yu=Ta;String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"").replace(/\s+/g," ")};
14
- Object.defineProperty(exports,"PACKAGE_NAME",{enumerable:true,get:function(){return chunkVPTE2LT2_cjs.f}});Object.defineProperty(exports,"cleanProps",{enumerable:true,get:function(){return chunkVPTE2LT2_cjs.g}});Object.defineProperty(exports,"splitAtoms",{enumerable:true,get:function(){return chunkVPTE2LT2_cjs.h}});exports.ALERT=Ce;exports.AVATAR=gr;exports.Accordion=pl;exports.ActionBar=yl;exports.Alert=vl;exports.AutoComplete=Gl;exports.Avatar=ec;exports.Badge=oc;exports.Box=u;exports.Bubble=Vc;exports.BubbleMediaType=_n;exports.BubbleStatus=Fn;exports.Button=A;exports.CHART=Vn;exports.CHECKBOX=Le;exports.COLORTHEME=ef;exports.Calendar=Ao;exports.Carousel=Ic;exports.Chart=Oc;exports.CheckBox=wt;exports.CodeBlock=Xc;exports.ColorScheme=pm;exports.ContextMenu=bo;exports.CookiesConsent=gm;exports.Cover=Ne;exports.CropShape=Bm;exports.Cropper=Im;exports.Crumb=km;exports.DATATYPE=rf;exports.DIALOG=Qe;exports.DIALOG_ACTION_POSITION=hr;exports.DRAWER_SIDE=be;exports.DatePicker=Dm;exports.Dialog=Co;exports.Drawer=Io;exports.FILTER=Nt;exports.FORMVALIDATION=_e;exports.FORMVALIDATION_STYLE=nf;exports.Fab=Am;exports.Filters=_m;exports.Flex=$e;exports.Form=np;exports.Grid=ip;exports.Group=vo;exports.Icon=J;exports.Image=qe;exports.Input=me;exports.KeyboardKeys=tr;exports.KeysLabelMap=Rs;exports.KeysMap=Ps;exports.Label=vt;exports.LayersProvider=go;exports.List=Ue;exports.MediaPlayer=xp;exports.NetworkStatus=Sp;exports.ORIGIN=pt;exports.OriginType=tf;exports.Overlay=Ze;exports.POSITION=mt;exports.PROGRESS=af;exports.Pagination=bt;exports.PaginationStyle=Kt;exports.Password=Bp;exports.PinInput=Mp;exports.Position=ge;exports.ProgressBar=We;exports.RADIO=io;exports.Radio=Vp;exports.SHEET=Te;exports.SHEET_ACTION_POSITION=so;exports.SKELETON=Ju;exports.SLIDER=ao;exports.SORT=of;exports.SPINNER=ye;exports.ScrollView=To;exports.Search=Kp;exports.Select=Xp;exports.SelectTabs=St;exports.Sheet=qm;exports.Slider=et;exports.SnackPosition=$t;exports.SnackStyle=Qr;exports.SnackType=Vt;exports.Span=ne;exports.Spinner=Pe;exports.Status=sf;exports.Switch=Yp;exports.TRANSITIONS=X;exports.TRANSITION_CURVES=j;exports.TabView=Cu;exports.Table=mu;exports.TableOfContents=fu;exports.Terminal=Nu;exports.Text=z;exports.TextWheel=_u;exports.Textarea=Du;exports.ThemeProvider=Oa;exports.ToastDefaultTitle=Jr;exports.ToastPosition=$t;exports.ToastProvider=No;exports.ToastStyle=Qr;exports.ToastType=Vt;exports.ToolTip=Uo;exports.TreeView=Yu;exports.Variant=U;exports.animationTransition=ut;exports.buildClassString=lo;exports.buildWithStyles=br;exports.css=Rf;exports.getAnimationCurve=co;exports.getAnimationTransition=If;exports.getZuzMap=Ia;exports.isKeyCombination=Ts;exports.setZuzMap=xr;exports.useBase=B;exports.useContextMenu=Fi;exports.useDialog=Ki;exports.useDrawer=Ui;exports.useFx=he;exports.useMorph=Yi;exports.usePosition=ht;exports.useSnack=rl;exports.useToast=Bo;
14
+ Object.defineProperty(exports,"PACKAGE_NAME",{enumerable:true,get:function(){return chunkRI5JB2KJ_cjs.f}});Object.defineProperty(exports,"cleanProps",{enumerable:true,get:function(){return chunkRI5JB2KJ_cjs.g}});Object.defineProperty(exports,"splitAtoms",{enumerable:true,get:function(){return chunkRI5JB2KJ_cjs.h}});exports.ALERT=Ce;exports.AVATAR=gr;exports.Accordion=pl;exports.ActionBar=yl;exports.Alert=vl;exports.AutoComplete=Gl;exports.Avatar=ec;exports.Badge=oc;exports.Box=u;exports.Bubble=Vc;exports.BubbleMediaType=_n;exports.BubbleStatus=Fn;exports.Button=A;exports.CHART=Vn;exports.CHECKBOX=Le;exports.COLORTHEME=ef;exports.Calendar=Ao;exports.Carousel=Ic;exports.Chart=Oc;exports.CheckBox=wt;exports.CodeBlock=Xc;exports.ColorScheme=pm;exports.ContextMenu=bo;exports.CookiesConsent=gm;exports.Cover=Ne;exports.CropShape=Bm;exports.Cropper=Im;exports.Crumb=km;exports.DATATYPE=rf;exports.DIALOG=Qe;exports.DIALOG_ACTION_POSITION=hr;exports.DRAWER_SIDE=be;exports.DatePicker=Dm;exports.Dialog=Co;exports.Drawer=Io;exports.FILTER=Nt;exports.FORMVALIDATION=_e;exports.FORMVALIDATION_STYLE=nf;exports.Fab=Am;exports.Filters=_m;exports.Flex=$e;exports.Form=np;exports.Grid=ip;exports.Group=vo;exports.Icon=J;exports.Image=qe;exports.Input=me;exports.KeyboardKeys=tr;exports.KeysLabelMap=Rs;exports.KeysMap=Ps;exports.Label=vt;exports.LayersProvider=go;exports.List=Ue;exports.MediaPlayer=xp;exports.NetworkStatus=Sp;exports.ORIGIN=pt;exports.OriginType=tf;exports.Overlay=Ze;exports.POSITION=mt;exports.PROGRESS=af;exports.Pagination=bt;exports.PaginationStyle=Kt;exports.Password=Bp;exports.PinInput=Mp;exports.Position=ge;exports.ProgressBar=We;exports.RADIO=io;exports.Radio=Vp;exports.SHEET=Te;exports.SHEET_ACTION_POSITION=so;exports.SKELETON=Ju;exports.SLIDER=ao;exports.SORT=of;exports.SPINNER=ye;exports.ScrollView=To;exports.Search=Kp;exports.Select=Xp;exports.SelectTabs=St;exports.Sheet=qm;exports.Slider=et;exports.SnackPosition=$t;exports.SnackStyle=Qr;exports.SnackType=Vt;exports.Span=ne;exports.Spinner=Pe;exports.Status=sf;exports.Switch=Yp;exports.TRANSITIONS=X;exports.TRANSITION_CURVES=j;exports.TabView=Cu;exports.Table=mu;exports.TableOfContents=fu;exports.Terminal=Nu;exports.Text=z;exports.TextWheel=_u;exports.Textarea=Du;exports.ThemeProvider=Oa;exports.ToastDefaultTitle=Jr;exports.ToastPosition=$t;exports.ToastProvider=No;exports.ToastStyle=Qr;exports.ToastType=Vt;exports.ToolTip=Uo;exports.TreeView=Yu;exports.Variant=U;exports.animationTransition=ut;exports.buildClassString=lo;exports.buildWithStyles=br;exports.css=Rf;exports.getAnimationCurve=co;exports.getAnimationTransition=If;exports.getZuzMap=Ia;exports.isKeyCombination=Ts;exports.setZuzMap=xr;exports.useBase=B;exports.useContextMenu=Fi;exports.useDialog=Ki;exports.useDrawer=Ui;exports.useFx=he;exports.useMorph=Yi;exports.usePosition=ht;exports.useSnack=rl;exports.useToast=Bo;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import {f,e,g,d,h,c}from'./chunk-GB67P3F3.js';export{e as PACKAGE_NAME,f as cleanProps,g as splitAtoms}from'./chunk-GB67P3F3.js';import {createContext,forwardRef,useMemo,Fragment,useEffect,useRef,useImperativeHandle,useState,useCallback,createElement,isValidElement,useId,useLayoutEffect,useContext,useSyncExternalStore,startTransition}from'react';import {useDelayed,useScrollbar,useDebounce,useImage,useResizeObserver,useLineChart,useImageCropper,CropShape,useNetworkStatus,useIntersectionObserver,useCarousel,useTimer,useMediaPlayer,AnchorType,useAnchorPosition,KeyCode,useShortcuts,useCommandActions}from'@zuzjs/hooks';import {createPortal}from'react-dom';import {MD5,uuid,withPost,_,clamp,timeSince,checkPasswordStrength,removeDuplicateWords,PubSub,toHash,numberInRange,copyToClipboard}from'@zuzjs/core';import {jsx,jsxs,Fragment as Fragment$1}from'react/jsx-runtime';import {addPropsToChildren}from'@zuzjs/core/react';import {startOfMonth,endOfMonth,startOfWeek,endOfWeek,eachDayOfInterval,format,isSameMonth,isSameDay,isToday,addHours,addDays,addWeeks}from'date-fns';var hr={Circle:"CIRCLE",Square:"SQUARE"},ef={Default:"DEFAULT",Circle:"CIRCLE"},tf={Light:"light",Dark:"dark",System:"system"},Me={Default:"DEFAULT",Switch:"SWITCH"},pt={Auto:"auto",Top:"top",Bottom:"bottom",Left:"left",Right:"right"},he=pt,ut=AnchorType,of=ut,q={XSmall:"xs",Small:"sm",Medium:"md",Large:"lg",XLarge:"xl"},rf={Asc:"ASC",Desc:"DESC"},nf={String:"STRING",Number:"NUMBER",Boolean:"BOOLEAN",Array:"ARRAY",Object:"OBJECT",Date:"DATE",Time:"TIME",DateTime:"DATETIME",File:"FILE"},sf={Dots:"DOTS"},Ze={IPV4:"IPV4",IPV6:"IPV6",Email:"EMAIL",Uri:"URI",Password:"PASSWORD",MatchField:"MATCHFIELD",Pattern:"*",GreaterThan:"GREATER_THAN"},Te={Success:"success",Error:"error",Warning:"warning",Info:"info"},Q={Spring:"SPRING",Liquid:"LIQUID",EaseInOut:"EASEINOUT",EaseOutBack:"EASEOUTBACK",Bounce:"BOUNCE"},Y={FadeIn:"FADE_IN",ScaleIn:"SCALE_IN",SlideInTop:"SLIDE_FROM_TOP",SlideInRight:"SLIDE_FROM_RIGHT",SlideInBottom:"SLIDE_FROM_BOTTOM",SlideInLeft:"SLIDE_FROM_LEFT"},af={Success:"success",Error:"error",Idle:"idle",Dead:"dead"},Pe={Dialog:"DIALOG",Default:"DEFAULT",Error:"ERROR",Success:"SUCCESS",Warn:"WARN",Promise:"PROMISE"},Je=Pe,ao={Left:"LEFT",Right:"RIGHT",Center:"CENTER"},yr=ao,lf={Bar:"BAR",Ring:"RING"},io={Default:"range",Text:"number"},lo={Default:"DEFAULT",Card:"CARD"},Bt={Gooey:"gooey"},ve={Left:"LEFT",Right:"RIGHT",Top:"TOP",Bottom:"BOTTOM"};var xr=Symbol.for("zuz.global.map"),br=e=>{globalThis[xr]=e;},Na=()=>globalThis[xr]||{},co=e$1=>{let r=Array.isArray(e$1)?e$1.join(" "):e$1;if(!r||typeof r!="string")return "";let t=Na();return process.env.NODE_ENV==="development"&&Object.keys(t).length===0&&console.warn(`[${e}] No utility map detected. Classes will not be hashed. `,"Ensure you call setZuzMap() or use <ThemeProvider zuzMap={...} />."),g(r).filter(Boolean).map(o=>{let s=o.match(/^([&@][\w-]+)\((.*)\)$/);if(s){let[a,m,c]=s;return g(c).map(p=>{let f=`${m}(${p})`;return t[f]||p}).join(" ")}return t[o]||o}).join(" ")},If=e=>{let r=Array.isArray(e)?e.join(" "):e;return !r||typeof r!="string"?"":co(r)},vr=e=>{let r={};for(let t in e){let n=e[t];if(t.startsWith("--")){r[t]=n;continue}let o=d[t]?.toString()??t;if(o==="x"||o==="translateX"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${h.addUnitsSafely(t,n)} ${s[1]??"0px"}`;}else if(o==="y"||o==="translateY"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${s[0]??"0px"} ${h.addUnitsSafely(t,n)}`;}else c.includes(o)?r[o]=h.addUnitsSafely(t,n):r[o]=n;}return r},mo=e=>{if(!e)return "linear";switch(e.toUpperCase()){case Q.Bounce:return "var(--bounce)";case Q.Liquid:return "var(--liquid)";case Q.Spring:return "var(--spring)";case Q.EaseInOut:return "ease-in-out";case Q.EaseOutBack:return "ease-out-back";default:return "linear"}},ft=(e,r=0,t=0)=>{let n={},o={},s=r||20,a=t||0;switch(e){case Y.SlideInLeft:case Y.SlideInRight:n={"--fx-x":e===Y.SlideInLeft?`-${s}px`:`${s}px`,opacity:0},o={"--fx-x":`${a}px`,opacity:1};break;case Y.SlideInTop:case Y.SlideInBottom:n={"--fx-y":e===Y.SlideInTop?`-${s}px`:`${s}px`,opacity:0},o={"--fx-y":`${a}px`,opacity:1};break;case Y.ScaleIn:n={scale:0,opacity:0},o={scale:1,opacity:1};break;case Y.FadeIn:n={opacity:0},o={opacity:1};break}return {from:n,to:o}},Nf=(e,r,t)=>{let{from:n,to:o}=ft(e);return r?{...n,...o}:t?n:o};var Ea=(e,r)=>{let t=useRef([]),n=useRef(false);return useEffect(()=>{e?.when||(n.current=false);},[e?.transition]),useEffect(()=>{let o=r?.current;if(!o||!e||!e.clearAtEnd)return;let s=a=>{t.current.includes(a.propertyName)&&e.clearAtEnd===true&&(o.style.transform="",o.style.filter="",t.current.forEach(m=>o.style.removeProperty(m)));};return o.addEventListener("transitionend",s),()=>o.removeEventListener("transitionend",s)},[e,r]),useEffect(()=>{if(typeof window>"u"||!r?.current)return;let o=r.current;(e?.scroll||e?.mouse)&&(o.style.willChange="transform",o.style.translate="var(--fx-x, 0px) var(--fx-y, 0px)",o.style.transition=`translate 0.1s ${e.curve?mo(e.curve):"var(--spring)"}`);},[e,r]),useMemo(()=>{if(!e)return {style:{}};let{transition:o,from:s,to:a,exit:m,when:c,duration:p=.3,delay:f=0,curve:l,margin:i=0,offset:g=20,watch:C=[]}=e,P=c===false&&!n.current;c===true&&(n.current=true);let y={},{from:R,to:T}=o?ft(o,g,i):{from:s||{},to:a||{}};y=c===void 0?{...R,...T}:c?{...T}:m||R;let S=mo(l),d=[],x=vr(y);t.current=Object.keys(x);let h={...x};return Object.keys(x).forEach(b=>{let I=b.startsWith("--")?"all":b;d.includes(I)||d.push(`${I} ${p}s ${S} ${f}s`);}),C.forEach(b=>{d.includes(b)||d.push(`${b} 0.1s ${S} 0s`);}),{style:{...h,transition:P?"none":d.join(", "),opacity:P?0:h.opacity,pointerEvents:P?"none":h.pointerEvents}}},[e,e?.when,e?.watch])},ye=Ea;var Et=null,ka=(e,r)=>{let{as:t,fx:n,busy:o=false,transition:s,skeleton:a,className:m,propsToRemove:c,draggable:p,dragOptions:f$1,style:l,...i}=e||{},g=typeof window<"u",C={},P={};if(p&&g&&!Et&&(import('@zuzjs/hooks').then(d=>{Et=d.useDrag;}).catch(d=>{console.error("Error loading useDrag:",d);}),Et)){let d=Et(f$1);C={onMouseDown:d.onMouseDown},P={transform:`translate(${d.position.x}px, ${d.position.y}px)`};}let y=[m,o===true?"--is-busy":""].filter(Boolean).join(" "),R=s?{transition:s,duration:.3}:n||{},{style:T}=ye(R,r),S=co(t??"");return {style:{...l,...T,...P},className:[y,S||"",a?.enabled?"--skeleton":"",p?"--draggable":""].join(" ").trim(),rest:{...C,...f(i,c?[...c,"skeleton"]:["skeleton"])}}},E=ka;var Cr="(prefers-color-scheme: dark)",Oa=typeof window>"u",Pr=createContext(void 0),go=e=>{let r=useContext(Pr);if(!r){if(e===true)return;throw new Error("useColorScheme must be used within a ThemeProvider")}return r},J=go,Da=({children:e,storageKey:r="--ucs",forceTheme:t,zuzMap:n,...o})=>(n&&br(n),jsx(Ha,{storageKey:r,forceTheme:t,...o,children:e})),Ha=({children:e,storageKey:r,forceTheme:t,...n})=>{let[o,s]=useState(()=>t||Tr(r,"system")),[a,m]=useState(()=>t||Tr(r)),c=i=>(i||(i=window.matchMedia(Cr)),i.matches?"dark":"light"),p=useCallback(i=>{let g=i=="system"?c():i,C=document.documentElement;C.setAttribute("color-scheme",g),C.style.colorScheme=g,m(g);},[c]),f=useCallback(i=>{s(i),localStorage.setItem(r,i),p(i);},[o]),l=useCallback(i=>{let g=c(i);m(g),o==="system"&&p("system");},[o]);return useEffect(()=>{o==null&&window.localStorage.getItem(r);},[o]),useEffect(()=>{window.matchMedia(Cr).addEventListener("change",l);},[l]),useEffect(()=>{let i=g=>{g.key==r&&(g.newValue?f(g.newValue):f("system"));};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[f]),useEffect(()=>{p(t||o||"system");},[o]),jsxs(Pr,{value:{colorScheme:o,resolvedScheme:a,setColorScheme:f,...n},children:[t?null:jsx("script",{suppressHydrationWarning:true,dangerouslySetInnerHTML:{__html:`const el = document.documentElement
1
+ import {f,e,g,d,h,c}from'./chunk-NWG6ZO7D.js';export{e as PACKAGE_NAME,f as cleanProps,g as splitAtoms}from'./chunk-NWG6ZO7D.js';import {createContext,forwardRef,useMemo,Fragment,useEffect,useRef,useImperativeHandle,useState,useCallback,createElement,isValidElement,useId,useLayoutEffect,useContext,useSyncExternalStore,startTransition}from'react';import {useDelayed,useScrollbar,useDebounce,useImage,useResizeObserver,useLineChart,useImageCropper,CropShape,useNetworkStatus,useIntersectionObserver,useCarousel,useTimer,useMediaPlayer,AnchorType,useAnchorPosition,KeyCode,useShortcuts,useCommandActions}from'@zuzjs/hooks';import {createPortal}from'react-dom';import {MD5,uuid,withPost,_,clamp,timeSince,checkPasswordStrength,removeDuplicateWords,PubSub,toHash,numberInRange,copyToClipboard}from'@zuzjs/core';import {jsx,jsxs,Fragment as Fragment$1}from'react/jsx-runtime';import {addPropsToChildren}from'@zuzjs/core/react';import {startOfMonth,endOfMonth,startOfWeek,endOfWeek,eachDayOfInterval,format,isSameMonth,isSameDay,isToday,addHours,addDays,addWeeks}from'date-fns';var hr={Circle:"CIRCLE",Square:"SQUARE"},ef={Default:"DEFAULT",Circle:"CIRCLE"},tf={Light:"light",Dark:"dark",System:"system"},Me={Default:"DEFAULT",Switch:"SWITCH"},pt={Auto:"auto",Top:"top",Bottom:"bottom",Left:"left",Right:"right"},he=pt,ut=AnchorType,of=ut,q={XSmall:"xs",Small:"sm",Medium:"md",Large:"lg",XLarge:"xl"},rf={Asc:"ASC",Desc:"DESC"},nf={String:"STRING",Number:"NUMBER",Boolean:"BOOLEAN",Array:"ARRAY",Object:"OBJECT",Date:"DATE",Time:"TIME",DateTime:"DATETIME",File:"FILE"},sf={Dots:"DOTS"},Ze={IPV4:"IPV4",IPV6:"IPV6",Email:"EMAIL",Uri:"URI",Password:"PASSWORD",MatchField:"MATCHFIELD",Pattern:"*",GreaterThan:"GREATER_THAN"},Te={Success:"success",Error:"error",Warning:"warning",Info:"info"},Q={Spring:"SPRING",Liquid:"LIQUID",EaseInOut:"EASEINOUT",EaseOutBack:"EASEOUTBACK",Bounce:"BOUNCE"},Y={FadeIn:"FADE_IN",ScaleIn:"SCALE_IN",SlideInTop:"SLIDE_FROM_TOP",SlideInRight:"SLIDE_FROM_RIGHT",SlideInBottom:"SLIDE_FROM_BOTTOM",SlideInLeft:"SLIDE_FROM_LEFT"},af={Success:"success",Error:"error",Idle:"idle",Dead:"dead"},Pe={Dialog:"DIALOG",Default:"DEFAULT",Error:"ERROR",Success:"SUCCESS",Warn:"WARN",Promise:"PROMISE"},Je=Pe,ao={Left:"LEFT",Right:"RIGHT",Center:"CENTER"},yr=ao,lf={Bar:"BAR",Ring:"RING"},io={Default:"range",Text:"number"},lo={Default:"DEFAULT",Card:"CARD"},Bt={Gooey:"gooey"},ve={Left:"LEFT",Right:"RIGHT",Top:"TOP",Bottom:"BOTTOM"};var xr=Symbol.for("zuz.global.map"),br=e=>{globalThis[xr]=e;},Na=()=>globalThis[xr]||{},co=e$1=>{let r=Array.isArray(e$1)?e$1.join(" "):e$1;if(!r||typeof r!="string")return "";let t=Na();return process.env.NODE_ENV==="development"&&Object.keys(t).length===0&&console.warn(`[${e}] No utility map detected. Classes will not be hashed. `,"Ensure you call setZuzMap() or use <ThemeProvider zuzMap={...} />."),g(r).filter(Boolean).map(o=>{let s=o.match(/^([&@][\w-]+)\((.*)\)$/);if(s){let[a,m,c]=s;return g(c).map(p=>{let f=`${m}(${p})`;return t[f]||p}).join(" ")}return t[o]||o}).join(" ")},If=e=>{let r=Array.isArray(e)?e.join(" "):e;return !r||typeof r!="string"?"":co(r)},vr=e=>{let r={};for(let t in e){let n=e[t];if(t.startsWith("--")){r[t]=n;continue}let o=d[t]?.toString()??t;if(o==="x"||o==="translateX"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${h.addUnitsSafely(t,n)} ${s[1]??"0px"}`;}else if(o==="y"||o==="translateY"){let s=r.translate?.split(" ")??["0px","0px"];r.translate=`${s[0]??"0px"} ${h.addUnitsSafely(t,n)}`;}else c.includes(o)?r[o]=h.addUnitsSafely(t,n):r[o]=n;}return r},mo=e=>{if(!e)return "linear";switch(e.toUpperCase()){case Q.Bounce:return "var(--bounce)";case Q.Liquid:return "var(--liquid)";case Q.Spring:return "var(--spring)";case Q.EaseInOut:return "ease-in-out";case Q.EaseOutBack:return "ease-out-back";default:return "linear"}},ft=(e,r=0,t=0)=>{let n={},o={},s=r||20,a=t||0;switch(e){case Y.SlideInLeft:case Y.SlideInRight:n={"--fx-x":e===Y.SlideInLeft?`-${s}px`:`${s}px`,opacity:0},o={"--fx-x":`${a}px`,opacity:1};break;case Y.SlideInTop:case Y.SlideInBottom:n={"--fx-y":e===Y.SlideInTop?`-${s}px`:`${s}px`,opacity:0},o={"--fx-y":`${a}px`,opacity:1};break;case Y.ScaleIn:n={scale:0,opacity:0},o={scale:1,opacity:1};break;case Y.FadeIn:n={opacity:0},o={opacity:1};break}return {from:n,to:o}},Nf=(e,r,t)=>{let{from:n,to:o}=ft(e);return r?{...n,...o}:t?n:o};var Ea=(e,r)=>{let t=useRef([]),n=useRef(false);return useEffect(()=>{e?.when||(n.current=false);},[e?.transition]),useEffect(()=>{let o=r?.current;if(!o||!e||!e.clearAtEnd)return;let s=a=>{t.current.includes(a.propertyName)&&e.clearAtEnd===true&&(o.style.transform="",o.style.filter="",t.current.forEach(m=>o.style.removeProperty(m)));};return o.addEventListener("transitionend",s),()=>o.removeEventListener("transitionend",s)},[e,r]),useEffect(()=>{if(typeof window>"u"||!r?.current)return;let o=r.current;(e?.scroll||e?.mouse)&&(o.style.willChange="transform",o.style.translate="var(--fx-x, 0px) var(--fx-y, 0px)",o.style.transition=`translate 0.1s ${e.curve?mo(e.curve):"var(--spring)"}`);},[e,r]),useMemo(()=>{if(!e)return {style:{}};let{transition:o,from:s,to:a,exit:m,when:c,duration:p=.3,delay:f=0,curve:l,margin:i=0,offset:g=20,watch:C=[]}=e,P=c===false&&!n.current;c===true&&(n.current=true);let y={},{from:R,to:T}=o?ft(o,g,i):{from:s||{},to:a||{}};y=c===void 0?{...R,...T}:c?{...T}:m||R;let S=mo(l),d=[],x=vr(y);t.current=Object.keys(x);let h={...x};return Object.keys(x).forEach(b=>{let I=b.startsWith("--")?"all":b;d.includes(I)||d.push(`${I} ${p}s ${S} ${f}s`);}),C.forEach(b=>{d.includes(b)||d.push(`${b} 0.1s ${S} 0s`);}),{style:{...h,transition:P?"none":d.join(", "),opacity:P?0:h.opacity,pointerEvents:P?"none":h.pointerEvents}}},[e,e?.when,e?.watch])},ye=Ea;var Et=null,ka=(e,r)=>{let{as:t,fx:n,busy:o=false,transition:s,skeleton:a,className:m,propsToRemove:c,draggable:p,dragOptions:f$1,style:l,...i}=e||{},g=typeof window<"u",C={},P={};if(p&&g&&!Et&&(import('@zuzjs/hooks').then(d=>{Et=d.useDrag;}).catch(d=>{console.error("Error loading useDrag:",d);}),Et)){let d=Et(f$1);C={onMouseDown:d.onMouseDown},P={transform:`translate(${d.position.x}px, ${d.position.y}px)`};}let y=[m,o===true?"--is-busy":""].filter(Boolean).join(" "),R=s?{transition:s,duration:.3}:n||{},{style:T}=ye(R,r),S=co(t??"");return {style:{...l,...T,...P},className:[y,S||"",a?.enabled?"--skeleton":"",p?"--draggable":""].join(" ").trim(),rest:{...C,...f(i,c?[...c,"skeleton"]:["skeleton"])}}},E=ka;var Cr="(prefers-color-scheme: dark)",Oa=typeof window>"u",Pr=createContext(void 0),go=e=>{let r=useContext(Pr);if(!r){if(e===true)return;throw new Error("useColorScheme must be used within a ThemeProvider")}return r},J=go,Da=({children:e,storageKey:r="--ucs",forceTheme:t,zuzMap:n,...o})=>(n&&br(n),jsx(Ha,{storageKey:r,forceTheme:t,...o,children:e})),Ha=({children:e,storageKey:r,forceTheme:t,...n})=>{let[o,s]=useState(()=>t||Tr(r,"system")),[a,m]=useState(()=>t||Tr(r)),c=i=>(i||(i=window.matchMedia(Cr)),i.matches?"dark":"light"),p=useCallback(i=>{let g=i=="system"?c():i,C=document.documentElement;C.setAttribute("color-scheme",g),C.style.colorScheme=g,m(g);},[c]),f=useCallback(i=>{s(i),localStorage.setItem(r,i),p(i);},[o]),l=useCallback(i=>{let g=c(i);m(g),o==="system"&&p("system");},[o]);return useEffect(()=>{o==null&&window.localStorage.getItem(r);},[o]),useEffect(()=>{window.matchMedia(Cr).addEventListener("change",l);},[l]),useEffect(()=>{let i=g=>{g.key==r&&(g.newValue?f(g.newValue):f("system"));};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[f]),useEffect(()=>{p(t||o||"system");},[o]),jsxs(Pr,{value:{colorScheme:o,resolvedScheme:a,setColorScheme:f,...n},children:[t?null:jsx("script",{suppressHydrationWarning:true,dangerouslySetInnerHTML:{__html:`const el = document.documentElement
2
2
  const themes = ['light', 'dark']
3
3
  let theme = localStorage.getItem(\`${r}\`) || "system";
4
4
  if (theme === "system") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuzjs/ui",
3
- "version": "1.0.46",
3
+ "version": "1.0.47",
4
4
  "description": "ZuzJS UI Library",
5
5
  "keywords": [
6
6
  "react",
@@ -38,7 +38,7 @@
38
38
  "dist"
39
39
  ],
40
40
  "dependencies": {
41
- "@zuzjs/core": "^0.3.7",
41
+ "@zuzjs/core": "^0.3.8",
42
42
  "@zuzjs/hooks": "^0.1.16",
43
43
  "chokidar": "^5.0.0",
44
44
  "commander": "^14.0.2",
File without changes
File without changes