@designid/tokens 1.2.8 → 1.2.10

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/bin/watch.js CHANGED
@@ -1,70 +1,70 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as QY}from"node:module";var AY=Object.create;var{getPrototypeOf:EY,defineProperty:u$,getOwnPropertyNames:LY}=Object;var HY=Object.prototype.hasOwnProperty;var _Y=($,X,Y)=>{Y=$!=null?AY(EY($)):{};let Z=X||!$||!$.__esModule?u$(Y,"default",{value:$,enumerable:!0}):Y;for(let q of LY($))if(!HY.call(Z,q))u$(Z,q,{get:()=>$[q],enumerable:!0});return Z};var k$=($,X)=>{for(var Y in X)u$($,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(Z)=>X[Y]=()=>Z})};var S=($,X)=>()=>($&&(X=$($=0)),X);var c$=QY(import.meta.url);var l0={};k$(l0,{transformColorValueAsync:()=>IY,transformColorValue:()=>F,transformColorToken:()=>x$,setAlpha:()=>W$,isColor:()=>p,initializeColorspace:()=>BY});import l$ from"colorjs.io";async function k0(){if(N$===null){let{colorspace:$}=await C();N$=$||"hex"}return N$}function wY(){return N$||"hex"}async function BY(){await k0()}function W$($,X){let Y=new l$($);if(X||X===0)Y.alpha=X/100;return F(Y)}function c0($,X){if(!$)return $;if(X&&X.type!=="color")return $;if(typeof $==="string")$=new l$($);if(typeof $?.to!=="function")return $;let Y=wY();try{switch(Y){case"hex":return $.to("srgb").toString({format:"hex"});case"rgb":case"srgb":return $.to("srgb").toString();case"srgb-linear":return $.to("srgb-linear").toString();case"display-p3":case"p3":return $.to("p3").toString();case"a98rgb":case"a98-rgb":return $.to("a98rgb").toString();case"prophoto":case"prophoto-rgb":return $.to("prophoto").toString();case"rec2020":case"rec-2020":return $.to("rec2020").toString();case"xyz":case"xyz-d65":return $.to("xyz-d65").toString();case"xyz-d50":return $.to("xyz-d50").toString();case"lab":case"cielab":return $.to("lab").toString();case"lab-d65":return $.to("lab-d65").toString();case"oklab":return $.to("oklab").toString();case"lch":case"cielch":return $.to("lch").toString();case"oklch":return $.to("oklch").toString();case"hsl":return $.to("hsl").toString();case"hsv":case"hsb":return $.to("hsv").toString();case"hwb":return $.to("hwb").toString();case"luv":return $.to("luv").toString();case"lchuv":return $.to("lchuv").toString();case"jzazbz":return $.to("jzazbz").toString();case"jzczhz":return $.to("jzczhz").toString();case"ictcp":return $.to("ictcp").toString();default:return $.to(Y).toString()}}catch(Z){return console.warn(`Unsupported colorspace '${Y}', falling back to hex. Error:`,Z),$.to("srgb").toString({format:"hex"})}}async function IY($,X){return await k0(),c0($,X)}function F($,X){return c0($,X)}function x$($,X,Y,Z){try{if($=g(X,Z),X.$type==="color"&&X.original?.$value&&X.original?.$value!==X.$value){if(D(X.original.$value))$=y(X.original.$value,Y,Z,X);else $=b(X);if(!j(Z)&&X.original?.$extensions?.mode?.[Z])$=X.original.$extensions.mode[Z]}if(D($))$=y($,Y,Z,X);return F($)}catch{return $=g(X,Z),F($)}}function p($){try{if($)return new l$($),!0;return!1}catch{return!1}}var N$=null;var G$=S(()=>{T()});function r0($,X){let Y=$.$extensions?.delimiter?.character||" ",Z=g($,X)??{},q=$.$extensions?.sort??[],U=b($)??{};if(q.length>0)U=Object.keys(U).sort((W,K)=>{let A=q.indexOf(W),G=q.indexOf(K);return A-G}).reduce((W,K)=>{return W[K]=Z[K],W},{});return Object.keys(U).reduce((W,K)=>{let A=b(Z[K]);if(Z[K]?.$type==="color"||Z[K].$property==="color")A=F(A,Z[K]);return[...Array.isArray(W)?W:[W],A]},[]).join(Y).trim()}function k($,X){let Y=(q)=>{if(q===void 0||q===null)return;if(typeof q==="object"&&"value"in q)return q.value;return q},Z=$.match(/^\{(.+)\}$/);if(Z){let q=Z[1],U=X.get(q);if(U===void 0)return`/* Unknown token: ${q} */`;let W=Y(U);if(W===void 0)return`/* Unknown token: ${q} */`;if(typeof W==="object"&&W!==null){let K=[];for(let A in W){if(A.startsWith("$"))continue;let G=W[A],E=typeof G==="object"&&G?.value!==void 0?G.value:G;if(typeof E==="string"&&E.match(/^\{.+\}$/))K.push(k(E,X));else K.push(String(E))}return K.join(" ")}if(typeof W==="string"&&W.match(/^\{.+\}$/))return k(W,X);return String(W)}if($.includes("{"))return $.replace(/\{([^}]+)\}/g,(q,U)=>{let W=X.get(U);if(W===void 0)return`/* Unknown token: ${U} */`;let K=Y(W);if(K===void 0)return`/* Unknown token: ${U} */`;if(typeof K==="object"&&K!==null)return`/* Cannot embed composite token: ${U} */`;if(typeof K==="string"&&K.match(/^\{.+\}$/))return k(K,X);return String(K)});return $}function JY($,X,Y,Z){return Object.keys(X??{}).reduce((U,W)=>{let K=X[W];if(typeof K==="string"||typeof K==="number")K={$value:K,$type:typeof K,value:K};if(K.$type=K.type||$?.original?.$value?.[W]?.type||K.$type||$.$type,!j(Z)&&c(K,"mode",{isIncludedOriginalValue:!0}))K.$value=g(K,Z);if(K?.$type==="composition"&&(typeof K.$value!=="string"||typeof K.$value!=="number"||D(K.$value))&&Object.keys(K).length>0){if(D(K.$value))return K.$value=y(K.$value,Y,Z,K),{...U,[W]:{...K,$property:W,$type:K.$type,$value:e(K,Y,Z)}};return{...U,[W]:{...K,$property:W,$type:K.$type,$value:e(K,Y,Z)}}}if(K?.$value){let G=y(K.$value,Y,Z,K);return{...U,[W]:{...K,$property:W,$type:K.$type,$value:G}}}return U},{})}function e($,X,Y){let Z=b($,{isIncludedOriginalValue:!0});if(typeof Z==="string"){if(D(Z)){if(Z=r$(Z,X,Y,$),!j(Y)&&c(Z,"mode",{isIncludedOriginalValue:!0}))Z.$value=g(Z,Y)}let q=Y$(Z);if(q&&(q?.length??0)>1)Z=$$(Z,q,X,Y)}else if(Array.isArray(Z))Z=Z.map((q)=>{if(typeof q==="string"&&D(q))return y(q,X,Y,$);return q});if(!$.name)return Z;return $.$value=JY($,Z,X,Y),r0($,Y)}var F$=S(()=>{T()});function b($,X){let{isIncludedOriginalValue:Y=!1,fallbackValue:Z=null}=X??{};if(Y)return $?.original?.$value??$?.$value??$.value??Z;return $?.$value??$?.value??Z}function g($,X){return X&&($?.$extensions?.mode?.[X]||typeof $?.$extensions?.mode?.[X]==="number")?$.$extensions.mode[X]:b($,{fallbackValue:$?.original?.$value??$?.$value??$?.value})??null}function c($,X,{isIncludedOriginalValue:Y=!1}={}){let Z=!1;if(Y&&$?.original?.$extensions?.[X])Z=!0;if($?.$extensions?.[X])Z=!0;return Z}function i$($,X,Y){let Z=b($,{isIncludedOriginalValue:!0});if(!j(Y)&&c($,"mode",{isIncludedOriginalValue:!0}))Z=g($,Y);if(D(Z))return a$(Z,X,Y,$);return Z}function $$($,X,Y,Z){let q=X.reduce((U,W)=>{let K=s$(W,Y);if(!K)return U;let A=b(K,{isIncludedOriginalValue:!0});if(D(A))A=y(`{${W}}`,Y,Z,K);return{...U,[W]:j$(K,A,Y,Z)}},{});return $?.replace(/\{([^}]+)\}/g,(U,W)=>{return q[W]!==void 0?q[W]:U})??null}function r$($,X,Y,Z){if(D($))return y($,X,Y,Z);return $}function s$($,X){return X.allTokens.find((Y)=>Y.path.join(".")===$)??null}function y($,X,Y,Z){let q=D($),U=null,W=$??b(Z),K=null;if(q){if(U=s$(q,X),Y&&U&&U?.$extensions?.mode?.[Y]!==U.original?.$extensions?.mode?.[Y])W=U.original?.$extensions?.mode?.[Y],K=U.original?.$extensions?.alpha??K;else if(U?.$extensions?.mode?.[Y])W=U.$extensions.mode[Y],K=U.$extensions?.alpha??K;else if(U?.original?.$value)W=U?.original.$value??U?.$value,K=U?.original.$extensions?.alpha??K}if(W!==$&&D(W))W=y(W,X,Y,Z);if(W&&(K||Z?.$extensions?.alpha||K===0||Z?.original?.$extensions?.alpha===0))K=K??Z?.$extensions?.alpha??null,W=W$(W,K);return W=F(W,U??Z),W??$}function a$($,X,Y,Z){let q=Z?.original?.$extensions?.mode?.[Y]??Z?.original?.$value,U=D(q);if(Y&&U){let W=X.allTokens.find((A)=>A.path.join(".")===U);if(!W)return $;let K=b(W);if(D(K))return a$(K,X,Y,W);if(W?.$extensions?.mode?.[Y])K=W.$extensions.mode[Y];if(K&&W?.$extensions?.alpha)K=W$(W.$value,W.$extensions.alpha);return F(K,W)??$}else if(q)return F(q,Z);return $}function D($){if(typeof $!=="string")return null;let X=/{[^}]+}/g,Y=$.match(X);if(Y?.length!==1)return null;return Y[0].slice(1,-1)}function Y$($){if(typeof $!=="string")return null;return[...$.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function X$($){return $}function z$($){return $}var n$=S(()=>{T()});var w2={};k$(w2,{wrapThemeValue:()=>L0,wrapFormatCSSFile:()=>H2,typographyFileName:()=>X2,tokensFileName:()=>$2,removeDirectoryContents:()=>G0,readConfigFile:()=>U$,namespaceUUID:()=>U2,iconsFileName:()=>Z2,getTokenfileName:()=>K2,getRelativePath:()=>O2,getRelativeCSSPath:()=>Q2,getRawTokensFileName:()=>A2,getProjectPaths:()=>m,getProjectModes:()=>A0,getProjectMetaData:()=>C,getProjectFonts:()=>SY,getLazyTokensConfig:()=>t$,getLazyProjectPaths:()=>E0,getLazyProjectModes:()=>A$,getLazyProjectMetaData:()=>_$,getLazyProjectFonts:()=>DY,getLazyProjectData:()=>l,getLazyIcons:()=>C$,getJSDocHeader:()=>E2,getIconDestinationFileName:()=>q$,getFiles:()=>P$,getFileHeader:()=>z0,getDistThemeFileDelimeter:()=>W2,getDistConfigFile:()=>S$,getDestinationFileName:()=>G2,getDefaultIconObjectPath:()=>q2,getCSSDestinationFileName:()=>z2,getBaseDirectory:()=>a,getBaseConfigFile:()=>L$,generatedFileHeader:()=>Z$,filterTokensByType:()=>D$,createFileHeaderTitle:()=>E$,compileConfigFile:()=>W0,combineCSSFiles:()=>_2,checkAndCreateDirectory:()=>s,breakpointFileName:()=>Y2});import{spawnSync as RY}from"child_process";import{existsSync as h,mkdirSync as MY,readFileSync as NY,unlinkSync as i0,writeFileSync as xY}from"fs";import{readdir as t0,rmdir as FY,unlink as jY}from"fs/promises";import{resolve as o0,join as N,basename as e0,normalize as s0,relative as a0,sep as o$,dirname as n0}from"path";async function q2(){return`${(await H$()).$metaData?.tokenNamespace||"tokens"}.icons`}async function W0($){let Y=N($,"designid.config.ts");if(h(N($,"designid.config.mjs")))i0(N($,"designid.config.mjs"));let Z=N($,"designid.config.js");if(h(Z))i0(Z);if(h(Y)){let q=RY("bun",["build",Y,"--outfile ./designid.config.mjs","--minify","--target","node","--packages","external","--no-bundle"],{stdio:"inherit",cwd:$,shell:!0});if(q.status!==0)console.error("Failed to compile designid.config.mjs with bun."),process.exit(q.status??1);if(q.status===0)return new Promise((U)=>U(!0))}}async function G0($){try{if(h($)){let X=await t0($,{withFileTypes:!0});for(let Y of X){let Z=N($,Y.name);if(Y.isDirectory())await G0(Z),await FY(Z);else await jY(Z)}}}catch(X){console.error(`Error removing contents of ${$}:`,X)}}async function P$($){let X=await t0($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=o0($,Z.name);return Z.isDirectory()?P$(q):q}));return Array.prototype.concat(...Y)}async function U2($){let{dsNamespace:X,tokenNamespace:Y}=await C();return`${(X??Y).toUpperCase()}DesignSystem${$.charAt(0).toUpperCase()+$.slice(1)}Tokens`}function K2($,X="d.ts",Y){if(!$)return`tokens.${Y}.config.${X}`;return N($,`tokens.${Y}.config.${X}`)}function W2($,X){return $.length>1?`.${X}`:""}async function G2($="d.ts",X){let{tokenNamespace:Y}=await C();if(X)return`${Y}-design-system.${X}.tokens.config.${$}`;return`${Y}-design-system.tokens.config.${$}`}async function q$($="json"){let{tokenNamespace:X}=await C();return`${X}-design-system.tokens.svg${$==="d.ts"||$==="js"?".config":""}.${$}`}async function z2(){let{tokenNamespace:$}=await C();return`${$}-design-system.tokens.css`}async function A2(){let{tokenNamespace:$}=await C();return`${$}-design-system-raw.tokens.json`}async function z0($){let{tokenNamespace:X}=await C();return`${X} | ${$}`}function E2($,X){return`/** @type {import("./${$}").${X}} */`}function E$($){return`/* ${z0($)} */`}function s($){if(!h($))MY($,{recursive:!0})}async function U$($,X=!1){let Y=L$(),Z;if(Y.endsWith(".json"))Z=JSON.parse(NY(Y,"utf8").trim()??"{}");else if(Y.endsWith(".ts"))if(typeof globalThis.Bun<"u"){if(Z=await import(Y),Z.default)Z=Z.default}else{$=$??n0(Y)+"/";let U=S$($);if(U&&(X||!h(U)))await W0($);if(Z=await import(U),Z.default)Z=Z.default}else{$=$??n0(Y)+"/";let q=S$($);if(q&&(X||!h(q)))await W0($);if(Z=await import(q),Z.default)Z=Z.default}return Z}async function a($=!1){let{baseDir:X}=await m(),Y=process.cwd(),q=N(Y,X),{buildDir:U,distDir:W}=await m();if($)try{s(N(q,U)),s(N(q,W))}catch(K){console.error("Error creating directories:",K)}return q}function S$($){return $?N($,"designid.config.mjs"):N(process.cwd(),"designid.config.mjs")}function L$(){let $=process.argv.find((K)=>K.startsWith("--config=")),[,X]=$?.split("=")??[];if(X)return X;let Y=process.cwd(),Z=S$(Y),q=N(Y,"designid.config.ts"),U=h(Z),W=h(q);if(U)return Z;else if(W)return q;throw console.error("Config file not found"),Error("Config file not found")}async function m($=!1){let X=L$(),Z=(await U$(process.cwd(),$)).$paths;if(!Z)throw console.error("Project paths not found"),Error("Project paths not found");return{configFile:X,...Z}}async function C(){let X=(await U$(process.cwd())).$metaData;if(!X)throw console.error("Project metaData not found"),Error("Project metaData not found");if(!X.colorspace)X.colorspace="hex";if(!X.fontNamespace)X.fontNamespace=`${X.dsNamespace}.font`;if(!X?.tokens?.css?.mediaQuery?.match)X={...X??{},tokens:{...X.tokens??{},css:{...X.tokens?.css??{},mediaQuery:{...X.tokens?.css?.mediaQuery??{},match:"[data-theme]"}}}};if(X?.tokens?.css?.mediaQuery&&typeof X.tokens.css.mediaQuery.separateThemeFiles!=="boolean")X.tokens.css.mediaQuery.separateThemeFiles=!1;if(!X.dsNamespace)X.dsNamespace=X.tokenNamespace;let Y=await q2();return{...X,icons:X.icons??{objectPath:Y},dsNamespace:X.dsNamespace}}async function A0(){return(await U$(process.cwd())).$modes??{default:"light"}}async function H$(){if(!e$){let $=L$();e$=await U$(process.cwd()),L2=$}return e$}async function A$(){if(!$0)$0=(await H$()).$modes??{default:"light"};return $0}async function _$(){if(!Y0){let X=(await H$()).$metaData;if(!X)throw console.error("Project metaData not found"),Error("Project metaData not found");if(!X.dsNamespace)X.dsNamespace=X.tokenNamespace;let Z=`${X.tokenNamespace||"tokens"}.icons`;Y0={...X,icons:X.icons??{objectPath:Z},dsNamespace:X.dsNamespace}}return Y0}async function E0($=!1){if(!X0){let Y=(await H$()).$paths;if(!Y)throw console.error("Project paths not found"),Error("Project paths not found");X0={configFile:L2,...Y}}return X0}async function l(){if(!Z0){let{distDir:$,assets:X,buildDir:Y}=await E0(!0),{fontNamespace:Z,tokenNamespace:q,icons:U}=await _$(),W=await a(),K=process.cwd(),A=N(K,$,"css");Z0={distDir:$,assets:X,fontNamespace:Z,__dirname:W,workspaceRoot:K,distCSSPath:A,buildDir:Y,tokenNamespace:q,icons:U}}return Z0}async function C$(){if(!q0){let{icons:$}=await _$();q0=$}return q0}async function t$(){if(!U0){let{tokens:$}=await _$();U0=$}return U0}async function SY(){return(await U$(process.cwd())).$fonts??[]}async function DY(){if(!K0)K0=(await H$()).$fonts??[];return K0}async function L0($){if(j($))return":root";let Y=(await C())?.tokens?.css?.mediaQuery?.match??"[data-theme]";if(Y.startsWith("[")&&Y.endsWith("]"))return`${Y.replace("]",`="${$}"]`)}`;else if(Y.startsWith(".")||Y.startsWith("#"))return`${Y}${$}`;else return`${Y}${$}`}async function H2($,X,Y,Z,q,U={}){let W;if(j(Y))W=X.allTokens;else W=$(X,Y);let A=(await C())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${E$(A)}
3
- ${Z$}`,E=j(Y)?`:root {
2
+ import{createRequire as R0}from"node:module";var O0=Object.create;var{getPrototypeOf:J0,defineProperty:rX,getOwnPropertyNames:B0}=Object;var I0=Object.prototype.hasOwnProperty;var w0=(X,Z,Y)=>{Y=X!=null?O0(J0(X)):{};let q=Z||!X||!X.__esModule?rX(Y,"default",{value:X,enumerable:!0}):Y;for(let $ of B0(X))if(!I0.call(q,$))rX(q,$,{get:()=>X[$],enumerable:!0});return q};var sX=(X,Z)=>{for(var Y in Z)rX(X,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:(q)=>Z[Y]=()=>q})};var S=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);var n=R0(import.meta.url);var sY={};sX(sY,{transformColorValueAsync:()=>x0,transformColorValue:()=>b,transformColorToken:()=>DX,setAlpha:()=>AX,isColor:()=>p,initializeColorspace:()=>F0});import iX from"colorjs.io";async function lY(){if(bX===null){let{colorspace:X}=await T();bX=X||"hex"}return bX}function N0(){return bX||"hex"}async function F0(){await lY()}function AX(X,Z){let Y=new iX(X);if(Z||Z===0)Y.alpha=Z/100;return b(Y)}function rY(X,Z){if(!X)return X;if(Z&&Z.type!=="color")return X;if(typeof X==="string")X=new iX(X);if(typeof X?.to!=="function")return X;let Y=N0();try{switch(Y){case"hex":return X.to("srgb").toString({format:"hex"});case"rgb":case"srgb":return X.to("srgb").toString();case"srgb-linear":return X.to("srgb-linear").toString();case"display-p3":case"p3":return X.to("p3").toString();case"a98rgb":case"a98-rgb":return X.to("a98rgb").toString();case"prophoto":case"prophoto-rgb":return X.to("prophoto").toString();case"rec2020":case"rec-2020":return X.to("rec2020").toString();case"xyz":case"xyz-d65":return X.to("xyz-d65").toString();case"xyz-d50":return X.to("xyz-d50").toString();case"lab":case"cielab":return X.to("lab").toString();case"lab-d65":return X.to("lab-d65").toString();case"oklab":return X.to("oklab").toString();case"lch":case"cielch":return X.to("lch").toString();case"oklch":return X.to("oklch").toString();case"hsl":return X.to("hsl").toString();case"hsv":case"hsb":return X.to("hsv").toString();case"hwb":return X.to("hwb").toString();case"luv":return X.to("luv").toString();case"lchuv":return X.to("lchuv").toString();case"jzazbz":return X.to("jzazbz").toString();case"jzczhz":return X.to("jzczhz").toString();case"ictcp":return X.to("ictcp").toString();default:return X.to(Y).toString()}}catch(q){return console.warn(`Unsupported colorspace '${Y}', falling back to hex. Error:`,q),X.to("srgb").toString({format:"hex"})}}async function x0(X,Z){return await lY(),rY(X,Z)}function b(X,Z){return rY(X,Z)}function DX(X,Z,Y,q){try{if(X=f(Z,q),Z.$type==="color"&&Z.original?.$value&&Z.original?.$value!==Z.$value){if(P(Z.original.$value))X=v(Z.original.$value,Y,q,Z);else X=C(Z);if(!D(q)&&Z.original?.$extensions?.mode?.[q])X=Z.original.$extensions.mode[q]}if(P(X))X=v(X,Y,q,Z);return b(X)}catch{return X=f(Z,q),b(X)}}function p(X){try{if(X)return new iX(X),!0;return!1}catch{return!1}}var bX=null;var EX=S(()=>{g()});function iY(X,Z){let Y=X.$extensions?.delimiter?.character||" ",q=f(X,Z)??{},$=X.$extensions?.sort??[],U=C(X)??{};if($.length>0)U=Object.keys(U).sort((W,K)=>{let z=$.indexOf(W),G=$.indexOf(K);return z-G}).reduce((W,K)=>{return W[K]=q[K],W},{});return Object.keys(U).reduce((W,K)=>{let z=C(q[K]);if(q[K]?.$type==="color"||q[K].$property==="color")z=b(z,q[K]);return[...Array.isArray(W)?W:[W],z]},[]).join(Y).trim()}function c(X,Z){let Y=($)=>{if($===void 0||$===null)return;if(typeof $==="object"&&"value"in $)return $.value;return $},q=X.match(/^\{(.+)\}$/);if(q){let $=q[1],U=Z.get($);if(U===void 0)return`/* Unknown token: ${$} */`;let W=Y(U);if(W===void 0)return`/* Unknown token: ${$} */`;if(typeof W==="object"&&W!==null){let K=[];for(let z in W){if(z.startsWith("$"))continue;let G=W[z],E=typeof G==="object"&&G?.value!==void 0?G.value:G;if(typeof E==="string"&&E.match(/^\{.+\}$/))K.push(c(E,Z));else K.push(String(E))}return K.join(" ")}if(typeof W==="string"&&W.match(/^\{.+\}$/))return c(W,Z);return String(W)}if(X.includes("{"))return X.replace(/\{([^}]+)\}/g,($,U)=>{let W=Z.get(U);if(W===void 0)return`/* Unknown token: ${U} */`;let K=Y(W);if(K===void 0)return`/* Unknown token: ${U} */`;if(typeof K==="object"&&K!==null)return`/* Cannot embed composite token: ${U} */`;if(typeof K==="string"&&K.match(/^\{.+\}$/))return c(K,Z);return String(K)});return X}function j0(X,Z,Y,q){return Object.keys(Z??{}).reduce((U,W)=>{let K=Z[W];if(typeof K==="string"||typeof K==="number")K={$value:K,$type:typeof K,value:K};if(K.$type=K.type||X?.original?.$value?.[W]?.type||K.$type||X.$type,!D(q)&&l(K,"mode",{isIncludedOriginalValue:!0}))K.$value=f(K,q);if(K?.$type==="composition"&&(typeof K.$value!=="string"||typeof K.$value!=="number"||P(K.$value))&&Object.keys(K).length>0){if(P(K.$value))return K.$value=v(K.$value,Y,q,K),{...U,[W]:{...K,$property:W,$type:K.$type,$value:ZX(K,Y,q)}};return{...U,[W]:{...K,$property:W,$type:K.$type,$value:ZX(K,Y,q)}}}if(K?.$value){let G=v(K.$value,Y,q,K);return{...U,[W]:{...K,$property:W,$type:K.$type,$value:G}}}return U},{})}function ZX(X,Z,Y){let q=C(X,{isIncludedOriginalValue:!0});if(typeof q==="string"){if(P(q)){if(q=aX(q,Z,Y,X),!D(Y)&&l(q,"mode",{isIncludedOriginalValue:!0}))q.$value=f(q,Y)}let $=$X(q);if($&&($?.length??0)>1)q=qX(q,$,Z,Y)}else if(Array.isArray(q))q=q.map(($)=>{if(typeof $==="string"&&P($))return v($,Z,Y,X);return $});if(!X.name)return q;return X.$value=j0(X,q,Z,Y),iY(X,Y)}var SX=S(()=>{g()});function C(X,Z){let{isIncludedOriginalValue:Y=!1,fallbackValue:q=null}=Z??{};if(Y)return X?.original?.$value??X?.$value??X.value??q;return X?.$value??X?.value??q}function f(X,Z){return Z&&(X?.$extensions?.mode?.[Z]||typeof X?.$extensions?.mode?.[Z]==="number")?X.$extensions.mode[Z]:C(X,{fallbackValue:X?.original?.$value??X?.$value??X?.value})??null}function l(X,Z,{isIncludedOriginalValue:Y=!1}={}){let q=!1;if(Y&&X?.original?.$extensions?.[Z])q=!0;if(X?.$extensions?.[Z])q=!0;return q}function nX(X,Z,Y){let q=C(X,{isIncludedOriginalValue:!0});if(!D(Y)&&l(X,"mode",{isIncludedOriginalValue:!0}))q=f(X,Y);if(P(q))return oX(q,Z,Y,X);return q}function qX(X,Z,Y,q){let $=Z.reduce((U,W)=>{let K=tX(W,Y);if(!K)return U;let z=C(K,{isIncludedOriginalValue:!0});if(P(z))z=v(`{${W}}`,Y,q,K);return{...U,[W]:PX(K,z,Y,q)}},{});return X?.replace(/\{([^}]+)\}/g,(U,W)=>{return $[W]!==void 0?$[W]:U})??null}function aX(X,Z,Y,q){if(P(X))return v(X,Z,Y,q);return X}function tX(X,Z){return Z.allTokens.find((Y)=>Y.path.join(".")===X)??null}function v(X,Z,Y,q){let $=P(X),U=null,W=X??C(q),K=null;if($){if(U=tX($,Z),Y&&U&&U?.$extensions?.mode?.[Y]!==U.original?.$extensions?.mode?.[Y])W=U.original?.$extensions?.mode?.[Y],K=U.original?.$extensions?.alpha??K;else if(U?.$extensions?.mode?.[Y])W=U.$extensions.mode[Y],K=U.$extensions?.alpha??K;else if(U?.original?.$value)W=U?.original.$value??U?.$value,K=U?.original.$extensions?.alpha??K}if(W!==X&&P(W))W=v(W,Z,Y,q);if(W&&(K||q?.$extensions?.alpha||K===0||q?.original?.$extensions?.alpha===0))K=K??q?.$extensions?.alpha??null,W=AX(W,K);return W=b(W,U??q),W??X}function oX(X,Z,Y,q){let $=q?.original?.$extensions?.mode?.[Y]??q?.original?.$value,U=P($);if(Y&&U){let W=Z.allTokens.find((z)=>z.path.join(".")===U);if(!W)return X;let K=C(W);if(P(K))return oX(K,Z,Y,W);if(W?.$extensions?.mode?.[Y])K=W.$extensions.mode[Y];if(K&&W?.$extensions?.alpha)K=AX(W.$value,W.$extensions.alpha);return b(K,W)??X}else if($)return b($,q);return X}function P(X){if(typeof X!=="string")return null;let Z=/{[^}]+}/g,Y=X.match(Z);if(Y?.length!==1)return null;return Y[0].slice(1,-1)}function $X(X){if(typeof X!=="string")return null;return[...X.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function UX(X){return X}function LX(X){return X}var eX=S(()=>{g()});var IZ={};sX(IZ,{wrapThemeValue:()=>QY,wrapFormatCSSFile:()=>QZ,typographyFileName:()=>$Z,tokensFileName:()=>ZZ,removeDirectoryContents:()=>EY,readConfigFile:()=>GX,namespaceUUID:()=>WZ,iconsFileName:()=>UZ,getTokenfileName:()=>GZ,getRelativePath:()=>BZ,getRelativeCSSPath:()=>JZ,getRawTokensFileName:()=>LZ,getProjectPaths:()=>d,getProjectModes:()=>HY,getProjectMetaData:()=>T,getProjectFonts:()=>T0,getLazyTokensConfig:()=>XY,getLazyProjectPaths:()=>_Y,getLazyProjectModes:()=>HX,getLazyProjectMetaData:()=>JX,getLazyProjectFonts:()=>y0,getLazyProjectData:()=>r,getLazyIcons:()=>gX,getJSDocHeader:()=>HZ,getIconDestinationFileName:()=>WX,getFiles:()=>yX,getFileHeader:()=>LY,getDistThemeFileDelimeter:()=>zZ,getDistConfigFile:()=>CX,getDestinationFileName:()=>AZ,getDefaultIconObjectPath:()=>KZ,getCSSDestinationFileName:()=>EZ,getBaseDirectory:()=>o,getBaseConfigFile:()=>QX,generatedFileHeader:()=>KX,filterTokensByType:()=>VX,createFileHeaderTitle:()=>_X,compileConfigFile:()=>AY,combineCSSFiles:()=>OZ,checkAndCreateDirectory:()=>t,breakpointFileName:()=>qZ});import{spawnSync as b0}from"child_process";import{existsSync as h,mkdirSync as D0,readFileSync as S0,unlinkSync as aY,writeFileSync as P0}from"fs";import{readdir as eY,rmdir as C0,unlink as V0}from"fs/promises";import{resolve as XZ,join as x,basename as YZ,normalize as nY,relative as tY,sep as YY,dirname as oY}from"path";async function KZ(){return`${(await OX()).$metaData?.tokenNamespace||"tokens"}.icons`}async function AY(X){let Y=x(X,"designid.config.ts");if(h(x(X,"designid.config.mjs")))aY(x(X,"designid.config.mjs"));let q=x(X,"designid.config.js");if(h(q))aY(q);if(h(Y)){let $=b0("bun",["build",Y,"--outfile ./designid.config.mjs","--minify","--target","node","--packages","external","--no-bundle"],{stdio:"inherit",cwd:X,shell:!0});if($.status!==0)console.error("Failed to compile designid.config.mjs with bun."),process.exit($.status??1);if($.status===0)return new Promise((U)=>U(!0))}}async function EY(X){try{if(h(X)){let Z=await eY(X,{withFileTypes:!0});for(let Y of Z){let q=x(X,Y.name);if(Y.isDirectory())await EY(q),await C0(q);else await V0(q)}}}catch(Z){console.error(`Error removing contents of ${X}:`,Z)}}async function yX(X){let Z=await eY(X,{withFileTypes:!0}),Y=await Promise.all(Z.map((q)=>{let $=XZ(X,q.name);return q.isDirectory()?yX($):$}));return Array.prototype.concat(...Y)}async function WZ(X){let{dsNamespace:Z,tokenNamespace:Y}=await T();return`${(Z??Y).toUpperCase()}DesignSystem${X.charAt(0).toUpperCase()+X.slice(1)}Tokens`}function GZ(X,Z="d.ts",Y){if(!X)return`tokens.${Y}.config.${Z}`;return x(X,`tokens.${Y}.config.${Z}`)}function zZ(X,Z){return X.length>1?`.${Z}`:""}async function AZ(X="d.ts",Z){let{tokenNamespace:Y}=await T();if(Z)return`${Y}-design-system.${Z}.tokens.config.${X}`;return`${Y}-design-system.tokens.config.${X}`}async function WX(X="json"){let{tokenNamespace:Z}=await T();return`${Z}-design-system.tokens.svg${X==="d.ts"||X==="js"?".config":""}.${X}`}async function EZ(){let{tokenNamespace:X}=await T();return`${X}-design-system.tokens.css`}async function LZ(){let{tokenNamespace:X}=await T();return`${X}-design-system-raw.tokens.json`}async function LY(X){let{tokenNamespace:Z}=await T();return`${Z} | ${X}`}function HZ(X,Z){return`/** @type {import("./${X}").${Z}} */`}function _X(X){return`/* ${LY(X)} */`}function t(X){if(!h(X))D0(X,{recursive:!0})}async function GX(X,Z=!1){let Y=QX(),q;if(Y.endsWith(".json"))q=JSON.parse(S0(Y,"utf8").trim()??"{}");else if(Y.endsWith(".ts"))if(typeof globalThis.Bun<"u"){if(q=await import(Y),q.default)q=q.default}else{X=X??oY(Y)+"/";let U=CX(X);if(U&&(Z||!h(U)))await AY(X);if(q=await import(U),q.default)q=q.default}else{X=X??oY(Y)+"/";let $=CX(X);if($&&(Z||!h($)))await AY(X);if(q=await import($),q.default)q=q.default}return q}async function o(X=!1){let{baseDir:Z}=await d(),Y=process.cwd(),$=x(Y,Z),{buildDir:U,distDir:W}=await d();if(X)try{t(x($,U)),t(x($,W))}catch(K){console.error("Error creating directories:",K)}return $}function CX(X){return X?x(X,"designid.config.mjs"):x(process.cwd(),"designid.config.mjs")}function QX(){let X=process.argv.find((K)=>K.startsWith("--config=")),[,Z]=X?.split("=")??[];if(Z)return Z;let Y=process.cwd(),q=CX(Y),$=x(Y,"designid.config.ts"),U=h(q),W=h($);if(U)return q;else if(W)return $;throw console.error("Config file not found"),Error("Config file not found")}async function d(X=!1){let Z=QX(),q=(await GX(process.cwd(),X)).$paths;if(!q)throw console.error("Project paths not found"),Error("Project paths not found");return{configFile:Z,...q}}async function T(){let Z=(await GX(process.cwd())).$metaData;if(!Z)throw console.error("Project metaData not found"),Error("Project metaData not found");if(!Z.colorspace)Z.colorspace="hex";if(!Z.fontNamespace)Z.fontNamespace=`${Z.dsNamespace}.font`;if(!Z?.tokens?.css?.mediaQuery?.match)Z={...Z??{},tokens:{...Z.tokens??{},css:{...Z.tokens?.css??{},mediaQuery:{...Z.tokens?.css?.mediaQuery??{},match:"[data-theme]"}}}};if(Z?.tokens?.css?.mediaQuery&&typeof Z.tokens.css.mediaQuery.separateThemeFiles!=="boolean")Z.tokens.css.mediaQuery.separateThemeFiles=!1;if(!Z.dsNamespace)Z.dsNamespace=Z.tokenNamespace;let Y=await KZ();return{...Z,icons:Z.icons??{objectPath:Y},dsNamespace:Z.dsNamespace}}async function HY(){return(await GX(process.cwd())).$modes??{default:"light"}}async function OX(){if(!ZY){let X=QX();ZY=await GX(process.cwd()),_Z=X}return ZY}async function HX(){if(!qY)qY=(await OX()).$modes??{default:"light"};return qY}async function JX(){if(!$Y){let Z=(await OX()).$metaData;if(!Z)throw console.error("Project metaData not found"),Error("Project metaData not found");if(!Z.dsNamespace)Z.dsNamespace=Z.tokenNamespace;let q=`${Z.tokenNamespace||"tokens"}.icons`;$Y={...Z,icons:Z.icons??{objectPath:q},dsNamespace:Z.dsNamespace}}return $Y}async function _Y(X=!1){if(!UY){let Y=(await OX()).$paths;if(!Y)throw console.error("Project paths not found"),Error("Project paths not found");UY={configFile:_Z,...Y}}return UY}async function r(){if(!KY){let{distDir:X,assets:Z,buildDir:Y}=await _Y(!0),{fontNamespace:q,tokenNamespace:$,icons:U}=await JX(),W=await o(),K=process.cwd(),z=x(K,X,"css");KY={distDir:X,assets:Z,fontNamespace:q,__dirname:W,workspaceRoot:K,distCSSPath:z,buildDir:Y,tokenNamespace:$,icons:U}}return KY}async function gX(){if(!WY){let{icons:X}=await JX();WY=X}return WY}async function XY(){if(!GY){let{tokens:X}=await JX();GY=X}return GY}async function T0(){return(await GX(process.cwd())).$fonts??[]}async function y0(){if(!zY)zY=(await OX()).$fonts??[];return zY}async function QY(X){if(D(X))return":root";let Y=(await T())?.tokens?.css?.mediaQuery?.match??"[data-theme]";if(Y.startsWith("[")&&Y.endsWith("]"))return`${Y.replace("]",`="${X}"]`)}`;else if(Y.startsWith(".")||Y.startsWith("#"))return`${Y}${X}`;else return`${Y}${X}`}async function QZ(X,Z,Y,q,$,U={}){let W;if(D(Y))W=Z.allTokens;else W=X(Z,Y);let z=(await T())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${_X(z)}
3
+ ${KX}`,E=D(Y)?`:root {
4
4
  `:`@media (123prefers-color-scheme: ${Y}) {
5
5
  :root {
6
- `,z=`${G}
6
+ `,A=`${G}
7
7
 
8
- ${E}`;if(W.forEach((L)=>{if(D$(L,U,q))return;let H=b$(L,X,Y);if(U.transformValue)H=U.transformValue(H);H=z$(H),z+=`${!j(Y)?" ":" "}--${X$(L.name)}: ${H};
9
- `}),Array.isArray(Z)&&Z.length>1){let L=`
10
- `;for(let H of Z){if(Y===H)continue;let _=await L0(H);L+=`${!j(Y)?" ":" "}&${_} {
11
- `,$(X,H).forEach((w)=>{if(D$(w,U,q))return;let O=b$(w,X,H);if(U.transformValue)O=U.transformValue(O);O=z$(O),L+=`${!j(Y)?" ":" "}--${X$(w.name)}: ${O};
12
- `}),L+=`${!j(Y)?" ":" "}}
8
+ ${E}`;if(W.forEach((L)=>{if(VX(L,U,$))return;let H=TX(L,Z,Y);if(U.transformValue)H=U.transformValue(H);H=LX(H),A+=`${!D(Y)?" ":" "}--${UX(L.name)}: ${H};
9
+ `}),Array.isArray(q)&&q.length>1){let L=`
10
+ `;for(let H of q){if(Y===H)continue;let _=await QY(H);L+=`${!D(Y)?" ":" "}&${_} {
11
+ `,X(Z,H).forEach((J)=>{if(VX(J,U,$))return;let O=TX(J,Z,H);if(U.transformValue)O=U.transformValue(O);O=LX(O),L+=`${!D(Y)?" ":" "}--${UX(J.name)}: ${O};
12
+ `}),L+=`${!D(Y)?" ":" "}}
13
13
 
14
- `}z+=L}return z+=!j(Y)?` }
14
+ `}A+=L}return A+=!D(Y)?` }
15
15
  `:`}
16
- `,z+=!j(Y)?`}
17
- `:"",z}function D$($,X,Y){let{namespace:Z}=X.filter??{};if(!$.$type)return!0;if(Z?.length&&$.path){let q=$.path.join("."),U=Z.some((K)=>q.startsWith(K)),W=X.filter?.isInclusion!==void 0&&X.filter.isInclusion;return U&&!W||!U&&W}if(X.filter?.isInclusion!==void 0&&X.filter.isInclusion===!1){if($.$type&&!Y.includes($.$type))return!0}else if(!$.$type||Y.includes($.$type))return!0;return!1}async function _2(){let $=await A0(),{baseDir:X,distDir:Y}=await m(),Z=await P$(N(X,Y,"css")),q=N(X,Y,await z2()),U=Z$+`
16
+ `,A+=!D(Y)?`}
17
+ `:"",A}function VX(X,Z,Y){let{namespace:q}=Z.filter??{};if(!X.$type)return!0;if(q?.length&&X.path){let $=X.path.join("."),U=q.some((K)=>$.startsWith(K)),W=Z.filter?.isInclusion!==void 0&&Z.filter.isInclusion;return U&&!W||!U&&W}if(Z.filter?.isInclusion!==void 0&&Z.filter.isInclusion===!1){if(X.$type&&!Y.includes(X.$type))return!0}else if(!X.$type||Y.includes(X.$type))return!0;return!1}async function OZ(){let X=await HY(),{baseDir:Z,distDir:Y}=await d(),q=await yX(x(Z,Y,"css")),$=x(Z,Y,await EZ()),U=KX+`
18
18
 
19
- `,W=[{name:Z2,order:100},{name:$2,order:200},{name:X2,order:300},{name:Y2,order:400}];if(Z=Z.sort((K,A)=>{let G=(E)=>{let z=e0(E,".css"),L=W.find((H)=>z.includes(H.name));for(let H in $)if(z.includes(H)){let _=$[H]===$.default?1:2;return L?L.order+_:0}return L?L.order:0};return G(K)-G(A)}),Z.forEach((K)=>{if(K.endsWith(".css")){let G=`@import url("${Q2(K,X,Y)}");`;U+=G+`
20
- `}}),!h(N(X,Y)))s(N(X,Y));xY(q,U)}function Q2($,X,Y){let Z=o0(X,Y);return $.startsWith(Z)?$.slice(Z.length+1):$}function O2($,X,Y,Z){let q=s0($),U=e0(s0(X)),W=q.split(o$),K=W.lastIndexOf(U);if(U===".")return a0(Y,Z).split(o$).join("/");else if(K===-1)throw Error(`Base directory '${U}' not found in '${q}'`);let A=N(...W.slice(0,K+1)),G=N(A,Y),E=N(A,Z);return a0(G,E).split(o$).join("/")}var $2="tokens",Y2="breakpoints",X2="typography",Z2="icons",Z$=`/*
19
+ `,W=[{name:UZ,order:100},{name:ZZ,order:200},{name:$Z,order:300},{name:qZ,order:400}];if(q=q.sort((K,z)=>{let G=(E)=>{let A=YZ(E,".css"),L=W.find((H)=>A.includes(H.name));for(let H in X)if(A.includes(H)){let _=X[H]===X.default?1:2;return L?L.order+_:0}return L?L.order:0};return G(K)-G(z)}),q.forEach((K)=>{if(K.endsWith(".css")){let G=`@import url("${JZ(K,Z,Y)}");`;U+=G+`
20
+ `}}),!h(x(Z,Y)))t(x(Z,Y));P0($,U)}function JZ(X,Z,Y){let q=XZ(Z,Y);return X.startsWith(q)?X.slice(q.length+1):X}function BZ(X,Z,Y,q){let $=nY(X),U=YZ(nY(Z)),W=$.split(YY),K=W.lastIndexOf(U);if(U===".")return tY(Y,q).split(YY).join("/");else if(K===-1)throw Error(`Base directory '${U}' not found in '${$}'`);let z=x(...W.slice(0,K+1)),G=x(z,Y),E=x(z,q);return tY(G,E).split(YY).join("/")}var ZZ="tokens",qZ="breakpoints",$Z="typography",UZ="icons",KX=`/*
21
21
  * This file is automatically generated.
22
22
  * DO NOT EDIT THIS FILE DIRECTLY.
23
23
  * Changes will be overwritten. Please update the source design tokens instead.
24
- */`,e$=null,L2=null,$0=null,Y0=null,X0=null,Z0=null,q0=null,U0=null,K0=null;var Q$=S(()=>{T()});function j($){return $===H0}var H0="light";var B2=S(()=>{Q$()});async function _0($){let X=await C$();$=$.replace(/<\?xml[^>]*\?>\s*/,""),$=$.replace(/<!DOCTYPE [^>]*>\s*/,"");let Y=$.match(/<svg[^>]*>/),Z=$.match(/viewBox="([\d\s.]+)"/),[q]=Y??[],U=q;if(q&&U){let K=X?.style?.fill,A=/id="[^"]*"/.test(q);if(!U.includes("xmlns="))U=U.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');if(!A&&K)U=U.replace("<svg",`<svg id="${K}"`);else if(A&&K)U=U.replace(/id="[^"]*"/,`id="${K}"`)}if(Z&&q&&U){let K=Z[1].split(" ").map(Number),A=K[2],G=K[3],E=X?.size??24,z=A/G*E;$=$.replace(/height="[\d.]+px?"/,`height="${E}px"`),$=$.replace(/width="[\d.]+px?"/,`width="${z}px"`);let L=/width="[\d.]+(px)?"/.test(q),H=/height="[\d.]+(px)?"/.test(q);if(!L)U=U.replace("<svg",`<svg width="${z}px"`);else U=U.replace(/width="[\d.]+(px)?"/,`width="${z}px"`);if(!H)U=U.replace("<svg",`<svg height="${E}px"`);else U=U.replace(/height="[\d.]+(px)?"/,`height="${E}px"`);$=$.replace(q,U)}if(!$?.match(/data-style="([^"]*)"/)&&X?.style?.type)$=$.replace("<svg ",`<svg data-style="${X.style.type}" `);return $}var I2=S(()=>{T()});var J2=S(()=>{Q$();T()});import{copyFileSync as CY,existsSync as VY,mkdirSync as R2,statSync as TY}from"fs";import{writeFile as gY}from"fs/promises";import{join as V,relative as yY}from"path";async function Q0($,X){try{let{assets:Y,workspaceRoot:Z,distDir:q,__dirname:U}=await l(),W=Y?.fonts?.sourceDir?V(U,Y.fonts.sourceDir):null,K=V("assets","fonts"),A=V(Z,q),G=Y?.fonts?.distDir?V(A,Y.fonts.distDir.replace(/^\.\//,"")):V(A,K);if(!$||!W)return;let E="",z=X&&Y?.fonts?.distDir?V(X,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let Q of $){if(!Q)continue;if(E+=`/**** ${Q.family} ${Q.style} ****/
24
+ */`,ZY=null,_Z=null,qY=null,$Y=null,UY=null,KY=null,WY=null,GY=null,zY=null;var BX=S(()=>{g()});function D(X){return X===OY}var OY="light";var wZ=S(()=>{BX()});async function JY(X){let Z=await gX();X=X.replace(/<\?xml[^>]*\?>\s*/,""),X=X.replace(/<!DOCTYPE [^>]*>\s*/,"");let Y=X.match(/<svg[^>]*>/),q=X.match(/viewBox="([\d\s.]+)"/),[$]=Y??[],U=$;if($&&U){let K=Z?.style?.fill||Z?.style?.stroke?.color,z=/id="[^"]*"/.test($);if(!U.includes("xmlns="))U=U.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');if(!z&&K)U=U.replace("<svg",`<svg id="${K}"`);else if(z&&K)U=U.replace(/id="[^"]*"/,`id="${K}"`)}if(q&&$&&U){let K=q[1].split(" ").map(Number),z=K[2],G=K[3],E=Z?.size??24,A=z/G*E;X=X.replace(/height="[\d.]+px?"/,`height="${E}px"`),X=X.replace(/width="[\d.]+px?"/,`width="${A}px"`);let L=/width="[\d.]+(px)?"/.test($),H=/height="[\d.]+(px)?"/.test($);if(!L)U=U.replace("<svg",`<svg width="${A}px"`);else U=U.replace(/width="[\d.]+(px)?"/,`width="${A}px"`);if(!H)U=U.replace("<svg",`<svg height="${E}px"`);else U=U.replace(/height="[\d.]+(px)?"/,`height="${E}px"`);X=X.replace($,U)}if(!X?.match(/data-style="([^"]*)"/)&&Z?.style?.type)X=X.replace("<svg ",`<svg data-style="${Z.style.type}" `);if(Z?.style?.type)X=g0(X,Z.style);return X}function g0(X,Z){switch(Z.type){case"mono":if(X=X.replace(/stroke="[^"]*"/g,""),X=X.replace(/stroke-width="[^"]*"/g,""),X=X.replace(/stroke-linecap="[^"]*"/g,""),X=X.replace(/stroke-linejoin="[^"]*"/g,""),X=X.replace(/fill="none"/g,'fill="currentColor"'),Z.fill&&!X.includes("fill="))X=X.replace("<svg",'<svg fill="currentColor"');else if(Z.fill)X=X.replace(/fill="(?!currentColor)[^"]*"/g,'fill="currentColor"');break;case"stroke":if(Z.stroke){let{color:q,width:$,linecap:U,linejoin:W}=Z.stroke;if(q){if(X=X.replace(/stroke="[^"]*"/g,'stroke="currentColor"'),!X.includes("stroke="))X=X.replace("<svg",'<svg stroke="currentColor"')}if($!==void 0){let K=typeof $==="number"?`${$}`:$;if(X=X.replace(/stroke-width="[^"]*"/g,`stroke-width="${K}"`),!X.includes("stroke-width="))X=X.replace("<svg",`<svg stroke-width="${K}"`)}if(U){if(X=X.replace(/stroke-linecap="[^"]*"/g,`stroke-linecap="${U}"`),!X.includes("stroke-linecap="))X=X.replace("<svg",`<svg stroke-linecap="${U}"`)}if(W){if(X=X.replace(/stroke-linejoin="[^"]*"/g,`stroke-linejoin="${W}"`),!X.includes("stroke-linejoin="))X=X.replace("<svg",`<svg stroke-linejoin="${W}"`)}if(!X.includes("fill="))X=X.replace("<svg",'<svg fill="none"')}break;case"fill":if(X=X.replace(/stroke="[^"]*"/g,""),X=X.replace(/stroke-width="[^"]*"/g,""),Z.fill){if(X=X.replace(/fill="[^"]*"/g,'fill="currentColor"'),!X.includes("fill="))X=X.replace("<svg",'<svg fill="currentColor"')}break;case"animated":case"custom":break;default:break}return X}var RZ=S(()=>{g()});var MZ=S(()=>{BX();g()});import{copyFileSync as h0,existsSync as m0,mkdirSync as NZ,statSync as p0}from"fs";import{writeFile as d0}from"fs/promises";import{join as y,relative as u0}from"path";async function BY(X,Z){try{let{assets:Y,workspaceRoot:q,distDir:$,__dirname:U}=await r(),W=Y?.fonts?.sourceDir?y(U,Y.fonts.sourceDir):null,K=y("assets","fonts"),z=y(q,$),G=Y?.fonts?.distDir?y(z,Y.fonts.distDir.replace(/^\.\//,"")):y(z,K);if(!X||!W)return;let E="",A=Z&&Y?.fonts?.distDir?y(Z,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let Q of X){if(!Q)continue;if(E+=`/**** ${Q.family} ${Q.style} ****/
25
25
  `,Q.linkHref){let O=await(await fetch(Q.linkHref)).text();E+=`${O.replace(/\s+/g," ").replace(/:\s+/g,":")}
26
- `}else if(Q?.src&&W){let w=Q.directory??Q.family.toLowerCase().replace(/\s+/g,"-"),O=V(W,w,Q.src);try{if(!VY(O)||!TY(O).isFile()){console.warn(`Font file not found: ${O}`);continue}}catch{console.warn(`Error accessing font file: ${O}`);continue}try{R2(V(z,w),{recursive:!0}),CY(V(W,w,Q.src),V(z,w,Q.src))}catch(I){console.warn(`Error copying font file ${Q.src}:`,I instanceof Error?I.message:I);continue}let B;if(Y?.fonts?.cssImportPath)B=V(Y.fonts.cssImportPath,w,Q.src).replace(/\\/g,"/");else{let{distCSSPath:I}=await l(),J=X?V(X,"css"):I,R=yY(J,z);B=V(R,w,Q.src).replace(/\\/g,"/")}E+=`@font-face {
26
+ `}else if(Q?.src&&W){let J=Q.directory??Q.family.toLowerCase().replace(/\s+/g,"-"),O=y(W,J,Q.src);try{if(!m0(O)||!p0(O).isFile()){console.warn(`Font file not found: ${O}`);continue}}catch{console.warn(`Error accessing font file: ${O}`);continue}try{NZ(y(A,J),{recursive:!0}),h0(y(W,J,Q.src),y(A,J,Q.src))}catch(R){console.warn(`Error copying font file ${Q.src}:`,R instanceof Error?R.message:R);continue}let B;if(Y?.fonts?.cssImportPath)B=y(Y.fonts.cssImportPath,J,Q.src).replace(/\\/g,"/");else{let{distCSSPath:R}=await r(),I=Z?y(Z,"css"):R,w=u0(I,A);B=y(w,J,Q.src).replace(/\\/g,"/")}E+=`@font-face {
27
27
  font-family: "${Q.family}";
28
28
  font-style: ${Q.faceStyle};
29
29
  font-weight: ${Q.weight};
30
30
  src: url("${B}") format("${Q.format}");
31
31
  }
32
- `}}let{distCSSPath:L}=await l(),H=X?V(X,"css"):L,_=`${H}/fonts.css`;R2(H,{recursive:!0}),await gY(_,E,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var O0=S(()=>{T()});function O$($){if(typeof $!=="string"||!$.startsWith("{")||!$.endsWith("}"))return!1;let X=$.slice(1,-1);return!X.includes("{")&&!X.includes("}")&&X.trim()!==""}function w$($){if(typeof $!=="string")return!1;let X=/\{[^}]+\}/g,Y=$.match(X);return!!(Y&&Y.length>0&&$.length>Y.join("").length)}function V$($){let X=[],Y=/\{[^}]+\}/g,Z=0,q;while((q=Y.exec($))!==null){if(q.index>Z){let W=$.slice(Z,q.index);if(W)X.push({type:"literal",value:W})}let U=q[0];if(U.startsWith("{#/"))X.push({type:"reference",value:U,ref:{$ref:U.slice(2,-1)}});else X.push({type:"reference",value:U,ref:U});Z=q.index+q[0].length}if(Z<$.length){let U=$.slice(Z);if(U)X.push({type:"literal",value:U})}return X}function M2($){return!!$.$extensions?.$mode}function N2($){return!!($.$extensions?.$generators&&Array.isArray($.$extensions.$generators))}function x2($){return!!($.$extensions?.$breakpoints&&typeof $.$extensions.$breakpoints==="object")}function F2($,X){return`${$}${X}`}function j2($){return typeof $==="object"&&$!==null&&"$value"in $}function S2($){return typeof $==="object"&&$!==null&&!("$value"in $)}var D2=()=>{};function b2($){if(typeof $!=="string")return!1;let X=$.trim();return X.startsWith("<svg")&&X.includes("</svg>")}function P2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/png;base64,")||$.startsWith("iVBORw0KGgo")}function C2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,")||$.startsWith("/9j/")}function vY($){let X=$.trim();return X=X.replace(/\s+/g," ").replace(/>\s+</g,"><").trim(),`data:image/svg+xml;base64,${Buffer.from(X,"utf-8").toString("base64")}`}function fY($){if($.startsWith("data:image/png;base64,"))return $;return`data:image/png;base64,${$}`}function pY($){if($.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,"))return $;return`data:image/jpeg;base64,${$}`}function B$($){if(!$||typeof $!=="string")return $;if($.startsWith("data:"))return $;if(b2($))return vY($);else if(P2($))return fY($);else if(C2($))return pY($);return $}function mY($){if(typeof $!=="string")return!1;return $.startsWith("data:image/svg+xml;")||$.startsWith("data:image/png;")||$.startsWith("data:image/jpeg;")||$.startsWith("data:image/jpg;")||$.startsWith("data:image/gif;")||$.startsWith("data:image/webp;")}function d($){return b2($)||P2($)||C2($)||mY($)}import{readFileSync as dY,readdirSync as uY,statSync as kY}from"fs";import{join as cY}from"path";import T2 from"colorjs.io";function B0($){let X={};function Y(Z){let q=uY(Z);for(let U of q){let W=cY(Z,U);if(kY(W).isDirectory())Y(W);else if(U.endsWith(".tokens.json"))try{let A=dY(W,"utf-8");if(!A.trim())continue;let G=JSON.parse(A);g2(X,G)}catch(A){console.warn(`Failed to load token file: ${W}`,A)}}}return Y($),X}function g2($,X){for(let Y in X)if(X[Y]&&typeof X[Y]==="object"&&!Array.isArray(X[Y])){if(!$[Y])$[Y]={};g2($[Y],X[Y])}else $[Y]=X[Y]}function I0($,X={}){let Y=[];function Z(q,U=[]){for(let[W,K]of Object.entries(q)){if(W.startsWith("$"))continue;let A=[...U,W],G=A.join(".");if(j2(K)){let E={path:A,name:G,type:K.$type,value:K.$value,description:K.$description,extensions:K.$extensions?{mode:M2(K)?K.$extensions.$mode:K.$extensions.mode?K.$extensions.mode:void 0,generators:N2(K)?K.$extensions.$generators:K.$extensions.generators?K.$extensions.generators:void 0,breakpoints:x2(K)?K.$extensions.$breakpoints:K.$extensions.breakpoint?K.$extensions.breakpoint:void 0,...Object.fromEntries(Object.entries(K.$extensions).filter(([z])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(z)))}:void 0,original:K};if(!X.namespace||G.startsWith(X.namespace))Y.push(E)}else if(S2(K))Z(K,A)}}return Z($),Y}function J0($,X={}){let Y=[...$],Z=new Map($.map((G)=>[G.name,G]));if(X.generateModes||X.generateDerivedTokens||X.generateBreakpointTokens)for(let G of $){let E=V2(G,X,Z);if(Y.push(...E),X.generateModes){for(let z of E)if(z.extensions?.mode&&!z.name.includes("#")){let L=V2(z,X,Z);Y.push(...L)}}}let q=X.modes||[],U=q.length>0?q[0]:void 0,W={tokens:new Map(Y.map((G)=>[G.name,G])),mode:X.generateModes?U:void 0,options:X,brokenReferences:[]},K=[];for(let G of Y){let E=void 0;for(let H of q)if(G.name.endsWith(`#${H}`)){E=H;break}if(!E&&X.generateModes)E=U;let z={...W,mode:E},L=lY(G,z);K.push(L)}if(X.failOnBrokenReferences!==!1&&W.brokenReferences.length>0){let G=[...new Set(W.brokenReferences)],E=`Token reference${G.length>1?"s":""} not found:
33
- ${G.map((z)=>` - ${z}`).join(`
34
- `)}`;throw Error(E)}return K}function V2($,X,Y){let Z=[];if(X.generateModes&&$.extensions?.mode){for(let[q,U]of Object.entries($.extensions.mode))if(U!==void 0)Z.push({...$,name:`${$.name}#${q}`,value:U,path:[...$.path,`#${q}`]})}if(X.generateModes&&!$.extensions?.mode&&(Array.isArray($.value)||typeof $.value==="object"&&$.value!==null)){let q=!1,U=!1,W=(K)=>{if(typeof K!=="object"||K===null)return!1;if(K.$extensions?.mode)return!0;return Object.values(K).some((A)=>{if(typeof A==="object"&&A!==null)return W(A);return!1})};if(Array.isArray($.value))q=$.value.some((K)=>typeof K==="string"&&K.includes("{")||typeof K==="object"&&K!==null&&Object.values(K).some((A)=>typeof A==="string"&&A.includes("{"))),U=$.value.some((K)=>W(K));else q=Object.values($.value).some((K)=>typeof K==="string"&&K.includes("{")),U=W($.value);if(q||U){if(["color","shadow","border","background","surface","composition"].includes($.type)){let G;if(Array.isArray($.value))G=$.value.map((E)=>{if(typeof E==="string"&&E.startsWith("{")&&E.endsWith("}")){let z=E.slice(1,-1);if(!z.includes("#dark")&&!z.includes("@dark"))return`{${z}#dark}`;return E}else if(typeof E==="object"&&E!==null){let z={};for(let[L,H]of Object.entries(E))if(typeof H==="string"&&H.startsWith("{")&&H.endsWith("}")){let _=H.slice(1,-1),Q=`${_}#dark`,w=Y?.get(_),O=Y?.has(Q)||w?.extensions?.mode?.dark!==void 0||w&&(Array.isArray(w.value)||typeof w.value==="object"&&w.value!==null);if(!_.includes("#dark")&&!_.includes("@dark")&&O)z[L]=`{${Q}}`;else z[L]=H}else z[L]=H;return z}return E});else if(typeof $.value==="object"&&$.value!==null){G={};let E=(z)=>{if(typeof z==="string"){if(z.startsWith("{")&&z.endsWith("}")){let L=z.slice(1,-1),H=`${L}#dark`,_=(w,O=new Set)=>{if(O.has(w))return!1;O.add(w);let B=Y?.get(w);if(!B){let I=w.match(/^(.+)@([^@]+)$/);if(I){let[,J,R]=I,f=Y?.get(J);if(f){if(f.extensions?.mode?.dark!==void 0)return!0;if(f.extensions?.generators)return!0;return _(J,O)}}return!1}if(B.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${w}#dark`))return!0;if(typeof B.value==="string"&&B.value.startsWith("{")&&B.value.endsWith("}")){let I=B.value.slice(1,-1);return _(I,O)}if(Array.isArray(B.value)||typeof B.value==="object"&&B.value!==null){let I=(J)=>{if(typeof J!=="object"||J===null)return!1;if(J.$extensions?.mode)return!0;return Object.values(J).some((R)=>{if(typeof R==="object"&&R!==null)return I(R);return!1})};if(Array.isArray(B.value))return B.value.some((J)=>typeof J==="string"&&J.includes("{")&&_(J.slice(1,-1),new Set(O))||typeof J==="object"&&J!==null&&(Object.values(J).some((R)=>typeof R==="string"&&R.includes("{")&&_(R.slice(1,-1),new Set(O)))||I(J)));else if(typeof B.value==="object")return Object.values(B.value).some((J)=>typeof J==="string"&&J.includes("{")&&_(J.slice(1,-1),new Set(O)))||I(B.value)}return!1},Q=_(L);if(!L.includes("#dark")&&!L.includes("@dark")&&Q)return`{${H}}`}return z}if(typeof z==="object"&&z!==null){if(z.$extensions?.mode?.dark)return z.$extensions.mode.dark;let L={};for(let[H,_]of Object.entries(z))L[H]=E(_);return L}return z};for(let[z,L]of Object.entries($.value))G[z]=E(L)}Z.push({...$,name:`${$.name}#dark`,value:G,path:[...$.path,"#dark"],extensions:{...$.extensions,autoGenerated:!0}})}}}if(X.generateModes&&!$.extensions?.mode&&typeof $.value==="string"&&$.value.startsWith("{")&&$.value.endsWith("}")){let q=$.value.slice(1,-1),U=(E,z=new Set)=>{if(z.has(E))return!1;z.add(E);let L=Y?.get(E);if(!L){let H=E.match(/^(.+)@([^@]+)$/);if(H){let[,_,Q]=H,w=Y?.get(_);if(w){if(w.extensions?.mode?.dark!==void 0)return!0;if(w.extensions?.generators)return!0;return U(_,z)}}return!1}if(L.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${E}#dark`))return!0;if(typeof L.value==="string"&&L.value.startsWith("{")&&L.value.endsWith("}")){let H=L.value.slice(1,-1);return U(H,z)}if(Array.isArray(L.value)||typeof L.value==="object"&&L.value!==null){let H=(_)=>{if(typeof _!=="object"||_===null)return!1;if(_.$extensions?.mode)return!0;return Object.values(_).some((Q)=>{if(typeof Q==="object"&&Q!==null)return H(Q);return!1})};if(Array.isArray(L.value))return L.value.some((_)=>typeof _==="string"&&_.includes("{")&&U(_.slice(1,-1),new Set(z))||typeof _==="object"&&_!==null&&(Object.values(_).some((Q)=>typeof Q==="string"&&Q.includes("{")&&U(Q.slice(1,-1),new Set(z)))||H(_)));else if(typeof L.value==="object")return Object.values(L.value).some((_)=>typeof _==="string"&&_.includes("{")&&U(_.slice(1,-1),new Set(z)))||H(L.value)}return!1},W=U(q);if(["color","shadow","border","background","surface","composition"].includes($.type)&&W&&W&&!q.includes("#dark")&&!q.includes("@dark")){let E=`{${q}#dark}`;Z.push({...$,name:`${$.name}#dark`,value:E,path:[...$.path,"#dark"],extensions:{...$.extensions,autoGenerated:!0}})}}if(X.generateDerivedTokens&&$.extensions?.generators)for(let q of $.extensions.generators)for(let[U,W]of Object.entries(q.value)){let K=F2($.name,U),{generators:A,...G}=$.extensions;Z.push({...$,name:K,value:$.value,path:[...$.path,U],extensions:{...G,generator:{type:q.type,value:W}}})}if(X.generateBreakpointTokens&&$.extensions?.breakpoints)for(let[q,U]of Object.entries($.extensions.breakpoints)){let W=`${$.name}@${q.replace(/[^a-zA-Z0-9]/g,"_")}`,K=U.$value||U.value;if(K&&typeof K==="object"&&"$value"in K)K=K.$value;else if(!K&&typeof U==="object"){let{...E}=U;if(Object.keys(E).length>0)K=E}let A=U.$extensions||U.$extensions,G=U.$type;if(!G&&U.value&&typeof U.value==="object")G=U.value.$type;Z.push({...$,name:W,value:K,path:[...$.path,`@${q}`],type:G||$.type,extensions:{mediaQuery:q,...A?{mode:A.mode||A.$mode,generators:A.generators||A.$generators,...Object.fromEntries(Object.entries(A).filter(([E])=>!["mode","$mode","generators","$generators"].includes(E)))}:{}}})}return Z}function lY($,X){let Y=n($.value,X),Z=$.type;if(typeof $.value==="string"&&O$($.value)){let U=$.value.slice(1,-1),W=X.tokens.get(U);if(W){if(["border","shadow","typography","composition"].includes(W.type))Z=W.type;else if(typeof W.value==="string"&&w$(W.value)){let K=V$(W.value),A=new Set;for(let G of K)if(G.type==="reference"&&G.ref&&typeof G.ref==="string"){let E=G.ref.slice(1,-1),z=X.tokens.get(E);if(z&&["border","shadow","typography","composition"].includes(z.type))A.add(z.type)}if(A.size===1)Z=Array.from(A)[0]}}}if(typeof $.value==="string"&&w$($.value)){let U=V$($.value),W=new Set;for(let K of U)if(K.type==="reference"&&K.ref&&typeof K.ref==="string"){let A=K.ref.slice(1,-1),G=X.tokens.get(A);if(G&&["border","shadow","typography","composition"].includes(G.type))W.add(G.type)}if(W.size===1)Z=Array.from(W)[0]}if(typeof Y==="object"&&Y!==null&&["border","shadow","typography","composition"].includes(Z))Y=r(Y,X);if($.extensions?.generator&&typeof $.extensions.generator==="object"&&"type"in $.extensions.generator&&"value"in $.extensions.generator)Y=T$($.value,$.extensions.generator.type,$.extensions.generator.value,X);let q=rY($.name,X.options);if(Z==="color"&&typeof Y==="string"&&p(Y))Y=F(Y,$);if(typeof Y==="string"&&d(Y))Y=B$(Y);return{...$,type:Z,value:Y,cssVar:q}}function r($,X){if(typeof $==="string"){if(O$($))return R0($,X);else if(w$($))return h2($,X)}if(Array.isArray($))return $.map((Y)=>r(Y,X));if(typeof $==="object"&&$!==null){if("$value"in $&&typeof $.$value==="string")return r($.$value,X);if("value"in $&&typeof $.value==="string"&&"$type"in $){if(X.mode&&$.$extensions?.mode?.[X.mode])return r($.$extensions.mode[X.mode],X);return r($.value,X)}if("value"in $&&typeof $.value==="object"&&"$type"in $){let Z=$.value,q=$.$extensions?.delimiter?.character||" ";if($.$type==="composition"&&Z&&typeof Z==="object")return Object.values(Z).map((W)=>r(W,X)).join(q);return r($.value,X)}let Y={};for(let[Z,q]of Object.entries($))Y[Z]=r(q,X);return Y}return $}function n($,X){if(typeof $==="string"){if(w$($))return h2($,X);else if(O$($))return R0($,X)}else if(typeof $==="object"&&$!==null&&"$ref"in $)return y2($,X);return $}function R0($,X){let Y=$.slice(1,-1),Z=X.tokens.get(Y),q=X.options.modes||[];if(!Z){if(q.length>0){for(let K of q)if(Y.endsWith(`@${K}`)){let A=Y.slice(0,-K.length-1)+`#${K}`;if(Z=X.tokens.get(A),Z)return w0(Z,X);break}}let W=Y.match(/#([^#@]+)$/);if(W){let K=Y.substring(0,W.index),A=W[1];if(Z=X.tokens.get(K),Z){if(Z.extensions?.mode?.[A]){let G=Z.extensions.mode[A],E=n(G,{...X,mode:A});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)E=T$(E,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof E==="string"&&p(E))E=F(E,Z);if(typeof E==="string"&&d(E))E=B$(E);return E}}}if(q.length>0)for(let K of q){let A=new RegExp(`(@[^@]+)@${K}$`);if(A.test(Y)){let G=Y.replace(A,`$1#${K}`);if(Z=X.tokens.get(G),!Z){let E=G.match(/#([^#@]+)$/);if(E){let z=G.substring(0,E.index),L=E[1];if(Z=X.tokens.get(z),Z&&Z.extensions?.mode?.[L]){let H=Z.extensions.mode[L],_=n(H,{...X,mode:L});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)_=T$(_,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof _==="string"&&p(_))_=F(_,Z);if(typeof _==="string"&&d(_))_=B$(_);return _}}}else return w0(Z,X);break}}}if(!Z)return console.warn(`Token reference not found: ${$}`),X.brokenReferences.push($),$;return w0(Z,X)}function w0($,X){let Y;if($.extensions?.generator&&typeof $.extensions.generator==="object"&&"type"in $.extensions.generator&&"value"in $.extensions.generator)Y=T$($.value,$.extensions.generator.type,$.extensions.generator.value,X);else if(X.mode&&$.extensions?.mode?.[X.mode])Y=n($.extensions.mode[X.mode],X);else Y=n($.value,X);if($.type==="color"&&typeof Y==="string"&&p(Y))Y=F(Y,$);if(typeof Y==="string"&&d(Y))Y=B$(Y);return Y}function y2($,X){let Z=$.$ref.slice(2).replace(/\//g,"."),q=X.tokens.get(Z);if(!q)return console.warn(`JSON Pointer reference not found: ${$.$ref}`),X.brokenReferences.push($.$ref),$.$ref;return n(q.value,X)}function h2($,X){let Y=V$($),Z=Y.some((W)=>W.value.includes(",")),q=!0,U=[];for(let W of Y){let K;if(W.type==="reference"&&W.ref){if(typeof W.ref==="string"&&O$(W.ref)){K=R0(W.ref,X);let A=W.ref.slice(1,-1),G=X.tokens.get(A);if(!G||!["border","shadow","typography","composition"].includes(G.type))q=!1}else if(typeof W.ref==="object"&&"$ref"in W.ref)K=y2(W.ref,X)}else if(K=W.value,W.value.trim()&&W.value.trim()!==",")q=!1;U.push(K)}if(Z&&q)return U.filter((W)=>typeof W==="object"&&W!==null&&typeof W!=="string");return U.map((W)=>String(W)).join("")}function T$($,X,Y,Z){let q=n($,Z);switch(X){case"alpha":if(typeof q==="string")return iY(q,Number(Y)/100);break;case"scale":if(typeof q==="string"&&q.match(/[\d.]+/))return sY(q,Number(Y));break;case"hue":if(typeof q==="string")return aY(q,Number(Y));break;default:return console.warn(`Unknown generator type: ${X}`),q}return q}function rY($,X,Y){let Z=$.replace(/\./g,"-");Z=Z.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),Z=Z.replace(/@[^@#]*(?:screen|width|height|min|max|orientation).*$/i,""),Z=Z.replace(/#[^#]*$/,""),Z=Z.replace(/-@/g,"-").replace(/@/g,"-");let q=Z,U=!0,W=X.prefix||"";if(X.transformName){if(q=X.transformName(Z),q=q.replace(/-+$/,""),q!==Z)U=!1}let K=U&&W?`${W}-${q}`:q,A=Y?`-${Y}`:"";return`--${K}${A}`.replace(/[^a-zA-Z0-9-_]/g,"-")}function iY($,X){try{if(!p($))return $;let Y=new T2($);return Y.alpha=X,F(Y)}catch(Y){return console.warn(`Failed to apply alpha to color "${$}": ${Y}`),$}}function sY($,X){let Y=$.match(/([\d.]+)(\w+)/);if(Y){let[,Z,q]=Y;return`${parseFloat(Z)*X}${q}`}return $}function aY($,X){try{if(!p($))return $;let Z=new T2($).to("oklch");return Z.h=(Z.h+X)%360,F(Z)}catch(Y){return console.warn(`Failed to shift hue for color "${$}": ${Y}`),$}}var M0=S(()=>{D2();G$()});function N0($){if($.type==="typography"||$.type==="fontWeight"||$.type==="fontFamily")return!0;if($.type==="dimension"&&$.name.includes("typography"))return!0;if($.name.includes("typography")||$.name.includes("font"))return!0;return!1}function t($,X,Y){if(Y){if($===X)return":host";return`:host([data-theme="${$}"])`}if($===X)return":root";return`[data-theme="${$}"]`}function g$($,X={}){let{rootSelector:Y=":root",separateThemeFiles:Z=!1,generateMediaQueries:q=!1,customHeader:U,modes:W=["light","dark"]}=X;if(Z)return tY($,X);let K=new Map,A=new Map;for(let B of W)K.set(B,[]);let G=W.join("|"),E=new RegExp(`#(${G})$`);for(let B of $){if(typeof B.value==="string"&&d(B.value))continue;if(N0(B))continue;let I=` ${B.cssVar}: ${v(B.value,B.type)};`;if(q&&B.name.includes("@media")){let R=h$(B);if(R){if(!A.has(R))A.set(R,[]);A.get(R).push(I);continue}}let J=B.name.match(E);if(J){let R=J[1];if(!K.has(R))K.set(R,[]);K.get(R).push(I)}else{let R=W[0]||"light";K.get(R).push(I)}}let z="";if(U)z+=`${U}
32
+ `}}let{distCSSPath:L}=await r(),H=Z?y(Z,"css"):L,_=`${H}/fonts.css`;NZ(H,{recursive:!0}),await d0(_,E,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var IY=S(()=>{g()});function IX(X){if(typeof X!=="string"||!X.startsWith("{")||!X.endsWith("}"))return!1;let Z=X.slice(1,-1);return!Z.includes("{")&&!Z.includes("}")&&Z.trim()!==""}function wX(X){if(typeof X!=="string")return!1;let Z=/\{[^}]+\}/g,Y=X.match(Z);return!!(Y&&Y.length>0&&X.length>Y.join("").length)}function fX(X){let Z=[],Y=/\{[^}]+\}/g,q=0,$;while(($=Y.exec(X))!==null){if($.index>q){let W=X.slice(q,$.index);if(W)Z.push({type:"literal",value:W})}let U=$[0];if(U.startsWith("{#/"))Z.push({type:"reference",value:U,ref:{$ref:U.slice(2,-1)}});else Z.push({type:"reference",value:U,ref:U});q=$.index+$[0].length}if(q<X.length){let U=X.slice(q);if(U)Z.push({type:"literal",value:U})}return Z}function FZ(X){return!!X.$extensions?.$mode}function xZ(X){return!!(X.$extensions?.$generators&&Array.isArray(X.$extensions.$generators))}function jZ(X){return!!(X.$extensions?.$breakpoints&&typeof X.$extensions.$breakpoints==="object")}function bZ(X,Z){return`${X}${Z}`}function DZ(X){return typeof X==="object"&&X!==null&&"$value"in X}function SZ(X){return typeof X==="object"&&X!==null&&!("$value"in X)}var PZ=()=>{};function CZ(X){if(typeof X!=="string")return!1;let Z=X.trim();return Z.startsWith("<svg")&&Z.includes("</svg>")}function VZ(X){if(typeof X!=="string")return!1;return X.startsWith("data:image/png;base64,")||X.startsWith("iVBORw0KGgo")}function TZ(X){if(typeof X!=="string")return!1;return X.startsWith("data:image/jpeg;base64,")||X.startsWith("data:image/jpg;base64,")||X.startsWith("/9j/")}function c0(X){let Z=X.trim();return Z=Z.replace(/\s+/g," ").replace(/>\s+</g,"><").trim(),`data:image/svg+xml;base64,${Buffer.from(Z,"utf-8").toString("base64")}`}function l0(X){if(X.startsWith("data:image/png;base64,"))return X;return`data:image/png;base64,${X}`}function r0(X){if(X.startsWith("data:image/jpeg;base64,")||X.startsWith("data:image/jpg;base64,"))return X;return`data:image/jpeg;base64,${X}`}function RX(X){if(!X||typeof X!=="string")return X;if(X.startsWith("data:"))return X;if(CZ(X))return c0(X);else if(VZ(X))return l0(X);else if(TZ(X))return r0(X);return X}function s0(X){if(typeof X!=="string")return!1;return X.startsWith("data:image/svg+xml;")||X.startsWith("data:image/png;")||X.startsWith("data:image/jpeg;")||X.startsWith("data:image/jpg;")||X.startsWith("data:image/gif;")||X.startsWith("data:image/webp;")}function u(X){return CZ(X)||VZ(X)||TZ(X)||s0(X)}import{readFileSync as i0,readdirSync as a0,statSync as n0}from"fs";import{join as t0}from"path";import gZ from"colorjs.io";function RY(X){let Z={};function Y(q){let $=a0(q);for(let U of $){let W=t0(q,U);if(n0(W).isDirectory())Y(W);else if(U.endsWith(".tokens.json"))try{let z=i0(W,"utf-8");if(!z.trim())continue;let G=JSON.parse(z);fZ(Z,G)}catch(z){console.warn(`Failed to load token file: ${W}`,z)}}}return Y(X),Z}function fZ(X,Z){for(let Y in Z)if(Z[Y]&&typeof Z[Y]==="object"&&!Array.isArray(Z[Y])){if(!X[Y])X[Y]={};fZ(X[Y],Z[Y])}else X[Y]=Z[Y]}function MY(X,Z={}){let Y=[];function q($,U=[]){for(let[W,K]of Object.entries($)){if(W.startsWith("$"))continue;let z=[...U,W],G=z.join(".");if(DZ(K)){let E={path:z,name:G,type:K.$type,value:K.$value,description:K.$description,extensions:K.$extensions?{mode:FZ(K)?K.$extensions.$mode:K.$extensions.mode?K.$extensions.mode:void 0,generators:xZ(K)?K.$extensions.$generators:K.$extensions.generators?K.$extensions.generators:void 0,breakpoints:jZ(K)?K.$extensions.$breakpoints:K.$extensions.breakpoint?K.$extensions.breakpoint:void 0,...Object.fromEntries(Object.entries(K.$extensions).filter(([A])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(A)))}:void 0,original:K};if(!Z.namespace||G.startsWith(Z.namespace))Y.push(E)}else if(SZ(K))q(K,z)}}return q(X),Y}function NY(X,Z={}){let Y=[...X],q=new Map(X.map((G)=>[G.name,G]));if(Z.generateModes||Z.generateDerivedTokens||Z.generateBreakpointTokens)for(let G of X){let E=yZ(G,Z,q);if(Y.push(...E),Z.generateModes){for(let A of E)if(A.extensions?.mode&&!A.name.includes("#")){let L=yZ(A,Z,q);Y.push(...L)}}}let $=Z.modes||[],U=$.length>0?$[0]:void 0,W={tokens:new Map(Y.map((G)=>[G.name,G])),mode:Z.generateModes?U:void 0,options:Z,brokenReferences:[]},K=[];for(let G of Y){let E=void 0;for(let H of $)if(G.name.endsWith(`#${H}`)){E=H;break}if(!E&&Z.generateModes)E=U;let A={...W,mode:E},L=o0(G,A);K.push(L)}if(Z.failOnBrokenReferences!==!1&&W.brokenReferences.length>0){let G=[...new Set(W.brokenReferences)],E=`Token reference${G.length>1?"s":""} not found:
33
+ ${G.map((A)=>` - ${A}`).join(`
34
+ `)}`;throw Error(E)}return K}function yZ(X,Z,Y){let q=[];if(Z.generateModes&&X.extensions?.mode){for(let[$,U]of Object.entries(X.extensions.mode))if(U!==void 0)q.push({...X,name:`${X.name}#${$}`,value:U,path:[...X.path,`#${$}`]})}if(Z.generateModes&&!X.extensions?.mode&&(Array.isArray(X.value)||typeof X.value==="object"&&X.value!==null)){let $=!1,U=!1,W=(K)=>{if(typeof K!=="object"||K===null)return!1;if(K.$extensions?.mode)return!0;return Object.values(K).some((z)=>{if(typeof z==="object"&&z!==null)return W(z);return!1})};if(Array.isArray(X.value))$=X.value.some((K)=>typeof K==="string"&&K.includes("{")||typeof K==="object"&&K!==null&&Object.values(K).some((z)=>typeof z==="string"&&z.includes("{"))),U=X.value.some((K)=>W(K));else $=Object.values(X.value).some((K)=>typeof K==="string"&&K.includes("{")),U=W(X.value);if($||U){if(["color","shadow","border","background","surface","composition"].includes(X.type)){let G;if(Array.isArray(X.value))G=X.value.map((E)=>{if(typeof E==="string"&&E.startsWith("{")&&E.endsWith("}")){let A=E.slice(1,-1);if(!A.includes("#dark")&&!A.includes("@dark"))return`{${A}#dark}`;return E}else if(typeof E==="object"&&E!==null){let A={};for(let[L,H]of Object.entries(E))if(typeof H==="string"&&H.startsWith("{")&&H.endsWith("}")){let _=H.slice(1,-1),Q=`${_}#dark`,J=Y?.get(_),O=Y?.has(Q)||J?.extensions?.mode?.dark!==void 0||J&&(Array.isArray(J.value)||typeof J.value==="object"&&J.value!==null);if(!_.includes("#dark")&&!_.includes("@dark")&&O)A[L]=`{${Q}}`;else A[L]=H}else A[L]=H;return A}return E});else if(typeof X.value==="object"&&X.value!==null){G={};let E=(A)=>{if(typeof A==="string"){if(A.startsWith("{")&&A.endsWith("}")){let L=A.slice(1,-1),H=`${L}#dark`,_=(J,O=new Set)=>{if(O.has(J))return!1;O.add(J);let B=Y?.get(J);if(!B){let R=J.match(/^(.+)@([^@]+)$/);if(R){let[,I,w]=R,M=Y?.get(I);if(M){if(M.extensions?.mode?.dark!==void 0)return!0;if(M.extensions?.generators)return!0;return _(I,O)}}return!1}if(B.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${J}#dark`))return!0;if(typeof B.value==="string"&&B.value.startsWith("{")&&B.value.endsWith("}")){let R=B.value.slice(1,-1);return _(R,O)}if(Array.isArray(B.value)||typeof B.value==="object"&&B.value!==null){let R=(I)=>{if(typeof I!=="object"||I===null)return!1;if(I.$extensions?.mode)return!0;return Object.values(I).some((w)=>{if(typeof w==="object"&&w!==null)return R(w);return!1})};if(Array.isArray(B.value))return B.value.some((I)=>typeof I==="string"&&I.includes("{")&&_(I.slice(1,-1),new Set(O))||typeof I==="object"&&I!==null&&(Object.values(I).some((w)=>typeof w==="string"&&w.includes("{")&&_(w.slice(1,-1),new Set(O)))||R(I)));else if(typeof B.value==="object")return Object.values(B.value).some((I)=>typeof I==="string"&&I.includes("{")&&_(I.slice(1,-1),new Set(O)))||R(B.value)}return!1},Q=_(L);if(!L.includes("#dark")&&!L.includes("@dark")&&Q)return`{${H}}`}return A}if(typeof A==="object"&&A!==null){if(A.$extensions?.mode?.dark)return A.$extensions.mode.dark;let L={};for(let[H,_]of Object.entries(A))L[H]=E(_);return L}return A};for(let[A,L]of Object.entries(X.value))G[A]=E(L)}q.push({...X,name:`${X.name}#dark`,value:G,path:[...X.path,"#dark"],extensions:{...X.extensions,autoGenerated:!0}})}}}if(Z.generateModes&&!X.extensions?.mode&&typeof X.value==="string"&&X.value.startsWith("{")&&X.value.endsWith("}")){let $=X.value.slice(1,-1),U=(E,A=new Set)=>{if(A.has(E))return!1;A.add(E);let L=Y?.get(E);if(!L){let H=E.match(/^(.+)@([^@]+)$/);if(H){let[,_,Q]=H,J=Y?.get(_);if(J){if(J.extensions?.mode?.dark!==void 0)return!0;if(J.extensions?.generators)return!0;return U(_,A)}}return!1}if(L.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${E}#dark`))return!0;if(typeof L.value==="string"&&L.value.startsWith("{")&&L.value.endsWith("}")){let H=L.value.slice(1,-1);return U(H,A)}if(Array.isArray(L.value)||typeof L.value==="object"&&L.value!==null){let H=(_)=>{if(typeof _!=="object"||_===null)return!1;if(_.$extensions?.mode)return!0;return Object.values(_).some((Q)=>{if(typeof Q==="object"&&Q!==null)return H(Q);return!1})};if(Array.isArray(L.value))return L.value.some((_)=>typeof _==="string"&&_.includes("{")&&U(_.slice(1,-1),new Set(A))||typeof _==="object"&&_!==null&&(Object.values(_).some((Q)=>typeof Q==="string"&&Q.includes("{")&&U(Q.slice(1,-1),new Set(A)))||H(_)));else if(typeof L.value==="object")return Object.values(L.value).some((_)=>typeof _==="string"&&_.includes("{")&&U(_.slice(1,-1),new Set(A)))||H(L.value)}return!1},W=U($);if(["color","shadow","border","background","surface","composition"].includes(X.type)&&W&&W&&!$.includes("#dark")&&!$.includes("@dark")){let E=`{${$}#dark}`;q.push({...X,name:`${X.name}#dark`,value:E,path:[...X.path,"#dark"],extensions:{...X.extensions,autoGenerated:!0}})}}if(Z.generateDerivedTokens&&X.extensions?.generators)for(let $ of X.extensions.generators)for(let[U,W]of Object.entries($.value)){let K=bZ(X.name,U),{generators:z,...G}=X.extensions;q.push({...X,name:K,value:X.value,path:[...X.path,U],extensions:{...G,generator:{type:$.type,value:W}}})}if(Z.generateBreakpointTokens&&X.extensions?.breakpoints)for(let[$,U]of Object.entries(X.extensions.breakpoints)){let W=`${X.name}@${$.replace(/[^a-zA-Z0-9]/g,"_")}`,K=U.$value||U.value;if(K&&typeof K==="object"&&"$value"in K)K=K.$value;else if(!K&&typeof U==="object"){let{...E}=U;if(Object.keys(E).length>0)K=E}let z=U.$extensions||U.$extensions,G=U.$type;if(!G&&U.value&&typeof U.value==="object")G=U.value.$type;q.push({...X,name:W,value:K,path:[...X.path,`@${$}`],type:G||X.type,extensions:{mediaQuery:$,...z?{mode:z.mode||z.$mode,generators:z.generators||z.$generators,...Object.fromEntries(Object.entries(z).filter(([E])=>!["mode","$mode","generators","$generators"].includes(E)))}:{}}})}return q}function o0(X,Z){let Y=e(X.value,Z),q=X.type;if(typeof X.value==="string"&&IX(X.value)){let U=X.value.slice(1,-1),W=Z.tokens.get(U);if(W){if(["border","shadow","typography","composition"].includes(W.type))q=W.type;else if(typeof W.value==="string"&&wX(W.value)){let K=fX(W.value),z=new Set;for(let G of K)if(G.type==="reference"&&G.ref&&typeof G.ref==="string"){let E=G.ref.slice(1,-1),A=Z.tokens.get(E);if(A&&["border","shadow","typography","composition"].includes(A.type))z.add(A.type)}if(z.size===1)q=Array.from(z)[0]}}}if(typeof X.value==="string"&&wX(X.value)){let U=fX(X.value),W=new Set;for(let K of U)if(K.type==="reference"&&K.ref&&typeof K.ref==="string"){let z=K.ref.slice(1,-1),G=Z.tokens.get(z);if(G&&["border","shadow","typography","composition"].includes(G.type))W.add(G.type)}if(W.size===1)q=Array.from(W)[0]}if(typeof Y==="object"&&Y!==null&&["border","shadow","typography","composition"].includes(q))Y=s(Y,Z);if(X.extensions?.generator&&typeof X.extensions.generator==="object"&&"type"in X.extensions.generator&&"value"in X.extensions.generator)Y=vX(X.value,X.extensions.generator.type,X.extensions.generator.value,Z);let $=e0(X.name,Z.options);if(q==="color"&&typeof Y==="string"&&p(Y))Y=b(Y,X);if(typeof Y==="string"&&u(Y))Y=RX(Y);return{...X,type:q,value:Y,cssVar:$}}function s(X,Z){if(typeof X==="string"){if(IX(X))return FY(X,Z);else if(wX(X))return hZ(X,Z)}if(Array.isArray(X))return X.map((Y)=>s(Y,Z));if(typeof X==="object"&&X!==null){if("$value"in X&&typeof X.$value==="string")return s(X.$value,Z);if("value"in X&&typeof X.value==="string"&&"$type"in X){if(Z.mode&&X.$extensions?.mode?.[Z.mode])return s(X.$extensions.mode[Z.mode],Z);return s(X.value,Z)}if("value"in X&&typeof X.value==="object"&&"$type"in X){let q=X.value,$=X.$extensions?.delimiter?.character||" ";if(X.$type==="composition"&&q&&typeof q==="object")return Object.values(q).map((W)=>s(W,Z)).join($);return s(X.value,Z)}let Y={};for(let[q,$]of Object.entries(X))Y[q]=s($,Z);return Y}return X}function e(X,Z){if(typeof X==="string"){if(wX(X))return hZ(X,Z);else if(IX(X))return FY(X,Z)}else if(typeof X==="object"&&X!==null&&"$ref"in X)return vZ(X,Z);return X}function FY(X,Z){let Y=X.slice(1,-1),q=Z.tokens.get(Y),$=Z.options.modes||[];if(!q){if($.length>0){for(let K of $)if(Y.endsWith(`@${K}`)){let z=Y.slice(0,-K.length-1)+`#${K}`;if(q=Z.tokens.get(z),q)return wY(q,Z);break}}let W=Y.match(/#([^#@]+)$/);if(W){let K=Y.substring(0,W.index),z=W[1];if(q=Z.tokens.get(K),q){if(q.extensions?.mode?.[z]){let G=q.extensions.mode[z],E=e(G,{...Z,mode:z});if(q.extensions?.generator&&typeof q.extensions.generator==="object"&&"type"in q.extensions.generator&&"value"in q.extensions.generator)E=vX(E,q.extensions.generator.type,q.extensions.generator.value,Z);if(q.type==="color"&&typeof E==="string"&&p(E))E=b(E,q);if(typeof E==="string"&&u(E))E=RX(E);return E}}}if($.length>0)for(let K of $){let z=new RegExp(`(@[^@]+)@${K}$`);if(z.test(Y)){let G=Y.replace(z,`$1#${K}`);if(q=Z.tokens.get(G),!q){let E=G.match(/#([^#@]+)$/);if(E){let A=G.substring(0,E.index),L=E[1];if(q=Z.tokens.get(A),q&&q.extensions?.mode?.[L]){let H=q.extensions.mode[L],_=e(H,{...Z,mode:L});if(q.extensions?.generator&&typeof q.extensions.generator==="object"&&"type"in q.extensions.generator&&"value"in q.extensions.generator)_=vX(_,q.extensions.generator.type,q.extensions.generator.value,Z);if(q.type==="color"&&typeof _==="string"&&p(_))_=b(_,q);if(typeof _==="string"&&u(_))_=RX(_);return _}}}else return wY(q,Z);break}}}if(!q)return console.warn(`Token reference not found: ${X}`),Z.brokenReferences.push(X),X;return wY(q,Z)}function wY(X,Z){let Y;if(X.extensions?.generator&&typeof X.extensions.generator==="object"&&"type"in X.extensions.generator&&"value"in X.extensions.generator)Y=vX(X.value,X.extensions.generator.type,X.extensions.generator.value,Z);else if(Z.mode&&X.extensions?.mode?.[Z.mode])Y=e(X.extensions.mode[Z.mode],Z);else Y=e(X.value,Z);if(X.type==="color"&&typeof Y==="string"&&p(Y))Y=b(Y,X);if(typeof Y==="string"&&u(Y))Y=RX(Y);return Y}function vZ(X,Z){let q=X.$ref.slice(2).replace(/\//g,"."),$=Z.tokens.get(q);if(!$)return console.warn(`JSON Pointer reference not found: ${X.$ref}`),Z.brokenReferences.push(X.$ref),X.$ref;return e($.value,Z)}function hZ(X,Z){let Y=fX(X),q=Y.some((W)=>W.value.includes(",")),$=!0,U=[];for(let W of Y){let K;if(W.type==="reference"&&W.ref){if(typeof W.ref==="string"&&IX(W.ref)){K=FY(W.ref,Z);let z=W.ref.slice(1,-1),G=Z.tokens.get(z);if(!G||!["border","shadow","typography","composition"].includes(G.type))$=!1}else if(typeof W.ref==="object"&&"$ref"in W.ref)K=vZ(W.ref,Z)}else if(K=W.value,W.value.trim()&&W.value.trim()!==",")$=!1;U.push(K)}if(q&&$)return U.filter((W)=>typeof W==="object"&&W!==null&&typeof W!=="string");return U.map((W)=>String(W)).join("")}function vX(X,Z,Y,q){let $=e(X,q);switch(Z){case"alpha":if(typeof $==="string")return X1($,Number(Y)/100);break;case"scale":if(typeof $==="string"&&$.match(/[\d.]+/))return Y1($,Number(Y));break;case"hue":if(typeof $==="string")return Z1($,Number(Y));break;default:return console.warn(`Unknown generator type: ${Z}`),$}return $}function e0(X,Z,Y){let q=X.replace(/\./g,"-");q=q.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),q=q.replace(/@[^@#]*(?:screen|width|height|min|max|orientation).*$/i,""),q=q.replace(/#[^#]*$/,""),q=q.replace(/-@/g,"-").replace(/@/g,"-");let $=q,U=!0,W=Z.prefix||"";if(Z.transformName){if($=Z.transformName(q),$=$.replace(/-+$/,""),$!==q)U=!1}let K=U&&W?`${W}-${$}`:$,z=Y?`-${Y}`:"";return`--${K}${z}`.replace(/[^a-zA-Z0-9-_]/g,"-")}function X1(X,Z){try{if(!p(X))return X;let Y=new gZ(X);return Y.alpha=Z,b(Y)}catch(Y){return console.warn(`Failed to apply alpha to color "${X}": ${Y}`),X}}function Y1(X,Z){let Y=X.match(/([\d.]+)(\w+)/);if(Y){let[,q,$]=Y;return`${parseFloat(q)*Z}${$}`}return X}function Z1(X,Z){try{if(!p(X))return X;let q=new gZ(X).to("oklch");return q.h=(q.h+Z)%360,b(q)}catch(Y){return console.warn(`Failed to shift hue for color "${X}": ${Y}`),X}}var xY=S(()=>{PZ();EX()});function jY(X){if(X.type==="typography"||X.type==="fontWeight"||X.type==="fontFamily")return!0;if(X.type==="dimension"&&X.name.includes("typography"))return!0;if(X.name.includes("typography")||X.name.includes("font"))return!0;return!1}function i(X,Z,Y){if(Y){if(X===Z)return":host";return`:host([data-theme="${X}"])`}if(X===Z)return":root";return`[data-theme="${X}"]`}function hX(X,Z={}){let{rootSelector:Y=":root",separateThemeFiles:q=!1,generateMediaQueries:$=!1,customHeader:U,modes:W=["light","dark"]}=Z;if(q)return $1(X,Z);let K=new Map,z=new Map;for(let B of W)K.set(B,[]);let G=W.join("|"),E=new RegExp(`#(${G})$`);for(let B of X){if(typeof B.value==="string"&&u(B.value))continue;if(jY(B))continue;let R=` ${B.cssVar}: ${m(B.value,B.type)};`;if($&&B.name.includes("@media")){let w=pX(B);if(w){if(!z.has(w))z.set(w,[]);z.get(w).push(R);continue}}let I=B.name.match(E);if(I){let w=I[1];if(!K.has(w))K.set(w,[]);K.get(w).push(R)}else{let w=W[0]||"light";K.get(w).push(R)}}let A="";if(U)A+=`${U}
35
35
 
36
- `;let L=X.defaultMode||W[0]||"light",H=X.isHost||!1,_=K.get(L)||[];if(_.length>0){_.sort();let B=t(L,L,H);z+=`${B} {
36
+ `;let L=Z.defaultMode||W[0]||"light",H=Z.isHost||!1,_=K.get(L)||[];if(_.length>0){_.sort();let B=i(L,L,H);A+=`${B} {
37
37
  ${_.join(`
38
38
  `)}
39
- `;for(let I of W){if(I===L)continue;let J=K.get(I)||[];if(J.length>0){J.sort();let R=t(I,L,H);if(H)z+=`}
39
+ `;for(let R of W){if(R===L)continue;let I=K.get(R)||[];if(I.length>0){I.sort();let w=i(R,L,H);if(H)A+=`}
40
40
 
41
- ${R} {
42
- ${J.join(`
41
+ ${w} {
42
+ ${I.join(`
43
43
  `)}
44
- `;else{let f=R.replace("[data-theme=","&[data-theme=");z+=`
45
- ${f} {
46
- ${J.map((d$)=>` ${d$}`).join(`
44
+ `;else{let M=w.replace("[data-theme=","&[data-theme=");A+=`
45
+ ${M} {
46
+ ${I.map((N)=>` ${N}`).join(`
47
47
  `)}
48
48
  }
49
- `}}}z+=`}
50
- `}if(q&&A.size>0){let B=t(L,L,H);for(let[I,J]of A)J.sort(),z+=`
51
- ${I} {
49
+ `}}}A+=`}
50
+ `}if($&&z.size>0){let B=i(L,L,H);for(let[R,I]of z)I.sort(),A+=`
51
+ ${R} {
52
52
  ${B} {
53
- ${J.map((R)=>` ${R}`).join(`
53
+ ${I.map((w)=>` ${w}`).join(`
54
54
  `)}
55
55
  }
56
56
  }
57
- `}let Q=[{fileName:"tokens.css",content:z.endsWith(`
58
- `)?z:`${z}
59
- `}],w=m2($,X);Q.push(...w);let O=d2($,X);return Q.push(...O),Q}function nY($,X){let Y=[];for(let q of $){let W=` ${q.cssVar||y$(q,X)}: ${v(q.value,q.type)};`;Y.push(W)}let Z="";if(X.customHeader)Z+=`${X.customHeader}
57
+ `}let Q=[{fileName:"tokens.css",content:A.endsWith(`
58
+ `)?A:`${A}
59
+ `}],J=uZ(X,Z);Q.push(...J);let O=kZ(X,Z);return Q.push(...O),Q}function q1(X,Z){let Y=[];for(let $ of X){let W=` ${$.cssVar||mX($,Z)}: ${m($.value,$.type)};`;Y.push(W)}let q="";if(Z.customHeader)q+=`${Z.customHeader}
60
60
 
61
- `;if(Y.length>0)Y.sort(),Z+=`${X.rootSelector||":root"} {
61
+ `;if(Y.length>0)Y.sort(),q+=`${Z.rootSelector||":root"} {
62
62
  ${Y.join(`
63
63
  `)}
64
64
  }
65
- `;return{fileName:"theme.css",content:Z.endsWith(`
66
- `)?Z:`${Z}
67
- `}}function tY($,X){let Y=[],Z=new Map,q=[],U=X.modes||["light","dark"],W=new Set(U),K=U.join("|"),A=new RegExp(`#(${K})$`);for(let _ of $){if(h$(_))continue;if(typeof _.value==="string"&&d(_.value))continue;if(N0(_))continue;let Q=_.name.match(A);if(Q){let w=Q[1];if(W.has(w)){if(!Z.has(w))Z.set(w,[]);Z.get(w).push(_)}else q.push(_)}else q.push(_)}if(q.length>0){let _=g$(q,{...X,separateThemeFiles:!1})[0];Y.push({..._,fileName:"tokens.css"})}let G=X.defaultMode||(U.length>0?U[0]:"default"),E=X.isHost||!1;for(let[_,Q]of Z){let w=t(_,G,E),O=nY(Q,{...X,separateThemeFiles:!1,rootSelector:w});Y.push({...O,fileName:`tokens.${_}.css`,theme:_})}let z=oY($,X);Y.push(...z);let L=m2($,X);Y.push(...L);let H=d2($,X);return Y.push(...H),Y}function oY($,X){let Y=new Map;for(let U of $){let W=h$(U);if(W){let K=U.name.match(/@(dark|light)$/),A=K?K[1]:"light";if(!Y.has(W))Y.set(W,new Map);let G=Y.get(W);if(!G.has(A))G.set(A,[]);G.get(A).push(U)}}if(Y.size===0)return[];let Z=`/**
65
+ `;return{fileName:"theme.css",content:q.endsWith(`
66
+ `)?q:`${q}
67
+ `}}function $1(X,Z){let Y=[],q=new Map,$=[],U=Z.modes||["light","dark"],W=new Set(U),K=U.join("|"),z=new RegExp(`#(${K})$`);for(let _ of X){if(pX(_))continue;if(typeof _.value==="string"&&u(_.value))continue;if(jY(_))continue;let Q=_.name.match(z);if(Q){let J=Q[1];if(W.has(J)){if(!q.has(J))q.set(J,[]);q.get(J).push(_)}else $.push(_)}else $.push(_)}if($.length>0){let _=hX($,{...Z,separateThemeFiles:!1})[0];Y.push({..._,fileName:"tokens.css"})}let G=Z.defaultMode||(U.length>0?U[0]:"default"),E=Z.isHost||!1;for(let[_,Q]of q){let J=i(_,G,E),O=q1(Q,{...Z,separateThemeFiles:!1,rootSelector:J});Y.push({...O,fileName:`tokens.${_}.css`,theme:_})}let A=U1(X,Z);Y.push(...A);let L=uZ(X,Z);Y.push(...L);let H=kZ(X,Z);return Y.push(...H),Y}function U1(X,Z){let Y=new Map;for(let U of X){let W=pX(U);if(W){let K=U.name.match(/@(dark|light)$/),z=K?K[1]:"light";if(!Y.has(W))Y.set(W,new Map);let G=Y.get(W);if(!G.has(z))G.set(z,[]);G.get(z).push(U)}}if(Y.size===0)return[];let q=`/**
68
68
  * Design System Tokens - Responsive Breakpoints
69
69
  * Generated: ${new Date().toISOString()}
70
70
  *
@@ -72,69 +72,69 @@ ${Y.join(`
72
72
  * Each media query section overrides tokens for specific screen sizes.
73
73
  */
74
74
 
75
- `,q=Array.from(Y.keys()).sort();for(let U of q){let W=Y.get(U),K=X.defaultMode||(X.modes&&X.modes.length>0?X.modes[0]:"light"),A=X.isHost||!1;for(let[G,E]of W){let z=[];for(let L of E){let _=` ${L.cssVar||y$(L,X)}: ${v(L.value,L.type)};`;z.push(_)}if(z.length>0){z.sort();let L=t(G,K,A);Z+=`${U} {
75
+ `,$=Array.from(Y.keys()).sort();for(let U of $){let W=Y.get(U),K=Z.defaultMode||(Z.modes&&Z.modes.length>0?Z.modes[0]:"light"),z=Z.isHost||!1;for(let[G,E]of W){let A=[];for(let L of E){let _=` ${L.cssVar||mX(L,Z)}: ${m(L.value,L.type)};`;A.push(_)}if(A.length>0){A.sort();let L=i(G,K,z);q+=`${U} {
76
76
  ${L} {
77
- ${z.join(`
77
+ ${A.join(`
78
78
  `)}
79
79
  }
80
80
  }
81
81
 
82
- `}}}return[{fileName:"tokens.breakpoints.css",content:Z.trim()+`
83
- `}]}function m2($,X){let Y=new Map;for(let q of $)if(typeof q.value==="string"&&d(q.value)){let U=q.name.match(/@(dark|light)$/),W=U?U[1]:"light";if(!Y.has(W))Y.set(W,[]);Y.get(W).push(q)}let Z=[];if(Y.size===0)return[];if(Y.size===1){let[q,U]=Array.from(Y.entries())[0],W=v2(U,q,X);Z.push({fileName:"tokens.icons.css",content:W.endsWith(`
82
+ `}}}return[{fileName:"tokens.breakpoints.css",content:q.trim()+`
83
+ `}]}function uZ(X,Z){let Y=new Map;for(let $ of X)if(typeof $.value==="string"&&u($.value)){let U=$.name.match(/@(dark|light)$/),W=U?U[1]:"light";if(!Y.has(W))Y.set(W,[]);Y.get(W).push($)}let q=[];if(Y.size===0)return[];if(Y.size===1){let[$,U]=Array.from(Y.entries())[0],W=mZ(U,$,Z);q.push({fileName:"tokens.icons.css",content:W.endsWith(`
84
84
  `)?W:`${W}
85
- `})}else for(let[q,U]of Y){let W=v2(U,q,X);Z.push({fileName:`tokens.icons.${q}.css`,content:W.endsWith(`
85
+ `})}else for(let[$,U]of Y){let W=mZ(U,$,Z);q.push({fileName:`tokens.icons.${$}.css`,content:W.endsWith(`
86
86
  `)?W:`${W}
87
- `})}return Z}function v2($,X,Y){let Z=`/**
88
- * Design System Tokens - Icons (${X})
87
+ `})}return q}function mZ(X,Z,Y){let q=`/**
88
+ * Design System Tokens - Icons (${Z})
89
89
  * Generated: ${new Date().toISOString()}
90
90
  *
91
91
  * This file contains CSS custom properties for icon tokens.
92
92
  * Icons are provided as data URIs for direct embedding.
93
93
  */
94
94
 
95
- `,q=[];for(let U of $){let K=` ${U.cssVar||y$(U,Y)}: ${v(U.value,U.type)};`;q.push(K)}if(q.length>0){q.sort();let U=Y.defaultMode||"light",W=Y.isHost||!1,K=t(X,U,W);Z+=`${K} {
96
- ${q.join(`
95
+ `,$=[];for(let U of X){let K=` ${U.cssVar||mX(U,Y)}: ${m(U.value,U.type)};`;$.push(K)}if($.length>0){$.sort();let U=Y.defaultMode||"light",W=Y.isHost||!1,K=i(Z,U,W);q+=`${K} {
96
+ ${$.join(`
97
97
  `)}
98
98
  }
99
- `}return Z+`
100
- `}function y$($,X){let Z=$.name.split("@")[0].replace(/\.$/,"").replace(/\.+/g,"."),q=x0(Z,X.hooks);return`--${X.prefix||I$}-${q.replace(/\./g,"-")}`}function x0($,X,Y){if(!X?.shortenName?.enabled)return $;let Z=$;if(X.shortenName.prefix)for(let q of X.shortenName.prefix)Z=Z.replace(new RegExp(q.find,"g"),q.replace);if(X.shortenName.suffix){for(let q of X.shortenName.suffix)if(Z.endsWith(q.find))Z=Z.substring(0,Z.length-q.find.length)+q.replace}if(Y&&Y!=="light"){let q=`-${Y}`;if(Z.endsWith(q))Z=Z.slice(0,-q.length)}return Z}function d2($,X){let Y=new Map,Z=X.modes||[];for(let U of $)if(N0(U)){if(h$(U))continue;let K=Z.length>0?Z[0]:"default";if(U.name.includes("#")){let A=U.name.split("#"),G=A[A.length-1];if(Z.includes(G))K=G}if(!Y.has(K))Y.set(K,[]);Y.get(K).push(U)}let q=[];for(let[U,W]of Y.entries()){let K=eY(W,U,X,Z);q.push({fileName:`tokens.typography.${U}.css`,content:K.endsWith(`
99
+ `}return q+`
100
+ `}function mX(X,Z){let q=X.name.split("@")[0].replace(/\.$/,"").replace(/\.+/g,"."),$=bY(q,Z.hooks);return`--${Z.prefix||MX}-${$.replace(/\./g,"-")}`}function bY(X,Z,Y){if(!Z?.shortenName?.enabled)return X;let q=X;if(Z.shortenName.prefix)for(let $ of Z.shortenName.prefix)q=q.replace(new RegExp($.find,"g"),$.replace);if(Z.shortenName.suffix){for(let $ of Z.shortenName.suffix)if(q.endsWith($.find))q=q.substring(0,q.length-$.find.length)+$.replace}if(Y&&Y!=="light"){let $=`-${Y}`;if(q.endsWith($))q=q.slice(0,-$.length)}return q}function kZ(X,Z){let Y=new Map,q=Z.modes||[];for(let U of X)if(jY(U)){if(pX(U))continue;let K=q.length>0?q[0]:"default";if(U.name.includes("#")){let z=U.name.split("#"),G=z[z.length-1];if(q.includes(G))K=G}if(!Y.has(K))Y.set(K,[]);Y.get(K).push(U)}let $=[];for(let[U,W]of Y.entries()){let K=K1(W,U,Z,q);$.push({fileName:`tokens.typography.${U}.css`,content:K.endsWith(`
101
101
  `)?K:`${K}
102
- `})}return q}function eY($,X,Y,Z){let q=`/**
103
- * Design System Tokens - Typography (${X})
102
+ `})}return $}function K1(X,Z,Y,q){let $=`/**
103
+ * Design System Tokens - Typography (${Z})
104
104
  * Generated: ${new Date().toISOString()}
105
105
  *
106
106
  * This file contains CSS custom properties for typography tokens.
107
107
  * Includes fontSize, fontWeight, fontFamily, lineHeight, and typography compositions.
108
108
  */
109
109
 
110
- `,U=new Map;for(let W of $){let K="default";if(W.name.includes("@")){let A=W.name.split("@");for(let G of A)if(G.includes("screen_")||G.includes("min_width")||G.includes("max_width")){K=G.replace(/screen_and__/g,"").replace(/min_width__(\d+)px_/g,"min-width: $1px").replace(/max_width__(\d+)px_/g,"max-width: $1px").replace(/_/g," ");break}}if(!U.has(K))U.set(K,[]);U.get(K).push(W)}for(let[W,K]of U.entries()){let A=[];for(let G of K){let z=` ${G.cssVar||y$(G,Y)}: ${v(G.value,G.type)};`;A.push(z)}if(A.length>0){let G=Y.defaultMode||"light",E=Y.isHost||!1,z=t(X,G,E);if(W==="default")A.sort(),q+=`${z} {
111
- ${A.join(`
110
+ `,U=new Map;for(let W of X){let K="default";if(W.name.includes("@")){let z=W.name.split("@");for(let G of z)if(G.includes("screen_")||G.includes("min_width")||G.includes("max_width")){K=G.replace(/screen_and__/g,"").replace(/min_width__(\d+)px_/g,"min-width: $1px").replace(/max_width__(\d+)px_/g,"max-width: $1px").replace(/_/g," ");break}}if(!U.has(K))U.set(K,[]);U.get(K).push(W)}for(let[W,K]of U.entries()){let z=[];for(let G of K){let A=` ${G.cssVar||mX(G,Y)}: ${m(G.value,G.type)};`;z.push(A)}if(z.length>0){let G=Y.defaultMode||"light",E=Y.isHost||!1,A=i(Z,G,E);if(W==="default")z.sort(),$+=`${A} {
111
+ ${z.join(`
112
112
  `)}
113
113
  }
114
114
 
115
- `;else{let L=W.startsWith("(")?W:`(${W})`;q+=`@media ${L} {
116
- `,q+=` ${z} {
117
- ${A.sort().map((H)=>` ${H}`).join(`
115
+ `;else{let L=W.startsWith("(")?W:`(${W})`;$+=`@media ${L} {
116
+ `,$+=` ${A} {
117
+ ${z.sort().map((H)=>` ${H}`).join(`
118
118
  `)}
119
119
  }
120
- `,q+=`}
120
+ `,$+=`}
121
121
 
122
- `}}}return q+`
123
- `}function v($,X){if($===null||$===void 0)return"";if(typeof $==="object"&&$!==null&&!Array.isArray($)){let Z=$;if(Z.$value!==void 0){if(typeof Z.$value==="string")return Z.$value;return v(Z.$value,Z.$type||X)}}let Y=String($);switch(X){case"color":return $1(Y);case"dimension":return Y1(Y);case"duration":return X1(Y);case"fontFamily":return Z1(Y);case"fontWeight":return q1(Y);case"cubicBezier":return U1($);case"shadow":return K1($);case"border":return W1($);case"typography":return G1($);case"composition":return F0($);default:if(Y.startsWith("data:"))return`"${Y}"`;return Y}}function $1($){if($.startsWith("oklch(")||$.startsWith("rgb(")||$.startsWith("rgba(")||$.startsWith("hsl(")||$.startsWith("hsla(")||$.startsWith("#"))return $;return $}function Y1($){if(/^\d+(\.\d+)?(px|rem|em|%|vh|vw|vmin|vmax)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}rem`;return $}function X1($){if(/^\d+(\.\d+)?(s|ms)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}ms`;return $}function Z1($){if(($.includes(",")||$.includes(" "))&&!$.startsWith('"')&&!$.startsWith("'"))return`"${$}"`;return $}function q1($){return{thin:"100","extra-light":"200",light:"300",normal:"400",medium:"500","semi-bold":"600",bold:"700","extra-bold":"800",black:"900"}[$]||$}function U1($){if(Array.isArray($)&&$.length===4)return`cubic-bezier(${$.join(", ")})`;return String($)}function K1($){if(Array.isArray($))return $.map((X)=>f2(X)).join(", ");return f2($)}function f2($){if(typeof $==="object"&&$!==null){let X=$,Y=X.color||"transparent";if(typeof Y==="string"&&Y.includes("{")&&Y.includes("}")){console.warn(`Unresolved token reference in shadow color: ${Y}`);let q=Y.match(/\{([^}]+)\}/)?.[1];if(q)Y=`var(${`--${I$}-${q.replace(/\./g,"-").replace(/@/g,"-")}`})`}let Z=[X.offsetX||"0",X.offsetY||"0",X.blur||"0",X.spread||"0",Y];if(X.inset)Z.unshift("inset");return Z.join(" ")}return String($)}function W1($){if(typeof $==="object"&&$!==null){let X=$,Y=x(X.width)||"1px",Z=x(X.style)||"solid",q=x(X.color)||"transparent";return`${Y} ${Z} ${q}`}return String($)}function G1($){if(typeof $==="object"&&$!==null){let X=$,Y=X.fontWeight||"normal",Z=X.fontSize||"1rem",q=X.lineHeight||"normal",U=X.fontFamily||"sans-serif";if(U.includes(" ")&&!U.startsWith('"')&&!U.startsWith("'"))U=`'${U}'`;let W;if(Z.includes("/"))W=Z;else W=`${Z}/${q}`;return`${Y} ${W} ${U}`}return String($)}function F0($){if(typeof $!=="object"||$===null)return String($);if(Array.isArray($))return $.map((Y)=>F0(Y)).join(", ");let X=$;if(X.offsetX!==void 0&&X.offsetY!==void 0)return u2(X);if(X.width!==void 0&&X.style!==void 0&&X.color!==void 0){let Y=String(X.width||"1px"),Z=String(X.style||"solid"),q=String(X.color||"transparent");return`${Y} ${Z} ${q}`}if(X.blur!==void 0||X.saturate!==void 0||X.brightness!==void 0)return z1(X);if(X.fontSize!==void 0||X.fontFamily!==void 0)return A1(X);return E1(X)}function u2($){let X=[x($.offsetX)||"0",x($.offsetY)||"0",x($.blur)||"0",x($.spread)||"0",x($.color)||"transparent"];if($.inset&&x($.inset)==="true")X.unshift("inset");return X.join(" ")}function z1($){let X=[];if($.blur)X.push(x($.blur)||"blur(0)");if($.saturate)X.push(x($.saturate)||"saturate(100%)");if($.brightness)X.push(x($.brightness)||"brightness(100%)");if($.contrast)X.push(x($.contrast)||"contrast(100%)");if($.hueRotate)X.push(x($.hueRotate)||"hue-rotate(0deg)");return X.join(" ")||"none"}function A1($){let X=x($.fontWeight)||"normal",Y=x($.fontSize)||"1rem",Z=x($.lineHeight),q=x($.fontFamily)||"sans-serif";if(q.includes(" ")&&!q.startsWith('"')&&!q.startsWith("'"))q=`'${q}'`;if(Y.includes("/"))return`${X} ${Y} ${q}`;else if(Z)return`${X} ${Y}/${Z} ${q}`;return`${X} ${Y} ${q}`}function p2($,X,Y){let Z=$.match(/^\{(.+)\}$/);if(!Z)return $;let U=Z[1].replace(/\./g,"-");if(Y)U=x0(U,{shortenName:Y.$metaData?.tokens?.css?.hooks?.shortenName});return`var(--${U})`}function x($,X,Y){if($===null||$===void 0)return"";if(typeof $==="string"){if($.match(/^\{.+\}$/))return p2($,X||"ds",Y);return $}if(typeof $==="object"&&$.value!==void 0){let Z=String($.value);if(Z.match(/^\{.+\}$/))return p2(Z,X||"ds",Y);return Z}return String($)}function E1($){let X=[];for(let[,q]of Object.entries($)){let U=q;if(typeof q==="object"&&q!==null&&U.$value&&typeof U.$value==="object"){let W=U.$value;if(W.offsetX!==void 0&&W.offsetY!==void 0){let K=u2(W);if(K)X.push(K)}else{let K=F0(W);if(K)X.push(K)}}else{let W=x(q);if(W)X.push(W)}}let Z=X.some((q)=>/^\d/.test(q)&&q.includes(" "))?", ":" ";return X.join(Z)||String($)}function h$($){if($.extensions?.mediaQuery&&typeof $.extensions.mediaQuery==="string"){let Y=$.extensions.mediaQuery;if(Y=Y.replace(/\{universe\.foundation\.breakpoint\.screen\.width\.lg\}/g,"64rem"),!Y.startsWith("@media"))Y=`@media ${Y}`;return Y}let X=$.name.match(/@(media[^@]+)/);if(X)return`@${X[1].replace(/_/g," ")}`;if($.name.includes("@screen_and__min_width__300px_"))return"@media screen and (min-width: 300px)";if($.name.includes("@screen_and__min_width__600px_"))return"@media screen and (min-width: 600px)";if($.name.includes("@")&&$.name.includes("_"))return"@media (unknown-breakpoint)";return null}function v$($){let X=$?.$name||"Design System",Y=$?.$version||"1.0.0",Z=new Date().toISOString();return`/**
124
- * ${X} - CSS Custom Properties
122
+ `}}}return $+`
123
+ `}function m(X,Z){if(X===null||X===void 0)return"";if(typeof X==="object"&&X!==null&&!Array.isArray(X)){let q=X;if(q.$value!==void 0){if(typeof q.$value==="string")return q.$value;return m(q.$value,q.$type||Z)}}let Y=String(X);switch(Z){case"color":return W1(Y);case"dimension":return G1(Y);case"duration":return z1(Y);case"fontFamily":return A1(Y);case"fontWeight":return E1(Y);case"cubicBezier":return L1(X);case"shadow":return H1(X);case"border":return _1(X);case"typography":return Q1(X);case"composition":return DY(X);default:if(Y.startsWith("data:"))return`"${Y}"`;return Y}}function W1(X){if(X.startsWith("oklch(")||X.startsWith("rgb(")||X.startsWith("rgba(")||X.startsWith("hsl(")||X.startsWith("hsla(")||X.startsWith("#"))return X;return X}function G1(X){if(/^\d+(\.\d+)?(px|rem|em|%|vh|vw|vmin|vmax)$/.test(X))return X;if(/^\d+(\.\d+)?$/.test(X))return`${X}rem`;return X}function z1(X){if(/^\d+(\.\d+)?(s|ms)$/.test(X))return X;if(/^\d+(\.\d+)?$/.test(X))return`${X}ms`;return X}function A1(X){if((X.includes(",")||X.includes(" "))&&!X.startsWith('"')&&!X.startsWith("'"))return`"${X}"`;return X}function E1(X){return{thin:"100","extra-light":"200",light:"300",normal:"400",medium:"500","semi-bold":"600",bold:"700","extra-bold":"800",black:"900"}[X]||X}function L1(X){if(Array.isArray(X)&&X.length===4)return`cubic-bezier(${X.join(", ")})`;return String(X)}function H1(X){if(Array.isArray(X))return X.map((Z)=>pZ(Z)).join(", ");return pZ(X)}function pZ(X){if(typeof X==="object"&&X!==null){let Z=X,Y=Z.color||"transparent";if(typeof Y==="string"&&Y.includes("{")&&Y.includes("}")){console.warn(`Unresolved token reference in shadow color: ${Y}`);let $=Y.match(/\{([^}]+)\}/)?.[1];if($)Y=`var(${`--${MX}-${$.replace(/\./g,"-").replace(/@/g,"-")}`})`}let q=[Z.offsetX||"0",Z.offsetY||"0",Z.blur||"0",Z.spread||"0",Y];if(Z.inset)q.unshift("inset");return q.join(" ")}return String(X)}function _1(X){if(typeof X==="object"&&X!==null){let Z=X,Y=j(Z.width)||"1px",q=j(Z.style)||"solid",$=j(Z.color)||"transparent";return`${Y} ${q} ${$}`}return String(X)}function Q1(X){if(typeof X==="object"&&X!==null){let Z=X,Y=Z.fontWeight||"normal",q=Z.fontSize||"1rem",$=Z.lineHeight||"normal",U=Z.fontFamily||"sans-serif";if(U.includes(" ")&&!U.startsWith('"')&&!U.startsWith("'"))U=`'${U}'`;let W;if(q.includes("/"))W=q;else W=`${q}/${$}`;return`${Y} ${W} ${U}`}return String(X)}function DY(X){if(typeof X!=="object"||X===null)return String(X);if(Array.isArray(X))return X.map((Y)=>DY(Y)).join(", ");let Z=X;if(Z.offsetX!==void 0&&Z.offsetY!==void 0)return cZ(Z);if(Z.width!==void 0&&Z.style!==void 0&&Z.color!==void 0){let Y=String(Z.width||"1px"),q=String(Z.style||"solid"),$=String(Z.color||"transparent");return`${Y} ${q} ${$}`}if(Z.blur!==void 0||Z.saturate!==void 0||Z.brightness!==void 0)return O1(Z);if(Z.fontSize!==void 0||Z.fontFamily!==void 0)return J1(Z);return B1(Z)}function cZ(X){let Z=[j(X.offsetX)||"0",j(X.offsetY)||"0",j(X.blur)||"0",j(X.spread)||"0",j(X.color)||"transparent"];if(X.inset&&j(X.inset)==="true")Z.unshift("inset");return Z.join(" ")}function O1(X){let Z=[];if(X.blur)Z.push(j(X.blur)||"blur(0)");if(X.saturate)Z.push(j(X.saturate)||"saturate(100%)");if(X.brightness)Z.push(j(X.brightness)||"brightness(100%)");if(X.contrast)Z.push(j(X.contrast)||"contrast(100%)");if(X.hueRotate)Z.push(j(X.hueRotate)||"hue-rotate(0deg)");return Z.join(" ")||"none"}function J1(X){let Z=j(X.fontWeight)||"normal",Y=j(X.fontSize)||"1rem",q=j(X.lineHeight),$=j(X.fontFamily)||"sans-serif";if($.includes(" ")&&!$.startsWith('"')&&!$.startsWith("'"))$=`'${$}'`;if(Y.includes("/"))return`${Z} ${Y} ${$}`;else if(q)return`${Z} ${Y}/${q} ${$}`;return`${Z} ${Y} ${$}`}function dZ(X,Z,Y){let q=X.match(/^\{(.+)\}$/);if(!q)return X;let U=q[1].replace(/\./g,"-");if(Y)U=bY(U,{shortenName:Y.$metaData?.tokens?.css?.hooks?.shortenName});return`var(--${U})`}function j(X,Z,Y){if(X===null||X===void 0)return"";if(typeof X==="string"){if(X.match(/^\{.+\}$/))return dZ(X,Z||"ds",Y);return X}if(typeof X==="object"&&X.value!==void 0){let q=String(X.value);if(q.match(/^\{.+\}$/))return dZ(q,Z||"ds",Y);return q}return String(X)}function B1(X){let Z=[];for(let[,$]of Object.entries(X)){let U=$;if(typeof $==="object"&&$!==null&&U.$value&&typeof U.$value==="object"){let W=U.$value;if(W.offsetX!==void 0&&W.offsetY!==void 0){let K=cZ(W);if(K)Z.push(K)}else{let K=DY(W);if(K)Z.push(K)}}else{let W=j($);if(W)Z.push(W)}}let q=Z.some(($)=>/^\d/.test($)&&$.includes(" "))?", ":" ";return Z.join(q)||String(X)}function pX(X){if(X.extensions?.mediaQuery&&typeof X.extensions.mediaQuery==="string"){let Y=X.extensions.mediaQuery;if(Y=Y.replace(/\{universe\.foundation\.breakpoint\.screen\.width\.lg\}/g,"64rem"),!Y.startsWith("@media"))Y=`@media ${Y}`;return Y}let Z=X.name.match(/@(media[^@]+)/);if(Z)return`@${Z[1].replace(/_/g," ")}`;if(X.name.includes("@screen_and__min_width__300px_"))return"@media screen and (min-width: 300px)";if(X.name.includes("@screen_and__min_width__600px_"))return"@media screen and (min-width: 600px)";if(X.name.includes("@")&&X.name.includes("_"))return"@media (unknown-breakpoint)";return null}function dX(X){let Z=X?.$name||"Design System",Y=X?.$version||"1.0.0",q=new Date().toISOString();return`/**
124
+ * ${Z} - CSS Custom Properties
125
125
  * Version: ${Y}
126
- * Generated: ${Z}
126
+ * Generated: ${q}
127
127
  *
128
128
  * This file contains CSS custom properties (CSS variables) generated from design tokens.
129
129
  * Do not edit this file directly - it will be overwritten.
130
- */`}function L1($){let X=$.replace(/\r?\n|\r/g,"").replace(/\s+/g," ").trim();return`data:image/svg+xml;base64,${Buffer.from(X,"utf8").toString("base64")}`}function j0($,X={}){let{customHeader:Y,objectPath:Z="universe.custom.path.icons"}=X,q="--"+Z.replace(/\./g,"-"),U="";if(Y)U+=Y+`
130
+ */`}function I1(X){let Z=X.replace(/\r?\n|\r/g,"").replace(/\s+/g," ").trim();return`data:image/svg+xml;base64,${Buffer.from(Z,"utf8").toString("base64")}`}function SY(X,Z={}){let{customHeader:Y,objectPath:q="universe.custom.path.icons",isHost:$=!1,defaultMode:U="light"}=Z,W="--"+q.replace(/\./g,"-"),K="";if(Y)K+=Y+`
131
131
 
132
- `;else U+=`/**
132
+ `;else K+=`/**
133
133
  * Icon CSS - Base64 Encoded SVG Icons as CSS Custom Properties
134
134
  * Generated: ${new Date().toISOString()}
135
135
  *
136
136
  * This file contains CSS custom properties (variables) for icons with base64 encoded SVG values.
137
- * Follows the object path structure: ${Z}.{category}.{IconName}
137
+ * Follows the object path structure: ${q}.{category}.{IconName}
138
138
  * Variable names may be shortened by configured hooks.
139
139
  * Usage examples:
140
140
  * background-image: var(--icon-actions-delete);
@@ -143,49 +143,51 @@ ${A.sort().map((H)=>` ${H}`).join(`
143
143
  * Do not edit this file directly - it will be overwritten.
144
144
  */
145
145
 
146
- `;U+=`:root {
147
- `;let W=[...$].sort((K,A)=>K.name.localeCompare(A.name));for(let K of W){let A=K.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),G=`${q}-${K.category}-${A}`;if(X.hooks?.shortenName?.enabled)G=x0(G,X.hooks);let E=L1(K.value);U+=` ${G}: url("${E}");
148
- `}return U+=`}
149
- `,{fileName:"tokens.icons.css",content:U.trim()+`
150
- `}}var f$=S(()=>{T()});import{readFileSync as H1,existsSync as _1}from"fs";import{join as k2,relative as Q1}from"path";async function S0(){try{let{assets:$}=await m(!0),{icons:X}=await C(),Y=await a(),Z=$?.icons?.distDir??"build",q=k2(Y,Z),U=k2(q,"tokens",await q$("json"));if(!_1(U)){let z=Q1(process.cwd(),U);return console.log(`ℹ️ Icon data not found (skipping icon types): ${z}`),console.log(" Run icon build first if you need icon types generated."),[]}let W=JSON.parse(H1(U,"utf8")),K=X?.objectPath??"universe.icons",A=K.split("."),G=W;for(let z of A)if(G&&typeof G==="object"&&z in G)G=G[z];else throw Error(`Icon path ${K} not found in icons file`);let E=[];for(let[z,L]of Object.entries(G))if(typeof L==="object"&&L!==null){for(let[H,_]of Object.entries(L))if(typeof _==="object"&&_!==null){let Q=_;E.push({name:H,category:z,value:Q.$value||"",description:Q.$description||"",style:Q.$style||"",dimensions:Q.$dimensions})}}return E}catch($){if($ instanceof Error){if("code"in $&&$.code!=="ENOENT")console.warn(`⚠️ Could not load icon data: ${$.message}`)}return[]}}async function D0($,X={}){let{generateTypes:Y=!0,generateConsts:Z=!0}=X,q=X.icons;if(!q)q=await S0();let U={...X,icons:q},W=[];if(Y)W.push({fileName:"tokens.types.ts",content:O1($,U),type:"types"});if(Z)W.push({fileName:"tokens.constants.ts",content:w1($,U),type:"constants"});return W.push({fileName:"index.ts",content:B1(W),type:"index"}),W}function O1($,X){let{tokenInterface:Y="DesignTokens",includeJSDoc:Z=!0,icons:q=[]}=X,U=b0("Type Definitions");if(U+=I1($,Z),U+=J1($,Z),q.length>0)U+=R1(q,Z);return U+=M1($,Y,Z),U+=x1($,Z),U+`
151
- `}function w1($,X){let{includeJSDoc:Y=!0,icons:Z=[]}=X,q=b0("Token Constants"),U="TokenPaths, CSSVariableNames";if(Z.length>0)U+=", IconNames, IconCategories, Icon";if(q+=`import type { ${U} } from './tokens.types';
152
-
153
- `,q+=F1($,Y),q+=S1($,Y),Z.length>0)q+=j1(Z,Y);return q+=D1($,Y),q+`
154
- `}function B1($){let X=b0("Main Export");if($.some((Y)=>Y.type==="types"))X+=`export type * from './tokens.types';
155
- `;if($.some((Y)=>Y.type==="constants"))X+=`export * from './tokens.constants';
156
- `;return X+=`
157
- `,X+`
158
- `}function I1($,X){let Y=$.map((q)=>`"${q.name}"`).join(`
159
- | `),Z="";if(X)Z+=`/**
146
+ `;let z=i(U,U,$);K+=`${z} {
147
+ `;let G=[...X].sort((E,A)=>E.name.localeCompare(A.name));for(let E of G){let A=E.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),L=E.category?`${W}-${E.category}-${A}`:`${W}-${A}`;if(Z.hooks?.shortenName?.enabled)L=bY(L,Z.hooks);let H=I1(E.value);K+=` ${L}: url("${H}");
148
+ `}return K+=`}
149
+ `,{fileName:"tokens.icons.css",content:K.trim()+`
150
+ `}}var uX=S(()=>{g()});import{readFileSync as w1,existsSync as R1}from"fs";import{join as lZ,relative as M1}from"path";async function PY(){try{let{assets:X}=await d(!0),{icons:Z}=await T(),Y=await o(),q=X?.icons?.distDir??"build",$=lZ(Y,q),U=lZ($,"tokens",await WX("json"));if(!R1(U)){let _=M1(process.cwd(),U);return console.log(`ℹ️ Icon data not found (skipping icon types): ${_}`),console.log(" Run icon build first if you need icon types generated."),[]}let W=JSON.parse(w1(U,"utf8")),K=Z?.objectPath??"universe.icons",z=K.split("."),G=W;for(let _ of z)if(G&&typeof G==="object"&&_ in G)G=G[_];else throw Error(`Icon path ${K} not found in icons file`);let E=[],A=Object.keys(G)[0],L=G[A];if(L&&typeof L==="object"&&"$value"in L){for(let[_,Q]of Object.entries(G))if(typeof Q==="object"&&Q!==null){let J=Q;if(_.startsWith("$"))continue;E.push({name:_,category:"",value:J.$value||"",description:J.$description||"",style:J.$style||"",dimensions:J.$extensions?.dimensions||J.$dimensions})}}else for(let[_,Q]of Object.entries(G))if(typeof Q==="object"&&Q!==null){for(let[J,O]of Object.entries(Q))if(typeof O==="object"&&O!==null){let B=O;if(J.startsWith("$"))continue;E.push({name:J,category:_,value:B.$value||"",description:B.$description||"",style:B.$style||"",dimensions:B.$extensions?.dimensions||B.$dimensions})}}return E}catch(X){if(X instanceof Error){if("code"in X&&X.code!=="ENOENT")console.warn(`⚠️ Could not load icon data: ${X.message}`)}return[]}}async function CY(X,Z={},Y){let{generateTypes:q=!0,generateConsts:$=!0}=Z,U=Z.icons;if(!U)U=await PY();let W={...Z,icons:U},K=[];if(q)K.push({fileName:"tokens.types.ts",content:N1(X,W),type:"types"});if($)K.push({fileName:"tokens.constants.ts",content:F1(X,W),type:"constants"});return K.push({fileName:"index.ts",content:x1(K,Y),type:"index"}),K}function N1(X,Z){let{tokenInterface:Y="DesignTokens",includeJSDoc:q=!0,icons:$=[]}=Z,U=VY("Type Definitions");if(U+=j1(X,q),U+=b1(X,q),$.length>0)U+=D1($,q);return U+=S1(X,Y,q),U+=C1(X,q),U+`
151
+ `}function F1(X,Z){let{includeJSDoc:Y=!0,icons:q=[]}=Z,$=VY("Token Constants"),U="TokenPaths, CSSVariableNames";if(q.length>0)U+=", IconNames, IconCategories, Icon";if($+=`import type { ${U} } from './tokens.types';
152
+
153
+ `,$+=V1(X,Y),$+=y1(X,Y),q.length>0)$+=T1(q,Y);return $+=g1(X,Y),$+`
154
+ `}function x1(X,Z){let Y=VY("Main Export");if(X.some((q)=>q.type==="types"))Y+=`export type * from './tokens.types';
155
+ `;if(X.some((q)=>q.type==="constants"))Y+=`export * from './tokens.constants';
156
+ `;if(Z)try{let q=n("fs"),U=n("path").join(Z,"typescript","tokens.icons.ts");if(q.existsSync(U))Y+=`export type * from './tokens.icons';
157
+ `,Y+=`export * from './tokens.icons';
158
+ `}catch(q){}return Y+=`
159
+ `,Y+`
160
+ `}function j1(X,Z){let Y=X.map(($)=>`"${$.name}"`).join(`
161
+ | `),q="";if(Z)q+=`/**
160
162
  * All available token paths as string literals
161
163
  */
162
- `;return Z+=`export type TokenPaths =
164
+ `;return q+=`export type TokenPaths =
163
165
  | ${Y};
164
166
 
165
- `,Z+`
166
- `}function J1($,X){let Y=b1($),Z="";for(let[q,U]of Y){let W=`${C1(q)}TokenValue`,K=new Set(U.map((G)=>J$(G.value))),A=Array.from(K).join(`
167
- | `);if(X)Z+=`/**
168
- * Possible values for ${q} tokens
167
+ `,q+`
168
+ `}function b1(X,Z){let Y=f1(X),q="";for(let[$,U]of Y){let W=`${h1($)}TokenValue`,K=new Set(U.map((G)=>NX(G.value))),z=Array.from(K).join(`
169
+ | `);if(Z)q+=`/**
170
+ * Possible values for ${$} tokens
169
171
  */
170
- `;Z+=`export type ${W} =
171
- | ${A};
172
+ `;q+=`export type ${W} =
173
+ | ${z};
172
174
 
173
- `}return Z+`
174
- `}function R1($,X){let Y="",Z=$.map((W)=>`"${W.name}"`).join(`
175
- | `);if(X)Y+=`/**
175
+ `}return q+`
176
+ `}function D1(X,Z){let Y="",q=X.map((W)=>`"${W.name}"`).join(`
177
+ | `);if(Z)Y+=`/**
176
178
  * All available icon names as string literals
177
179
  */
178
180
  `;Y+=`export type IconNames =
179
- | ${Z};
181
+ | ${q};
180
182
 
181
- `;let U=[...new Set($.map((W)=>W.category))].map((W)=>`"${W}"`).join(`
182
- | `);if(X)Y+=`/**
183
+ `;let U=[...new Set(X.map((W)=>W.category))].map((W)=>`"${W}"`).join(`
184
+ | `);if(Z)Y+=`/**
183
185
  * All available icon categories
184
186
  */
185
187
  `;if(Y+=`export type IconCategories =
186
188
  | ${U};
187
189
 
188
- `,X)Y+=`/**
190
+ `,Z)Y+=`/**
189
191
  * Icon data structure
190
192
  */
191
193
  `;return Y+=`export interface Icon {
@@ -207,74 +209,74 @@ ${A.sort().map((H)=>` ${H}`).join(`
207
209
  `,Y+=`}
208
210
 
209
211
  `,Y+`
210
- `}function M1($,X,Y){let Z="";if(Y)Z+=`/**
212
+ `}function S1(X,Z,Y){let q="";if(Y)q+=`/**
211
213
  * Design tokens interface with all token paths and their values
212
214
  */
213
- `;Z+=`export interface ${X} {
214
- `;for(let q of $){if(Y&&q.description)Z+=` /** ${q.description} */
215
- `;Z+=` "${q.name}": ${J$(q.value)};
216
- `}return Z+=`}
215
+ `;q+=`export interface ${Z} {
216
+ `;for(let $ of X){if(Y&&$.description)q+=` /** ${$.description} */
217
+ `;q+=` "${$.name}": ${NX($.value)};
218
+ `}return q+=`}
217
219
 
218
- `,Z+=N1($,`${X}Nested`,Y),Z+`
219
- `}function N1($,X,Y){let Z=P1($),q="";if(Y)q+=`/**
220
+ `,q+=P1(X,`${Z}Nested`,Y),q+`
221
+ `}function P1(X,Z,Y){let q=v1(X),$="";if(Y)$+=`/**
220
222
  * Design tokens interface with nested structure
221
223
  */
222
- `;return q+=`export interface ${X} {
223
- `,q+=c2(Z,1),q+=`}
224
+ `;return $+=`export interface ${Z} {
225
+ `,$+=rZ(q,1),$+=`}
224
226
 
225
- `,q+`
226
- `}function x1($,X){let Z=Array.from(new Set($.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
227
- | `),q="";if(X)q+=`/**
227
+ `,$+`
228
+ `}function C1(X,Z){let q=Array.from(new Set(X.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
229
+ | `),$="";if(Z)$+=`/**
228
230
  * All available CSS variable names
229
231
  */
230
- `;return q+=`export type CSSVariableNames =
231
- | ${Z};
232
+ `;return $+=`export type CSSVariableNames =
233
+ | ${q};
232
234
 
233
- `,q+`
234
- `}function F1($,X){let Y="";if(X)Y+=`/**
235
+ `,$+`
236
+ `}function V1(X,Z){let Y="";if(Z)Y+=`/**
235
237
  * Object containing all token values
236
238
  */
237
239
  `;Y+=`export const tokenValues = {
238
- `;for(let Z of $){if(X&&Z.description)Y+=` /** ${Z.description} */
239
- `;Y+=` "${Z.name}": ${JSON.stringify(Z.value)},
240
+ `;for(let q of X){if(Z&&q.description)Y+=` /** ${q.description} */
241
+ `;Y+=` "${q.name}": ${JSON.stringify(q.value)},
240
242
  `}return Y+=`} as const;
241
243
 
242
- `,Y}function j1($,X){let Y="";if(X)Y+=`/**
244
+ `,Y}function T1(X,Z){let Y="";if(Z)Y+=`/**
243
245
  * Array of all available icons
244
246
  */
245
247
  `;Y+=`export const icons: Icon[] = [
246
- `;for(let q of $){if(Y+=` {
247
- `,Y+=` name: "${q.name}",
248
- `,Y+=` category: "${q.category}",
249
- `,Y+=` value: ${JSON.stringify(q.value)},
250
- `,q.description)Y+=` description: ${JSON.stringify(q.description)},
251
- `;if(q.style)Y+=` style: "${q.style}",
252
- `;if(q.dimensions)Y+=` dimensions: { width: ${q.dimensions.width}, height: ${q.dimensions.height} },
248
+ `;for(let $ of X){if(Y+=` {
249
+ `,Y+=` name: "${$.name}",
250
+ `,Y+=` category: "${$.category}",
251
+ `,Y+=` value: ${JSON.stringify($.value)},
252
+ `,$.description)Y+=` description: ${JSON.stringify($.description)},
253
+ `;if($.style)Y+=` style: "${$.style}",
254
+ `;if($.dimensions)Y+=` dimensions: { width: ${$.dimensions.width}, height: ${$.dimensions.height} },
253
255
  `;Y+=` },
254
256
  `}if(Y+=`];
255
257
 
256
- `,X)Y+=`/**
258
+ `,Z)Y+=`/**
257
259
  * Array of all icon names
258
260
  */
259
261
  `;Y+=`export const iconNames: IconNames[] = [
260
- `;for(let q of $)Y+=` "${q.name}",
262
+ `;for(let $ of X)Y+=` "${$.name}",
261
263
  `;Y+=`] as const;
262
264
 
263
- `;let Z=[...new Set($.map((q)=>q.category))];if(X)Y+=`/**
265
+ `;let q=[...new Set(X.map(($)=>$.category))];if(Z)Y+=`/**
264
266
  * Array of all icon categories
265
267
  */
266
268
  `;Y+=`export const iconCategories: IconCategories[] = [
267
- `;for(let q of Z)Y+=` "${q}",
269
+ `;for(let $ of q)Y+=` "${$}",
268
270
  `;if(Y+=`] as const;
269
271
 
270
- `,X)Y+=`/**
272
+ `,Z)Y+=`/**
271
273
  * Get icon by name
272
274
  */
273
275
  `;if(Y+=`export function getIcon(name: IconNames): Icon | undefined {
274
276
  `,Y+=` return icons.find(icon => icon.name === name);
275
277
  `,Y+=`}
276
278
 
277
- `,X)Y+=`/**
279
+ `,Z)Y+=`/**
278
280
  * Get icons by category
279
281
  */
280
282
  `;return Y+=`export function getIconsByCategory(category: IconCategories): Icon[] {
@@ -282,36 +284,36 @@ ${A.sort().map((H)=>` ${H}`).join(`
282
284
  `,Y+=`}
283
285
 
284
286
  `,Y+`
285
- `}function S1($,X){let Y="";if(X)Y+=`/**
287
+ `}function y1(X,Z){let Y="";if(Z)Y+=`/**
286
288
  * Object mapping token paths to CSS variable names
287
289
  */
288
290
  `;Y+=`export const cssVariableNames = {
289
- `;for(let Z of $)Y+=` "${Z.name}": "${Z.cssVar}",
291
+ `;for(let q of X)Y+=` "${q.name}": "${q.cssVar}",
290
292
  `;return Y+=`} as const;
291
293
 
292
294
  `,Y+`
293
- `}function D1($,X){let Y="";if(X)Y+=`/**
295
+ `}function g1(X,Z){let Y="";if(Z)Y+=`/**
294
296
  * Get the value of a design token
295
297
  */
296
298
  `;if(Y+=`export function getTokenValue<T extends TokenPaths>(tokenPath: T): typeof tokenValues[T] {
297
299
  return tokenValues[tokenPath];
298
300
  }
299
301
 
300
- `,X)Y+=`/**
302
+ `,Z)Y+=`/**
301
303
  * Get the CSS variable name for a design token
302
304
  */
303
305
  `;if(Y+=`export function getCSSVariableName<T extends TokenPaths>(tokenPath: T): typeof cssVariableNames[T] {
304
306
  return cssVariableNames[tokenPath];
305
307
  }
306
308
 
307
- `,X)Y+=`/**
309
+ `,Z)Y+=`/**
308
310
  * Get a CSS var() reference for a design token
309
311
  */
310
312
  `;if(Y+=`export function getCSSVariableReference<T extends TokenPaths>(tokenPath: T): string {
311
313
  return \`var(\${cssVariableNames[tokenPath]})\`;
312
314
  }
313
315
 
314
- `,X)Y+=`/**
316
+ `,Z)Y+=`/**
315
317
  * Check if a token path exists
316
318
  */
317
319
  `;return Y+=`export function hasToken(tokenPath: string): tokenPath is TokenPaths {
@@ -319,36 +321,50 @@ ${A.sort().map((H)=>` ${H}`).join(`
319
321
  }
320
322
 
321
323
  `,Y+`
322
- `}function b1($){let X=new Map;for(let Y of $){if(!X.has(Y.type))X.set(Y.type,[]);X.get(Y.type).push(Y)}return X}function P1($){let X={};for(let Y of $){if(Y.path.some((A)=>A.includes("@")||A.includes("#")||A.includes("-")||A.includes(".")))continue;let q=X,U=[...Y.path];for(let A=0;A<U.length-1;A++){let G=U[A];if(!q[G])q[G]={};q=q[G]}let W=U[U.length-1],K=J$(Y.value);q[W]=K}return X}function c2($,X){let Y="",Z=" ".repeat(X);for(let[q,U]of Object.entries($)){let W=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(q)?q:`"${q}"`;if(typeof U==="object"&&!Array.isArray(U))Y+=`${Z}${W}: {
323
- `,Y+=c2(U,X+1),Y+=`${Z}};
324
- `;else Y+=`${Z}${W}: ${U};
325
- `}return Y}function J$($){if(typeof $==="string")return`"${$}"`;else if(typeof $==="number")return $.toString();else if(typeof $==="boolean")return $.toString();else if(Array.isArray($)){let X=new Set($.map((Z)=>J$(Z)));return`Array<${Array.from(X).join(" | ")}>`}else if($===null)return"null";else if($===void 0)return"undefined";else if(typeof $==="object"&&$!==null)return`{ ${Object.entries($).map(([Z,q])=>`${Z}: ${J$(q)}`).join("; ")} }`;else return"unknown"}function C1($){if(!$||typeof $!=="string")return"";return $.charAt(0).toUpperCase()+$.slice(1)}function b0($){let X=new Date().toISOString();return`/**
326
- * ${$}
327
- * Generated: ${X}
324
+ `}function f1(X){let Z=new Map;for(let Y of X){if(!Z.has(Y.type))Z.set(Y.type,[]);Z.get(Y.type).push(Y)}return Z}function v1(X){let Z={};for(let Y of X){if(Y.path.some((z)=>z.includes("@")||z.includes("#")||z.includes("-")||z.includes(".")))continue;let $=Z,U=[...Y.path];for(let z=0;z<U.length-1;z++){let G=U[z];if(!$[G])$[G]={};$=$[G]}let W=U[U.length-1],K=NX(Y.value);$[W]=K}return Z}function rZ(X,Z){let Y="",q=" ".repeat(Z);for(let[$,U]of Object.entries(X)){let W=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($)?$:`"${$}"`;if(typeof U==="object"&&!Array.isArray(U))Y+=`${q}${W}: {
325
+ `,Y+=rZ(U,Z+1),Y+=`${q}};
326
+ `;else Y+=`${q}${W}: ${U};
327
+ `}return Y}function NX(X){if(typeof X==="string")return`"${X}"`;else if(typeof X==="number")return X.toString();else if(typeof X==="boolean")return X.toString();else if(Array.isArray(X)){let Z=new Set(X.map((q)=>NX(q)));return`Array<${Array.from(Z).join(" | ")}>`}else if(X===null)return"null";else if(X===void 0)return"undefined";else if(typeof X==="object"&&X!==null)return`{ ${Object.entries(X).map(([q,$])=>`${q}: ${NX($)}`).join("; ")} }`;else return"unknown"}function h1(X){if(!X||typeof X!=="string")return"";return X.charAt(0).toUpperCase()+X.slice(1)}function VY(X){let Z=new Date().toISOString();return`/**
328
+ * ${X}
329
+ * Generated: ${Z}
328
330
  *
329
331
  * This file is auto-generated from design tokens.
330
332
  * Do not edit this file directly - it will be overwritten.
331
333
  */
332
334
 
333
- `}var P0=S(()=>{T()});import{readFileSync as V1,mkdirSync as T1}from"fs";import{writeFile as l2,readdir as g1,mkdir as y1}from"fs/promises";import{resolve as h1,relative as r2,join as p$,dirname as v1}from"path";import f1 from"lodash";async function i2($){let X=await g1($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=h1($,Z.name);return Z.isDirectory()?i2(q):q}));return Array.prototype.concat(...Y)}async function V0(){let{assets:$,icons:X,tokenNamespace:Y,__dirname:Z,buildDir:q}=await l(),U=p$(Z,$?.icons?.sourceDir??"icons"),W="build",K=$?.icons?.distDir??"build",A=p$(Z,K),G=p$(Z,q,"icons");if(!$?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}s(p$(Z,q));let E=(await i2(U)).filter((B)=>B.endsWith(".svg")),H=(await Promise.all(E.map(async(B)=>{let I=V1(B,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";I=await _0(I);let J=r2(U,B).split("/").pop(),R=(I.match(/name="(.*?)"/)??[])[1]??J?.replace(".svg",""),f=(I.match(/data-style="(.*?)"/)??[])[1],d$=(I.match(/description="(.*?)"/)??[])[1],[p0]=I.match(/<svg[^>]*>/)??[],[,GY]=p0?.match(/width="([\d.]+)(px)?"/)??[],[,zY]=p0?.match(/height="([\d.]+)(px)?"/)??[];if(f!=="animated"&&f!=="custom")return{path:B,folder:r2(U,B).split("/").slice(0,-1).concat(R),file:J,style:f,content:I,name:R,dimensions:{width:Number(GY),height:Number(zY)},description:d$??""};return}))).filter((B)=>B!==void 0).reduce((B,I)=>{if(I?.style!=="animated"&&I?.style!=="custom"&&I)C0(B,I.folder.join("."),{$type:"icon",$name:I.name,$description:I.description,$style:I.style,$value:I.content,$dimensions:I.dimensions,...p1(B,I.folder.join("."))});return B},{}),_=X?.objectPath??`${Y}.icons`;Object.keys(H).forEach(async(B)=>{let I=`${G}/${B}`,J=`${I}/svg.${B}.tokens.json`;await y1(I,{recursive:!0});let R=C0({},`${_}${_?".":""}${B}`,H[B]);await l2(J,JSON.stringify(R,null,2),{flag:"w",encoding:"utf-8"})});let Q=`${A}/tokens/${await q$("json")}`,w=v1(Q);T1(w,{recursive:!0});let O=C0({},_,H);await l2(Q,JSON.stringify(O,null,2),{flag:"w",encoding:"utf-8"})}var C0,p1,LX;var s2=S(()=>{T();({set:C0,get:p1}=f1);LX=V0().catch(($)=>{console.error($),process.exit(1)})});function t2($,X={}){let Y=[],Z=X.typescript?"ts":"js",q=X.modes||[],U=$.filter((K)=>K.extensions?.mediaQuery||K.name.includes("@screen")||K.name.includes("@_")),W=$.filter((K)=>!K.extensions?.mediaQuery&&!K.name.includes("@screen")&&!K.name.includes("@_"));if(X.separateThemeFiles&&q.length>0){let K=q.join("|"),A=new RegExp(`#(${K})$`),G=new Map;for(let E of q)G.set(E,[]);for(let E of W){let z=E.name.match(A);if(z){let L=z[1];G.get(L).push(E)}else{let L=q[0];G.get(L).push(E)}}for(let E of q){let z=G.get(E)||[];if(z.length>0){if(X.typescript){let L=o2(z,E);Y.push({fileName:`${E}.d.ts`,content:l1(L,X,E),theme:E})}Y.push({fileName:`${E}.${Z}`,content:n2(z,{...X,theme:E}),theme:E})}}}else Y.push({fileName:`tokens.${Z}`,content:n2(W,X)});if(U.length>0)Y.push({fileName:`breakpoints.${Z}`,content:m1(U,$,X)});if(X.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${Z}`,content:i1(Y,X)});return Y}function m1($,X,Y={}){let{typescript:Z,includeJSDoc:q,moduleType:U="es",customHeader:W,modes:K=[]}=Y,A=new Map(X.map((L)=>[L.name,L])),G={};for(let L of $){let H=L.extensions?.mediaQuery||d1(L.name),_=K.length>0?K[0]:"default";for(let O of K)if(L.name.includes(`#${O}`)){_=O;break}if(typeof H==="string"&&H.includes("{")&&H.includes("}"))H=k1(H,A);if(!G[H])G[H]={};if(!G[H][_])G[H][_]={};let Q=u1(L.name),w=c1(Q,m$(L.value,A));G[H][_]={...G[H][_],...w}}let E=Object.keys(G).sort((L,H)=>{let _=a2(L),Q=a2(H);return _-Q}).reduce((L,H)=>{return L[H]=G[H],L},{}),z="";if(W)z+=`${W}
335
+ `}var TY=S(()=>{g()});import{readFileSync as m1,mkdirSync as aZ}from"fs";import{writeFile as sZ,readdir as p1,mkdir as d1}from"fs/promises";import{resolve as u1,relative as iZ,join as kX,dirname as nZ}from"path";import k1 from"lodash";async function tZ(X){let Z=await p1(X,{withFileTypes:!0}),Y=await Promise.all(Z.map((q)=>{let $=u1(X,q.name);return q.isDirectory()?tZ($):$}));return Array.prototype.concat(...Y)}async function oZ(X,Z){if(!X)throw Error("outputDir is required for buildIcons");let{assets:Y,icons:q,tokenNamespace:$,__dirname:U,buildDir:W}=await r(),K=kX(U,Y?.icons?.sourceDir??"icons"),z="build",G=Y?.icons?.distDir??z,E=kX(U,G),A=kX(U,W,"icons");if(!Y?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}t(kX(U,W));let L=(await tZ(K)).filter((M)=>M.endsWith(".svg")),Q=(await Promise.all(L.map(async(M)=>{let N=m1(M,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";N=await JY(N);let YX=iZ(K,M).split("/").pop(),xX=(N.match(/name="(.*?)"/)??[])[1]??YX?.replace(".svg",""),lX=(N.match(/data-style="(.*?)"/)??[])[1],H0=(N.match(/description="(.*?)"/)??[])[1],[dY]=N.match(/<svg[^>]*>/)??[],[,_0]=dY?.match(/width="([\d.]+)(px)?"/)??[],[,Q0]=dY?.match(/height="([\d.]+)(px)?"/)??[];if(lX!=="animated"&&lX!=="custom")return{path:M,folder:iZ(K,M).split("/").slice(0,-1).concat(xX),file:YX,style:lX,content:N,name:xX,dimensions:{width:Number(_0),height:Number(Q0)},description:H0??""};return}))).filter((M)=>M!==void 0).reduce((M,N)=>{if(N?.style!=="animated"&&N?.style!=="custom"&&N)yY(M,N.folder.join("."),{$type:"icon",$name:N.name,$description:N.description,$style:N.style,$value:N.content,$extensions:{dimensions:N.dimensions},...c1(M,N.folder.join("."))});return M},{}),J=q?.objectPath??`${$}.icons`,B=Object.keys(Q).some((M)=>M.includes("."));Object.keys(Q).forEach(async(M)=>{let N,YX;if(B)N=`${A}/${M}`,YX=`${N}/svg.${M}.tokens.json`;else N=A,YX=`${A}/svg.${M}.tokens.json`;await d1(N,{recursive:!0});let xX=yY({},`${J}${J?".":""}${M}`,Q[M]);await sZ(YX,JSON.stringify(xX,null,2),{flag:"w",encoding:"utf-8"})});let R=`${E}/tokens/${await WX("json")}`,I=nZ(R);aZ(I,{recursive:!0});let w=yY({},J,Q);await sZ(R,JSON.stringify(w,null,2),{flag:"w",encoding:"utf-8"}),await l1(Q,X,Z)}async function l1(X,Z,Y){let{writeFileSync:q}=n("fs"),{join:$}=n("path");try{let U=Object.keys(X).sort(),W=`/**
336
+ * Icon Names Type Definition
337
+ * Generated: ${new Date().toISOString()}
338
+ *
339
+ * This file contains all available icon names for TypeScript typing.
340
+ * Do not edit this file directly - it will be overwritten.
341
+ */
342
+
343
+ export const icons = [
344
+ ${U.map((G)=>`'${G}'`).join(`,
345
+ `)}
346
+ ] as const;
334
347
 
335
- `;else z+=`/**
336
- `,z+=` * Design Tokens - Breakpoints
337
- `,z+=` * Auto-generated from design token definitions
338
- `,z+=` * Do not edit this file directly
339
- `,z+=` */
348
+ export type IconName = typeof icons[number];
349
+ `,K=$(Z,"typescript","tokens.icons.ts"),z=nZ(K);aZ(z,{recursive:!0}),q(K,W,"utf-8"),console.log(`✓ Generated ${U.length} icon names`)}catch(U){console.error("Failed to generate icon names:",U)}}var yY,c1;var eZ=S(()=>{g();({set:yY,get:c1}=k1)});function Z0(X,Z={}){let Y=[],q=Z.typescript?"ts":"js",$=Z.modes||[],U=X.filter((K)=>K.extensions?.mediaQuery||K.name.includes("@screen")||K.name.includes("@_")),W=X.filter((K)=>!K.extensions?.mediaQuery&&!K.name.includes("@screen")&&!K.name.includes("@_"));if(Z.separateThemeFiles&&$.length>0){let K=$.join("|"),z=new RegExp(`#(${K})$`),G=new Map;for(let E of $)G.set(E,[]);for(let E of W){let A=E.name.match(z);if(A){let L=A[1];G.get(L).push(E)}else{let L=$[0];G.get(L).push(E)}}for(let E of $){let A=G.get(E)||[];if(A.length>0){if(Z.typescript){let L=q0(A,E);Y.push({fileName:`${E}.d.ts`,content:t1(L,Z,E),theme:E})}Y.push({fileName:`${E}.${q}`,content:Y0(A,{...Z,theme:E}),theme:E})}}}else Y.push({fileName:`tokens.${q}`,content:Y0(W,Z)});if(U.length>0)Y.push({fileName:`breakpoints.${q}`,content:r1(U,X,Z)});if(Z.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${q}`,content:e1(Y,Z)});return Y}function r1(X,Z,Y={}){let{typescript:q,includeJSDoc:$,moduleType:U="es",customHeader:W,modes:K=[]}=Y,z=new Map(Z.map((L)=>[L.name,L])),G={};for(let L of X){let H=L.extensions?.mediaQuery||s1(L.name),_=K.length>0?K[0]:"default";for(let O of K)if(L.name.includes(`#${O}`)){_=O;break}if(typeof H==="string"&&H.includes("{")&&H.includes("}"))H=a1(H,z);if(!G[H])G[H]={};if(!G[H][_])G[H][_]={};let Q=i1(L.name),J=n1(Q,cX(L.value,z));G[H][_]={...G[H][_],...J}}let E=Object.keys(G).sort((L,H)=>{let _=X0(L),Q=X0(H);return _-Q}).reduce((L,H)=>{return L[H]=G[H],L},{}),A="";if(W)A+=`${W}
340
350
 
341
- `;if(Z)z+=e2(E,q),z+=`
342
- `;if(U==="es"){if(Z)z+=`const breakpoints: Tokens = ${o(E,q,0)};
351
+ `;else A+=`/**
352
+ `,A+=` * Design Tokens - Breakpoints
353
+ `,A+=` * Auto-generated from design token definitions
354
+ `,A+=` * Do not edit this file directly
355
+ `,A+=` */
343
356
 
344
- `;else z+=`const breakpoints = ${o(E,q,0)};
357
+ `;if(q)A+=$0(E,$),A+=`
358
+ `;if(U==="es"){if(q)A+=`const breakpoints: Tokens = ${XX(E,$,0)};
345
359
 
346
- `;z+=`export default breakpoints;
347
- `}else z+=`const breakpoints = ${o(E,q,0)};
360
+ `;else A+=`const breakpoints = ${XX(E,$,0)};
348
361
 
349
- `,z+=`module.exports = breakpoints;
350
- `,z+=`module.exports.default = breakpoints;
351
- `;return z}function d1($){if($.includes("@_max_width_")){let X=$.match(/@_max_width___(.+?)__/);if(X)return`screen and (max-width: {${X[1].replace(/_/g,".")}})`}if($.includes("@_min_width_")){let X=$.match(/@_min_width___(.+?)__/);if(X)return`screen and (min-width: {${X[1].replace(/_/g,".")}})`}return"screen"}function u1($){let X=$.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return X=X.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),X}function a2($){let X=$.match(/(\d+(?:\.\d+)?)/);return X?parseFloat(X[1]):0}function k1($,X){return $.replace(/\{([^}]+)\}/g,(Y,Z)=>{let q=X.get(Z);if(q){let U=q.value;if(typeof U==="object"&&U!==null&&"$value"in U)U=U.$value;return String(U)}return Y})}function c1($,X){let Y=$.split("."),Z={},q=Z;for(let U=0;U<Y.length-1;U++)q[Y[U]]={},q=q[Y[U]];return q[Y[Y.length-1]]=X,Z}function n2($,X={}){let{typescript:Y,includeJSDoc:Z,moduleType:q="es",customHeader:U,theme:W}=X,K="";if(U)K+=`${U}
362
+ `;A+=`export default breakpoints;
363
+ `}else A+=`const breakpoints = ${XX(E,$,0)};
364
+
365
+ `,A+=`module.exports = breakpoints;
366
+ `,A+=`module.exports.default = breakpoints;
367
+ `;return A}function s1(X){if(X.includes("@_max_width_")){let Z=X.match(/@_max_width___(.+?)__/);if(Z)return`screen and (max-width: {${Z[1].replace(/_/g,".")}})`}if(X.includes("@_min_width_")){let Z=X.match(/@_min_width___(.+?)__/);if(Z)return`screen and (min-width: {${Z[1].replace(/_/g,".")}})`}return"screen"}function i1(X){let Z=X.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return Z=Z.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),Z}function X0(X){let Z=X.match(/(\d+(?:\.\d+)?)/);return Z?parseFloat(Z[1]):0}function a1(X,Z){return X.replace(/\{([^}]+)\}/g,(Y,q)=>{let $=Z.get(q);if($){let U=$.value;if(typeof U==="object"&&U!==null&&"$value"in U)U=U.$value;return String(U)}return Y})}function n1(X,Z){let Y=X.split("."),q={},$=q;for(let U=0;U<Y.length-1;U++)$[Y[U]]={},$=$[Y[U]];return $[Y[Y.length-1]]=Z,q}function Y0(X,Z={}){let{typescript:Y,includeJSDoc:q,moduleType:$="es",customHeader:U,theme:W}=Z,K="";if(U)K+=`${U}
352
368
 
353
369
  `;else K+=`/**
354
370
  `,K+=` * Design Tokens - ${W?`${W.charAt(0).toUpperCase()+W.slice(1)} Theme`:"All Tokens"}
@@ -356,27 +372,27 @@ ${A.sort().map((H)=>` ${H}`).join(`
356
372
  `,K+=` * Do not edit this file directly
357
373
  `,K+=` */
358
374
 
359
- `;let A=o2($,W);if(Y)if(X.separateThemeFiles&&W)K+=`import type { Tokens } from "./${W}.d";
375
+ `;let z=q0(X,W);if(Y)if(Z.separateThemeFiles&&W)K+=`import type { Tokens } from "./${W}.d";
360
376
 
361
- `;else K+=e2(A,Z),K+=`
362
- `;if(q==="es"){if(Y)K+=`const tokens: Tokens = ${o(A,Z,0)};
377
+ `;else K+=$0(z,q),K+=`
378
+ `;if($==="es"){if(Y)K+=`const tokens: Tokens = ${XX(z,q,0)};
363
379
 
364
- `;else K+=`const tokens = ${o(A,Z,0)};
380
+ `;else K+=`const tokens = ${XX(z,q,0)};
365
381
 
366
382
  `;K+=`export default tokens;
367
- `;let G=Object.keys(A);if(G.length>0){K+=`
383
+ `;let G=Object.keys(z);if(G.length>0){K+=`
368
384
  // Named exports for convenience
369
385
  `;for(let E of G)K+=`export const ${E} = tokens.${E};
370
- `}}else K+=`const tokens = ${o(A,Z,0)};
386
+ `}}else K+=`const tokens = ${XX(z,q,0)};
371
387
 
372
388
  `,K+=`module.exports = tokens;
373
389
  `,K+=`module.exports.default = tokens;
374
390
  `;return K+`
375
- `}function o2($,X){let Y={},Z=new Map($.map((q)=>[q.name,q]));for(let q of $){let U=q.name;if(X){if(U.includes(`#${X}`))U=U.replace(`#${X}`,"")}else U=U.replace(/#[^#]*$/,"");let W=U.split("."),K=Y;for(let G=0;G<W.length-1;G++){let E=W[G];if(!K[E])K[E]={};K=K[E]}let A=W[W.length-1];K[A]=m$(q.value,Z)}return Y}function m$($,X){if(typeof $==="object"&&$!==null&&!Array.isArray($)){let Y=$;if(Y.color&&typeof Y.color==="string"&&Y.color.includes("{")&&Y.color.includes("}")){let Z=v($,"shadow");if(typeof Z==="string"&&!Z.includes("{")){let q={...Y},U=Z.split(" "),W=U[U.length-1];if(W&&W.startsWith("#"))q.color=W;else q.color=v(Y.color,"color");return q}}}if(typeof $==="string"){if($.startsWith("{")&&$.endsWith("}")){let Y=$.slice(1,-1),Z=X.get(Y);if(Z)return Z.value;let q=v($,"color");if(q!==$)return q}return $}if(Array.isArray($))return $.map((Y)=>m$(Y,X));if(typeof $==="object"&&$!==null){let Y={};for(let[Z,q]of Object.entries($))Y[Z]=m$(q,X);return Y}return $}function e2($,X){let Y="";if(X)Y+=`/**
391
+ `}function q0(X,Z){let Y={},q=new Map(X.map(($)=>[$.name,$]));for(let $ of X){let U=$.name;if(Z){if(U.includes(`#${Z}`))U=U.replace(`#${Z}`,"")}else U=U.replace(/#[^#]*$/,"");let W=U.split("."),K=Y;for(let G=0;G<W.length-1;G++){let E=W[G];if(!K[E])K[E]={};K=K[E]}let z=W[W.length-1];K[z]=cX($.value,q)}return Y}function cX(X,Z){if(typeof X==="object"&&X!==null&&!Array.isArray(X)){let Y=X;if(Y.color&&typeof Y.color==="string"&&Y.color.includes("{")&&Y.color.includes("}")){let q=m(X,"shadow");if(typeof q==="string"&&!q.includes("{")){let $={...Y},U=q.split(" "),W=U[U.length-1];if(W&&W.startsWith("#"))$.color=W;else $.color=m(Y.color,"color");return $}}}if(typeof X==="string"){if(X.startsWith("{")&&X.endsWith("}")){let Y=X.slice(1,-1),q=Z.get(Y);if(q)return q.value;let $=m(X,"color");if($!==X)return $}return X}if(Array.isArray(X))return X.map((Y)=>cX(Y,Z));if(typeof X==="object"&&X!==null){let Y={};for(let[q,$]of Object.entries(X))Y[q]=cX($,Z);return Y}return X}function $0(X,Z){let Y="";if(Z)Y+=`/**
376
392
  * Token object type definition
377
393
  */
378
- `;return Y+=`type Tokens = ${T0($,0)};
379
- `,Y}function l1($,X,Y){let{customHeader:Z,includeJSDoc:q}=X,U="";if(Z)U+=`${Z}
394
+ `;return Y+=`type Tokens = ${gY(X,0)};
395
+ `,Y}function t1(X,Z,Y){let{customHeader:q,includeJSDoc:$}=Z,U="";if(q)U+=`${q}
380
396
 
381
397
  `;else{let W=Y?` - ${Y.charAt(0).toUpperCase()+Y.slice(1)} Theme`:"";U+=`/**
382
398
  `,U+=` * Universe Design System Tokens - Type Definitions${W}
@@ -384,44 +400,44 @@ ${A.sort().map((H)=>` ${H}`).join(`
384
400
  `,U+=` * Do not edit this file directly
385
401
  `,U+=` */
386
402
 
387
- `}if(q)U+=`/**
403
+ `}if($)U+=`/**
388
404
  * Token object type definition
389
405
  */
390
- `;return U+=`export type Tokens = ${T0($,0)};
406
+ `;return U+=`export type Tokens = ${gY(X,0)};
391
407
  `,U+`
392
- `}function T0($,X){if(typeof $!=="object"||$===null)return typeof $==="string"?"string":typeof $==="number"?"number":typeof $==="boolean"?"boolean":"any";let Y=" ".repeat(X+1),Z=Object.entries($);if(Z.length===0)return"{}";let q=`{
393
- `;for(let[U,W]of Z){let K=r1(U)?`"${U}"`:U;q+=`${Y}${K}: ${T0(W,X+1)};
394
- `}return q+=" ".repeat(X)+"}",q}function r1($){return $.startsWith("@")||$.includes(" ")||$.includes("-")||$.includes("(")||$.includes(")")||$.includes("@")||$.includes(":")||!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($)}function o($,X,Y=0){if(typeof $!=="object"||$===null)return JSON.stringify($);let Z=" ".repeat(Y),q=" ".repeat(Y+1),U=Object.entries($);if(U.length===0)return"{}";let W=`{
395
- `;for(let K=0;K<U.length;K++){let[A,G]=U[K],E=K===U.length-1;if(X&&typeof G==="string")W+=`${q}/** Token value: ${JSON.stringify(G)} */
396
- `;let z=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(A)?A:JSON.stringify(A),L=o(G,X,Y+1);W+=`${q}${z}: ${L}${E?"":","}
397
- `}return W+=`${Z}}`,W}function i1($,X){let Y=X.typescript?"ts":"js",{moduleType:Z="es",customHeader:q}=X,U=(K)=>{return K.replace(/-([a-z])/g,(A,G)=>G.toUpperCase())},W="";if(q)W+=`${q}
408
+ `}function gY(X,Z){if(typeof X!=="object"||X===null)return typeof X==="string"?"string":typeof X==="number"?"number":typeof X==="boolean"?"boolean":"any";let Y=" ".repeat(Z+1),q=Object.entries(X);if(q.length===0)return"{}";let $=`{
409
+ `;for(let[U,W]of q){let K=o1(U)?`"${U}"`:U;$+=`${Y}${K}: ${gY(W,Z+1)};
410
+ `}return $+=" ".repeat(Z)+"}",$}function o1(X){return X.startsWith("@")||X.includes(" ")||X.includes("-")||X.includes("(")||X.includes(")")||X.includes("@")||X.includes(":")||!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(X)}function XX(X,Z,Y=0){if(typeof X!=="object"||X===null)return JSON.stringify(X);let q=" ".repeat(Y),$=" ".repeat(Y+1),U=Object.entries(X);if(U.length===0)return"{}";let W=`{
411
+ `;for(let K=0;K<U.length;K++){let[z,G]=U[K],E=K===U.length-1;if(Z&&typeof G==="string")W+=`${$}/** Token value: ${JSON.stringify(G)} */
412
+ `;let A=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(z)?z:JSON.stringify(z),L=XX(G,Z,Y+1);W+=`${$}${A}: ${L}${E?"":","}
413
+ `}return W+=`${q}}`,W}function e1(X,Z){let Y=Z.typescript?"ts":"js",{moduleType:q="es",customHeader:$}=Z,U=(K)=>{return K.replace(/-([a-z])/g,(z,G)=>G.toUpperCase())},W="";if($)W+=`${$}
398
414
 
399
415
  `;else W+=`/**
400
416
  `,W+=` * Design Tokens - Index
401
417
  `,W+=` * Exports all token themes for convenient importing
402
418
  `,W+=` */
403
419
 
404
- `;if(Z==="es"){for(let K of $){if(K.fileName===`index.${Y}`)continue;if(!K.fileName.endsWith(".d.ts"))continue;let A=K.fileName.replace(".d.ts",""),G=U(K.theme||A);W+=`export type { Tokens as ${G.charAt(0).toUpperCase()+G.slice(1)}Tokens } from './${A}.d';
420
+ `;if(q==="es"){for(let K of X){if(K.fileName===`index.${Y}`)continue;if(!K.fileName.endsWith(".d.ts"))continue;let z=K.fileName.replace(".d.ts",""),G=U(K.theme||z);W+=`export type { Tokens as ${G.charAt(0).toUpperCase()+G.slice(1)}Tokens } from './${z}.d';
405
421
  `}W+=`
406
- `;for(let K of $){if(K.fileName===`index.${Y}`)continue;if(K.fileName.endsWith(".d.ts"))continue;let A=K.fileName.replace(`.${Y}`,""),G=U(K.theme||A);W+=`export { default as ${G} } from './${A}${X.typescript?"":".js"}';
422
+ `;for(let K of X){if(K.fileName===`index.${Y}`)continue;if(K.fileName.endsWith(".d.ts"))continue;let z=K.fileName.replace(`.${Y}`,""),G=U(K.theme||z);W+=`export { default as ${G} } from './${z}${Z.typescript?"":".js"}';
407
423
  `}W+=`
408
424
  // Convenience re-exports
409
- `,W+=`export { default } from './light${X.typescript?"":".js"}';
410
- `}else{for(let K of $){if(K.fileName===`index.${Y}`)continue;if(K.fileName.endsWith(".d.ts"))continue;let A=K.fileName.replace(`.${Y}`,""),G=U(K.theme||A);W+=`exports.${G} = require('./${A}');
425
+ `,W+=`export { default } from './light${Z.typescript?"":".js"}';
426
+ `}else{for(let K of X){if(K.fileName===`index.${Y}`)continue;if(K.fileName.endsWith(".d.ts"))continue;let z=K.fileName.replace(`.${Y}`,""),G=U(K.theme||z);W+=`exports.${G} = require('./${z}');
411
427
  `}W+=`
412
428
  // Default export points to light theme
413
429
  `,W+=`module.exports = require('./light');
414
430
  `}return W+`
415
- `}var $Y=S(()=>{f$()});var YY={};k$(YY,{validateCSSFiles:()=>s1,printValidationResults:()=>a1});import{readFileSync as g0,existsSync as K$}from"fs";import{join as u}from"path";function s1($,X){let Y={isValid:!0,errors:[],warnings:[],checks:[]},Z=u($,"css"),q=u(Z,"tokens.css"),U=K$(q);if(Y.checks.push({name:"CSS file exists: tokens.css",passed:U,message:U?void 0:"Missing required CSS file: tokens.css"}),!U)Y.errors.push("Missing required CSS file: tokens.css"),Y.isValid=!1;if(X.$metaData?.tokens?.css?.mediaQuery?.separateThemeFiles??!1){let z=u(Z,"tokens.dark.css"),L=K$(z);if(Y.checks.push({name:"CSS file exists: tokens.dark.css",passed:L,message:L?void 0:"Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"}),!L)Y.errors.push("Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"),Y.isValid=!1}let K=u(Z,"tokens.breakpoints.css");if(K$(K))Y.checks.push({name:"CSS file exists: tokens.breakpoints.css",passed:!0,message:void 0});let G=X.$metaData?.tokens?.css?.hooks?.shortenName;if(G?.enabled&&K$(u(Z,"tokens.css"))){let z=g0(u(Z,"tokens.css"),"utf8");if(G.prefix)for(let{find:L,replace:H}of G.prefix){let _=`--${I$}-${L}`,Q=`--${H}`,w=z.includes(_),O=z.includes(Q);if(Y.checks.push({name:`Prefix hook applied: ${L} → ${H}`,passed:!w&&O,message:w?`Old prefix "${_}" still found in CSS, should be "${Q}"`:void 0}),w)Y.errors.push(`Prefix transformation failed: "${_}" should be replaced with "${Q}"`),Y.isValid=!1}if(G.suffix)for(let{find:L,replace:H}of G.suffix){let Q=new RegExp(`--[^:]+${L.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"g").test(z);if(Y.checks.push({name:`Suffix hook applied: ${L} → ${H}`,passed:!Q,message:Q?`Old suffix "${L}" still found in CSS variable names`:void 0}),Q)Y.errors.push(`Suffix transformation failed: "${L}" should be removed/replaced with "${H}"`),Y.isValid=!1}}if(K$(u(Z,"tokens.css"))){let L=g0(u(Z,"tokens.css"),"utf8").match(/:\s*{[^}]+}/g);if(Y.checks.push({name:"No unresolved token references",passed:!L,message:L?`Found unresolved references: ${L.join(", ")}`:void 0}),L)Y.errors.push(`Unresolved token references found: ${L.join(", ")}`),Y.isValid=!1}let E=["tokens.css","tokens.dark.css","tokens.breakpoints.css"];for(let z of E){let L=u(Z,z);if(K$(L)){let H=g0(L,"utf8"),_=(H.match(/\{/g)||[]).length-(H.match(/\}/g)||[]).length;if(Y.checks.push({name:`CSS syntax valid: ${z}`,passed:_===0,message:_!==0?`Mismatched braces in ${z}`:void 0}),_!==0)Y.errors.push(`CSS syntax error in ${z}: mismatched braces`),Y.isValid=!1}}return Y}function a1($){console.log(`
431
+ `}var U0=S(()=>{uX()});var K0={};sX(K0,{validateCSSFiles:()=>X2,printValidationResults:()=>Y2});import{readFileSync as fY,existsSync as zX}from"fs";import{join as k}from"path";function X2(X,Z){let Y={isValid:!0,errors:[],warnings:[],checks:[]},q=k(X,"css"),$=k(q,"tokens.css"),U=zX($);if(Y.checks.push({name:"CSS file exists: tokens.css",passed:U,message:U?void 0:"Missing required CSS file: tokens.css"}),!U)Y.errors.push("Missing required CSS file: tokens.css"),Y.isValid=!1;if(Z.$metaData?.tokens?.css?.mediaQuery?.separateThemeFiles??!1){let A=k(q,"tokens.dark.css"),L=zX(A);if(Y.checks.push({name:"CSS file exists: tokens.dark.css",passed:L,message:L?void 0:"Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"}),!L)Y.errors.push("Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"),Y.isValid=!1}let K=k(q,"tokens.breakpoints.css");if(zX(K))Y.checks.push({name:"CSS file exists: tokens.breakpoints.css",passed:!0,message:void 0});let G=Z.$metaData?.tokens?.css?.hooks?.shortenName;if(G?.enabled&&zX(k(q,"tokens.css"))){let A=fY(k(q,"tokens.css"),"utf8");if(G.prefix)for(let{find:L,replace:H}of G.prefix){let _=`--${MX}-${L}`,Q=`--${H}`,J=A.includes(_),O=A.includes(Q);if(Y.checks.push({name:`Prefix hook applied: ${L} → ${H}`,passed:!J&&O,message:J?`Old prefix "${_}" still found in CSS, should be "${Q}"`:void 0}),J)Y.errors.push(`Prefix transformation failed: "${_}" should be replaced with "${Q}"`),Y.isValid=!1}if(G.suffix)for(let{find:L,replace:H}of G.suffix){let Q=new RegExp(`--[^:]+${L.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"g").test(A);if(Y.checks.push({name:`Suffix hook applied: ${L} → ${H}`,passed:!Q,message:Q?`Old suffix "${L}" still found in CSS variable names`:void 0}),Q)Y.errors.push(`Suffix transformation failed: "${L}" should be removed/replaced with "${H}"`),Y.isValid=!1}}if(zX(k(q,"tokens.css"))){let L=fY(k(q,"tokens.css"),"utf8").match(/:\s*{[^}]+}/g);if(Y.checks.push({name:"No unresolved token references",passed:!L,message:L?`Found unresolved references: ${L.join(", ")}`:void 0}),L)Y.errors.push(`Unresolved token references found: ${L.join(", ")}`),Y.isValid=!1}let E=["tokens.css","tokens.dark.css","tokens.breakpoints.css"];for(let A of E){let L=k(q,A);if(zX(L)){let H=fY(L,"utf8"),_=(H.match(/\{/g)||[]).length-(H.match(/\}/g)||[]).length;if(Y.checks.push({name:`CSS syntax valid: ${A}`,passed:_===0,message:_!==0?`Mismatched braces in ${A}`:void 0}),_!==0)Y.errors.push(`CSS syntax error in ${A}: mismatched braces`),Y.isValid=!1}}return Y}function Y2(X){console.log(`
416
432
 
417
- Build Validation Results:`),console.log("========================================================");for(let X of $.checks){let Y=X.passed?"✓":"✗";if(console.log(` ${Y} ${X.name}`),X.message)console.log(` ${X.message}`)}if($.warnings.length>0){console.log(`
418
- ⚠️ Warnings:`);for(let X of $.warnings)console.log(` ${X}`)}if($.errors.length>0){console.log(`
419
- ❌ Errors:`);for(let X of $.errors)console.log(` ${X}`)}console.log(`
420
- Validation Summary:`),console.log(` - Checks: ${$.checks.filter((X)=>X.passed).length}/${$.checks.length} passed`),console.log(` - Errors: ${$.errors.length}`),console.log(` - Warnings: ${$.warnings.length}`),console.log(`
421
- ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
433
+ Build Validation Results:`),console.log("========================================================");for(let Z of X.checks){let Y=Z.passed?"✓":"✗";if(console.log(` ${Y} ${Z.name}`),Z.message)console.log(` ${Z.message}`)}if(X.warnings.length>0){console.log(`
434
+ ⚠️ Warnings:`);for(let Z of X.warnings)console.log(` ${Z}`)}if(X.errors.length>0){console.log(`
435
+ ❌ Errors:`);for(let Z of X.errors)console.log(` ${Z}`)}console.log(`
436
+ Validation Summary:`),console.log(` - Checks: ${X.checks.filter((Z)=>Z.passed).length}/${X.checks.length} passed`),console.log(` - Errors: ${X.errors.length}`),console.log(` - Warnings: ${X.warnings.length}`),console.log(`
437
+ ${X.isValid?"✅":"❌"} Build ${X.isValid?"passed":"failed"}`),console.log(`
422
438
  ========================================================
423
- `)}var XY=S(()=>{T()});import{writeFileSync as n1,mkdirSync as t1,existsSync as h0,readFileSync as y0,readdirSync as o1,statSync as ZY}from"fs";import{join as P,dirname as R$}from"path";function e1($,X,Y=!1,Z=!1){let q=[],U=[],W=[];for(let A of $)if(A.fileName.includes("breakpoint"))U.push(`@import url("./css/${A.fileName}");`);else W.push(`@import url("./css/${A.fileName}");`);if(q.push(...W),Y)q.push('@import url("./css/tokens.icons.css");');if(Z)q.push('@import url("./css/fonts.css");');q.push(...U);let K=`/**
424
- * ${X} Design System - Main CSS Entry Point
439
+ `)}var W0=S(()=>{g()});import{writeFileSync as Z2,mkdirSync as q2,existsSync as hY,readFileSync as vY,readdirSync as $2,statSync as G0}from"fs";import{join as V,dirname as FX}from"path";function U2(X,Z,Y=!1,q=!1){let $=[],U=[],W=[];for(let z of X)if(z.fileName.includes("breakpoint"))U.push(`@import url("./css/${z.fileName}");`);else W.push(`@import url("./css/${z.fileName}");`);if($.push(...W),Y)$.push('@import url("./css/tokens.icons.css");');if(q)$.push('@import url("./css/fonts.css");');$.push(...U);let K=`/**
440
+ * ${Z} Design System - Main CSS Entry Point
425
441
  * Generated: ${new Date().toISOString()}
426
442
  *
427
443
  * This file imports all generated CSS files for the design system.
@@ -430,11 +446,11 @@ ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
430
446
  * Do not edit this file directly - it will be overwritten.
431
447
  */
432
448
 
433
- ${q.join(`
449
+ ${$.join(`
434
450
  `)}
435
- `;return{fileName:`${X}.design-system.tokens.css`,content:K+`
436
- `,theme:void 0}}function $4($,X,Y=!1,Z=!1,q){let{readFileSync:U}=c$("fs"),{join:W}=c$("path"),K=[],A=(z)=>{try{let L=W(q,"css",z);return U(L,"utf-8")}catch(L){return console.warn(`Could not read ${z}:`,L),""}},G=[];for(let z of $){let L=A(z.fileName);if(!L)continue;if(z.fileName.includes("breakpoint"))G.push(L);else K.push(L)}if(Y){let z=A("tokens.icons.css");if(z)K.push(z)}if(Z){let z=A("fonts.css");if(z)K.push(z)}K.push(...G);let E=`/**
437
- * ${X} Design System - Raw/Inline CSS
451
+ `;return{fileName:`${Z}.design-system.tokens.css`,content:K+`
452
+ `,theme:void 0}}function K2(X,Z,Y=!1,q=!1,$,U){let{readFileSync:W}=n("fs"),{join:K}=n("path"),z=[],G=(H)=>{try{let _=K($,"css",H);return W(_,"utf-8")}catch(_){return console.warn(`Could not read ${H}:`,_),""}},E=[];for(let H of X){let _=G(H.fileName);if(!_)continue;if(H.fileName.includes("breakpoint"))E.push(_);else z.push(_)}let A=U?.$paths?.assets?.icons?.excludeFromRaw??!1;if(Y&&!A){let H=G("tokens.icons.css");if(H)z.push(H)}if(q){let H=G("fonts.css");if(H)z.push(H)}z.push(...E);let L=`/**
453
+ * ${Z} Design System - Raw/Inline CSS
438
454
  * Generated: ${new Date().toISOString()}
439
455
  *
440
456
  * This file contains all CSS inlined (no @import statements).
@@ -444,33 +460,33 @@ ${q.join(`
444
460
  * Do not edit this file directly - it will be overwritten.
445
461
  */
446
462
 
447
- ${K.join(`
463
+ ${z.join(`
448
464
 
449
465
  `)}
450
- `;return{fileName:`${X}.design-system.tokens.raw.css`,content:E+`
451
- `,theme:void 0}}function Y4($,X){let Y=$.replace(/\\/g,"/");if(X.replace(/\\/g,"/").startsWith(Y))return{valid:!1,error:`⚠️ Compositions directory cannot be inside tokens directory.
452
- `+` Tokens dir: ${$}
453
- Compositions dir: ${X}
454
- Please move compositions to a separate directory (e.g., './compositions')`};return{valid:!0}}function X4($,X){let Y=[];if(h0($)){let Z=ZY($);if(Z.isDirectory())try{let q=o1($);for(let U of q){if(!U.endsWith(".json"))continue;let W=P($,U);if(ZY(W).isFile())try{let A=y0(W,"utf-8"),G=JSON.parse(A);if(Array.isArray(G))Y.push(...G);else Y.push(G)}catch(A){console.warn(`⚠️ Failed to parse composition file ${U}:`,A)}}}catch(q){console.warn("⚠️ Failed to read compositions directory:",q)}else if(Z.isFile()&&$.endsWith(".json"))try{let q=y0($,"utf-8"),U=JSON.parse(q);if(Array.isArray(U))Y.push(...U);else Y.push(U)}catch(q){console.warn("⚠️ Failed to parse compositions file:",q)}}if(X&&Y.length===0){let Z=P(X,"compositions.json");if(h0(Z))try{let q=y0(Z,"utf-8"),U=JSON.parse(q);if(Array.isArray(U))Y.push(...U)}catch(q){console.warn("⚠️ Failed to parse compositions.json:",q)}}return Y}function qY($,X){let Y=X.$metaData?.tokens?.css?.hooks?.shortenName;if(!Y?.enabled)return $;let Z=$;if(Y.prefix&&Array.isArray(Y.prefix))for(let q of Y.prefix)Z=Z.replace(new RegExp(q.find,"g"),q.replace);if(Y.suffix&&Array.isArray(Y.suffix)){for(let q of Y.suffix)if(Z.endsWith(q.find))Z=Z.substring(0,Z.length-q.find.length)+q.replace}return Z}function Z4($,X){let Y=$.match(/^\{(.+)\}$/);if(Y){let q=Y[1].replace(/\./g,"-");return q=qY(q,X),`var(--${q})`}return $.replace(/\{([^}]+)\}/g,(Z,q)=>{let U=q.replace(/\./g,"-");return U=qY(U,X),`var(--${U})`})}function q4($,X,Y,Z){let q=[],U=$.filter((A)=>A.platform==="css");if(U.length===0)return q;let W=new Map,K="compositions.css";for(let A of U){let G=A.fileName||"";if(G.endsWith(".css"))G=G.slice(0,-4);let E=G?`${G}.css`:K;if(!W.has(E))W.set(E,[]);W.get(E).push(A)}for(let[A,G]of W.entries()){let E=[];if(E.push("/**"),E.push(" * Design System Compositions - Generated Styles"),E.push(" * DO NOT EDIT THIS FILE DIRECTLY"),E.push(" * Generated from composition definitions"),E.push(` * Namespace: ${X.$metaData?.dsNamespace||"ds"}.${X.$metaData?.tokenNamespace||"tokens"}`),E.push(` * File: ${A}`),E.push(` */
455
- `),G.length===0)E.push("/* No compositions defined */");else for(let L of G){E.push(`/* ${L.name} */`);let H=L.groupProperties,_=H&&(H.mediaQuery||H.parentSelector||H.containerQuery||H.customAtRule),Q="",w=[];if(_){if(H.customAtRule){let O=k(H.customAtRule,Y);E.push(`${O} {`),w.push("}"),Q=" "}if(H.mediaQuery){let O=k(H.mediaQuery,Y);E.push(`${Q}${O} {`),w.push("}"),Q+=" "}if(H.containerQuery){let O=k(H.containerQuery,Y);E.push(`${Q}${O} {`),w.push("}"),Q+=" "}if(H.parentSelector){let O=k(H.parentSelector,Y);E.push(`${Q}${O} {`),w.push("}"),Q+=" "}}E.push(`${Q}${L.selector} {`);for(let O of L.properties){let B=Z4(O.token,X);E.push(`${Q} ${O.property}: ${B};`)}E.push(`${Q}}`);while(w.length>0)Q=Q.slice(2),E.push(`${Q}${w.pop()}`);E.push("")}let z=E.join(`
456
- `);q.push({fileName:A,content:z+`
457
- `,theme:void 0})}return q}async function KY($){let X=Date.now(),Y={tokenCount:0,cssFiles:[],typescriptFiles:[],javascriptFiles:[],jsonFiles:[],duration:0,warnings:[],errors:[]};try{M(`
458
- Starting token build process...`,$.verbose);let{initializeColorspace:Z}=await Promise.resolve().then(() => (G$(),l0));await Z(),M("Loading token files...",$.verbose);let q=B0($.tokensDir);M("Parsing tokens...",$.verbose);let U=U4($.config),W=I0(q,U);if(M(`Found ${W.length} tokens`,$.verbose),Y.tokenCount=W.length,W.length===0&&U.namespace){let G=Object.keys(q).filter((E)=>!E.startsWith("$"));if(G.length>0)Y.warnings.push(`⚠️ No tokens found matching tokenNamespace "${U.namespace}". Found root keys: ${G.join(", ")}. Please check if your $metaData.tokenNamespace in designid.config.ts matches.`)}let K=J0(W,U);if(M(`Resolved ${K.length} tokens`,$.verbose),$.generateCSS!==!1){M(`
459
- Generating CSS files...`,$.verbose);let G=UY($.config,$.cssOptions),E=g$(K,G);for(let z of E){let L=P($.outputDir,"css",z.fileName);i(L,z.content),M(` ✓ ${z.fileName}`,$.verbose)}Y.cssFiles=E}if($.generateCSS!==!1)try{await V0(),M(`
460
- Generated icon tokens`,$.verbose)}catch(G){if($.verbose)console.warn("Could not build icon tokens:",G)}if($.generateCSS!==!1)try{let G=await S0();if(G.length>0){let E=UY($.config,$.cssOptions),z=j0(G,{customHeader:v$($.config),objectPath:$.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:E.hooks}),L=P($.outputDir,"css",z.fileName);if(i(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose),Y.cssFiles)Y.cssFiles.push(z);else Y.cssFiles=[z]}}catch(G){if($.verbose)console.warn("Could not generate icon CSS:",G)}let A=!1;if($.generateCSS!==!1)try{let G=$.config.$fonts;if(G&&G.length>0){await Q0(G,$.outputDir),M(" ✓ Generated fonts.css",$.verbose),A=!0;let E={fileName:"fonts.css",content:"Generated by appendTypographyTokens",theme:void 0};if(Y.cssFiles)Y.cssFiles.push(E);else Y.cssFiles=[E]}}catch(G){if($.verbose)console.warn("Could not generate font CSS:",G)}if($.generateCSS!==!1&&Y.cssFiles.length>0){let G=$.config.$metaData?.tokenNamespace||"tokens",E=Y.cssFiles.some((Q)=>Q.fileName==="tokens.icons.css"),z=$.config.$metaData?.modes?.isHost||!1,L=Y.cssFiles.filter((Q)=>{if(Q.fileName==="tokens.icons.css"||Q.fileName==="fonts.css")return!1;if(z&&Q.fileName.includes("composition"))return!1;return!0}),H=e1(L,G,E,A),_=P($.outputDir,H.fileName);if(i(_,H.content),M(` ✓ Generated ${H.fileName}`,$.verbose),Y.cssFiles.push(H),z){let Q=$4(Y.cssFiles.filter((O)=>O.fileName!=="tokens.icons.css"&&O.fileName!=="fonts.css"&&!O.fileName.includes(".design-system.tokens.css")),G,E,A,$.outputDir),w=P($.outputDir,Q.fileName);i(w,Q.content),M(` ✓ Generated ${Q.fileName} (raw/inline for web components)`,$.verbose),Y.cssFiles.push(Q)}}if($.generateCSS!==!1&&$.config.$paths.compositionsDir)try{let G=$.config.$paths.baseDir,E=$.config.$paths.tokensDir,z=$.tokensDir,L=E.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<L.length;O++)z=R$(z);let H=G.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<H.length;O++)z=R$(z);let _=P(z,G,$.config.$paths.compositionsDir),Q=P(z,G);if($.verbose)console.log(` Project root: ${z}`),console.log(` Base dir: ${Q}`),console.log(` Compositions dir: ${_}`);let w=Y4($.tokensDir,_);if(!w.valid)console.error(w.error),Y.errors.push(w.error);else{M(`
461
- Processing composition files...`,$.verbose);let O=X4(_,Q);if(O.length>0){M(` Found ${O.length} composition(s)`,$.verbose);let B=new Map;for(let J of K){let R=Array.isArray(J.path)?J.path.join("."):J.path;B.set(R,J)}let I=q4(O,$.config,B,$.outputDir);for(let J of I){let R=P($.outputDir,"css",J.fileName);i(R,J.content),M(` ✓ Generated ${J.fileName}`,$.verbose),Y.cssFiles.push(J)}}else M(` No compositions found in ${_}`,$.verbose)}}catch(G){if($.verbose)console.warn("Could not generate composition CSS:",G)}if($.generateTypeScript!==!1){M(`
462
- Generating TypeScript files...`,$.verbose);let G=K4($.config,$.typescriptOptions),E=await D0(K,G);for(let z of E){let L=P($.outputDir,"typescript",z.fileName);i(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.typescriptFiles=E}if($.generateJavaScript!==!1){M(`
463
- Generating JavaScript files...`,$.verbose);let G=W4($.config,$.javascriptOptions),E=t2(K,G);for(let z of E){let L=P($.outputDir,"js",z.fileName);i(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.javascriptFiles=E}if($.generateJSON!==!1){M(`
464
- Generating JSON files...`,$.verbose);let G=G4(K,W,$.config);for(let E of G){let z=P($.outputDir,"json",E.fileName);i(z,E.content),M(` ✓ Generated ${E.fileName}`,$.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-X,M(`
465
- Build completed in ${Y.duration}ms`,$.verbose)}catch(Z){let q=Z instanceof Error?Z.message:String(Z);Y.errors.push(q),M(`❌ Build failed: ${q}`,$.verbose)}if($.validate!==!1){M(`
466
- Validating build output...`,$.verbose);let{validateCSSFiles:Z,printValidationResults:q}=await Promise.resolve().then(() => (XY(),YY)),U=Z($.outputDir,$.config);if($.verbose||!U.isValid)q(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function U4($){let X=$.$metaData,Y=$.$modes?[...Object.values($.$modes)]:[];return{prefix:X.dsNamespace||X.tokenNamespace,namespace:X.tokenNamespace,generateModes:!0,modes:Y,generateDerivedTokens:!0,generateBreakpointTokens:!0,failOnBrokenReferences:!0,transformName:(Z)=>{let q=X.tokens?.css?.hooks?.shortenName;if(q?.enabled){let U=Z;if(q.prefix)for(let{find:W,replace:K}of q.prefix){let A=W.replace(/\./g,"-").replace(/-$/,""),G=K.replace(/\./g,"-").replace(/-$/,"");U=U.replace(A,G)}if(q.suffix){for(let{find:W,replace:K}of q.suffix)if(U.endsWith(W))U=U.substring(0,U.length-W.length)+K}return U}return Z}}}function UY($,X){let Y=$.$metaData,Z=Y.tokens?.css,q=$.$modes?[...Object.values($.$modes)]:["light","dark"],U=q.length>0?q[0]:"light",W=Y.modes?.isHost??!1;return{...X,separateThemeFiles:Z?.mediaQuery?.separateThemeFiles??!1,rootSelector:":root",generateMediaQueries:!0,customHeader:v$($),themeSelector:Z?.mediaQuery?.match||"[data-theme]",modes:q,defaultMode:U,isHost:W,hooks:Z?.hooks}}function K4($,X){let Y=$.$metaData;return{...X,tokenInterface:"DesignTokens",exportNamespace:Y.dsNamespace||Y.tokenNamespace,generateTypes:!0,generateConsts:!0,generateCSSVarMappings:!0,includeJSDoc:!0}}function W4($,X){let Y=$.$modes?[...Object.values($.$modes)]:["light","dark"];return{...X,modes:Y,typescript:!0,separateThemeFiles:!0,includeJSDoc:!1,moduleType:"es",customHeader:`/**
467
- * ${$.$name}
466
+ `;return{fileName:`${Z}.design-system.tokens.raw.css`,content:L+`
467
+ `,theme:void 0}}function W2(X,Z){let Y=X.replace(/\\/g,"/");if(Z.replace(/\\/g,"/").startsWith(Y))return{valid:!1,error:`⚠️ Compositions directory cannot be inside tokens directory.
468
+ `+` Tokens dir: ${X}
469
+ Compositions dir: ${Z}
470
+ Please move compositions to a separate directory (e.g., './compositions')`};return{valid:!0}}function G2(X,Z){let Y=[];if(hY(X)){let q=G0(X);if(q.isDirectory())try{let $=$2(X);for(let U of $){if(!U.endsWith(".json"))continue;let W=V(X,U);if(G0(W).isFile())try{let z=vY(W,"utf-8"),G=JSON.parse(z);if(Array.isArray(G))Y.push(...G);else Y.push(G)}catch(z){console.warn(`⚠️ Failed to parse composition file ${U}:`,z)}}}catch($){console.warn("⚠️ Failed to read compositions directory:",$)}else if(q.isFile()&&X.endsWith(".json"))try{let $=vY(X,"utf-8"),U=JSON.parse($);if(Array.isArray(U))Y.push(...U);else Y.push(U)}catch($){console.warn("⚠️ Failed to parse compositions file:",$)}}if(Z&&Y.length===0){let q=V(Z,"compositions.json");if(hY(q))try{let $=vY(q,"utf-8"),U=JSON.parse($);if(Array.isArray(U))Y.push(...U)}catch($){console.warn("⚠️ Failed to parse compositions.json:",$)}}return Y}function z0(X,Z){let Y=Z.$metaData?.tokens?.css?.hooks?.shortenName;if(!Y?.enabled)return X;let q=X;if(Y.prefix&&Array.isArray(Y.prefix))for(let $ of Y.prefix)q=q.replace(new RegExp($.find,"g"),$.replace);if(Y.suffix&&Array.isArray(Y.suffix)){for(let $ of Y.suffix)if(q.endsWith($.find))q=q.substring(0,q.length-$.find.length)+$.replace}return q}function z2(X,Z){let Y=X.match(/^\{(.+)\}$/);if(Y){let $=Y[1].replace(/\./g,"-");return $=z0($,Z),`var(--${$})`}return X.replace(/\{([^}]+)\}/g,(q,$)=>{let U=$.replace(/\./g,"-");return U=z0(U,Z),`var(--${U})`})}function A2(X,Z,Y,q){let $=[],U=X.filter((z)=>z.platform==="css");if(U.length===0)return $;let W=new Map,K="compositions.css";for(let z of U){let G=z.fileName||"";if(G.endsWith(".css"))G=G.slice(0,-4);let E=G?`${G}.css`:K;if(!W.has(E))W.set(E,[]);W.get(E).push(z)}for(let[z,G]of W.entries()){let E=[];if(E.push("/**"),E.push(" * Design System Compositions - Generated Styles"),E.push(" * DO NOT EDIT THIS FILE DIRECTLY"),E.push(" * Generated from composition definitions"),E.push(` * Namespace: ${Z.$metaData?.dsNamespace||"ds"}.${Z.$metaData?.tokenNamespace||"tokens"}`),E.push(` * File: ${z}`),E.push(` */
471
+ `),G.length===0)E.push("/* No compositions defined */");else for(let L of G){E.push(`/* ${L.name} */`);let H=L.groupProperties,_=H&&(H.mediaQuery||H.parentSelector||H.containerQuery||H.customAtRule),Q="",J=[];if(_){if(H.customAtRule){let O=c(H.customAtRule,Y);E.push(`${O} {`),J.push("}"),Q=" "}if(H.mediaQuery){let O=c(H.mediaQuery,Y);E.push(`${Q}${O} {`),J.push("}"),Q+=" "}if(H.containerQuery){let O=c(H.containerQuery,Y);E.push(`${Q}${O} {`),J.push("}"),Q+=" "}if(H.parentSelector){let O=c(H.parentSelector,Y);E.push(`${Q}${O} {`),J.push("}"),Q+=" "}}E.push(`${Q}${L.selector} {`);for(let O of L.properties){let B=z2(O.token,Z);E.push(`${Q} ${O.property}: ${B};`)}E.push(`${Q}}`);while(J.length>0)Q=Q.slice(2),E.push(`${Q}${J.pop()}`);E.push("")}let A=E.join(`
472
+ `);$.push({fileName:z,content:A+`
473
+ `,theme:void 0})}return $}async function E0(X){let Z=Date.now(),Y={tokenCount:0,cssFiles:[],typescriptFiles:[],javascriptFiles:[],jsonFiles:[],duration:0,warnings:[],errors:[]};try{F(`
474
+ Starting token build process...`,X.verbose);let{initializeColorspace:q}=await Promise.resolve().then(() => (EX(),sY));await q(),F("Loading token files...",X.verbose);let $=RY(X.tokensDir);F("Parsing tokens...",X.verbose);let U=E2(X.config),W=MY($,U);if(F(`Found ${W.length} tokens`,X.verbose),Y.tokenCount=W.length,W.length===0&&U.namespace){let G=Object.keys($).filter((E)=>!E.startsWith("$"));if(G.length>0)Y.warnings.push(`⚠️ No tokens found matching tokenNamespace "${U.namespace}". Found root keys: ${G.join(", ")}. Please check if your $metaData.tokenNamespace in designid.config.ts matches.`)}let K=NY(W,U);if(F(`Resolved ${K.length} tokens`,X.verbose),X.generateCSS!==!1){F(`
475
+ Generating CSS files...`,X.verbose);let G=A0(X.config,X.cssOptions),E=hX(K,G);for(let A of E){let L=V(X.outputDir,"css",A.fileName);a(L,A.content),F(` ✓ ${A.fileName}`,X.verbose)}Y.cssFiles=E}if(X.generateCSS!==!1)try{await oZ(X.outputDir,X.config),F(`
476
+ Generated icon tokens`,X.verbose)}catch(G){if(X.verbose)console.warn("Could not build icon tokens:",G)}if(X.generateCSS!==!1)try{let G=await PY();if(G.length>0){let E=A0(X.config,X.cssOptions),A=X.config.$metaData?.modes?.isHost??!1,L=X.config.$modes?.default||"light",H=SY(G,{customHeader:dX(X.config),objectPath:X.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:E.hooks,isHost:A,defaultMode:L}),_=V(X.outputDir,"css",H.fileName);if(a(_,H.content),F(` ✓ Generated ${H.fileName}`,X.verbose),Y.cssFiles)Y.cssFiles.push(H);else Y.cssFiles=[H]}}catch(G){if(X.verbose)console.warn("Could not generate icon CSS:",G)}let z=!1;if(X.generateCSS!==!1)try{let G=X.config.$fonts;if(G&&G.length>0){await BY(G,X.outputDir),F(" ✓ Generated fonts.css",X.verbose),z=!0;let E={fileName:"fonts.css",content:"Generated by appendTypographyTokens",theme:void 0};if(Y.cssFiles)Y.cssFiles.push(E);else Y.cssFiles=[E]}}catch(G){if(X.verbose)console.warn("Could not generate font CSS:",G)}if(X.generateCSS!==!1&&Y.cssFiles.length>0){let G=X.config.$metaData?.tokenNamespace||"tokens",E=Y.cssFiles.some((Q)=>Q.fileName==="tokens.icons.css"),A=X.config.$metaData?.modes?.isHost||!1,L=Y.cssFiles.filter((Q)=>{if(Q.fileName==="tokens.icons.css"||Q.fileName==="fonts.css")return!1;if(A&&Q.fileName.includes("composition"))return!1;return!0}),H=U2(L,G,E,z),_=V(X.outputDir,H.fileName);if(a(_,H.content),F(` ✓ Generated ${H.fileName}`,X.verbose),Y.cssFiles.push(H),A){let Q=K2(Y.cssFiles.filter((O)=>O.fileName!=="tokens.icons.css"&&O.fileName!=="fonts.css"&&!O.fileName.includes(".design-system.tokens.css")),G,E,z,X.outputDir,X.config),J=V(X.outputDir,Q.fileName);a(J,Q.content),F(` ✓ Generated ${Q.fileName} (raw/inline for web components)`,X.verbose),Y.cssFiles.push(Q)}}if(X.generateCSS!==!1&&X.config.$paths.compositionsDir)try{let G=X.config.$paths.baseDir,E=X.config.$paths.tokensDir,A=X.tokensDir,L=E.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<L.length;O++)A=FX(A);let H=G.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<H.length;O++)A=FX(A);let _=V(A,G,X.config.$paths.compositionsDir),Q=V(A,G);if(X.verbose)console.log(` Project root: ${A}`),console.log(` Base dir: ${Q}`),console.log(` Compositions dir: ${_}`);let J=W2(X.tokensDir,_);if(!J.valid)console.error(J.error),Y.errors.push(J.error);else{F(`
477
+ Processing composition files...`,X.verbose);let O=G2(_,Q);if(O.length>0){F(` Found ${O.length} composition(s)`,X.verbose);let B=new Map;for(let I of K){let w=Array.isArray(I.path)?I.path.join("."):I.path;B.set(w,I)}let R=A2(O,X.config,B,X.outputDir);for(let I of R){let w=V(X.outputDir,"css",I.fileName);a(w,I.content),F(` ✓ Generated ${I.fileName}`,X.verbose),Y.cssFiles.push(I)}}else F(` No compositions found in ${_}`,X.verbose)}}catch(G){if(X.verbose)console.warn("Could not generate composition CSS:",G)}if(X.generateTypeScript!==!1){F(`
478
+ Generating TypeScript files...`,X.verbose);let G=L2(X.config,X.typescriptOptions),E=await CY(K,G,X.outputDir);for(let A of E){let L=V(X.outputDir,"typescript",A.fileName);a(L,A.content),F(` ✓ Generated ${A.fileName}`,X.verbose)}Y.typescriptFiles=E}if(X.generateJavaScript!==!1){F(`
479
+ Generating JavaScript files...`,X.verbose);let G=H2(X.config,X.javascriptOptions),E=Z0(K,G);for(let A of E){let L=V(X.outputDir,"js",A.fileName);a(L,A.content),F(` ✓ Generated ${A.fileName}`,X.verbose)}Y.javascriptFiles=E}if(X.generateJSON!==!1){F(`
480
+ Generating JSON files...`,X.verbose);let G=_2(K,W,X.config);for(let E of G){let A=V(X.outputDir,"json",E.fileName);a(A,E.content),F(` ✓ Generated ${E.fileName}`,X.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-Z,F(`
481
+ Build completed in ${Y.duration}ms`,X.verbose)}catch(q){let $=q instanceof Error?q.message:String(q);Y.errors.push($),F(`❌ Build failed: ${$}`,X.verbose)}if(X.validate!==!1){F(`
482
+ Validating build output...`,X.verbose);let{validateCSSFiles:q,printValidationResults:$}=await Promise.resolve().then(() => (W0(),K0)),U=q(X.outputDir,X.config);if(X.verbose||!U.isValid)$(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function E2(X){let Z=X.$metaData,Y=X.$modes?[...Object.values(X.$modes)]:[];return{prefix:Z.dsNamespace||Z.tokenNamespace,namespace:Z.tokenNamespace,generateModes:!0,modes:Y,generateDerivedTokens:!0,generateBreakpointTokens:!0,failOnBrokenReferences:!0,transformName:(q)=>{let $=Z.tokens?.css?.hooks?.shortenName;if($?.enabled){let U=q;if($.prefix)for(let{find:W,replace:K}of $.prefix){let z=W.replace(/\./g,"-").replace(/-$/,""),G=K.replace(/\./g,"-").replace(/-$/,"");U=U.replace(z,G)}if($.suffix){for(let{find:W,replace:K}of $.suffix)if(U.endsWith(W))U=U.substring(0,U.length-W.length)+K}return U}return q}}}function A0(X,Z){let Y=X.$metaData,q=Y.tokens?.css,$=X.$modes?[...Object.values(X.$modes)]:["light","dark"],U=$.length>0?$[0]:"light",W=Y.modes?.isHost??!1;return{...Z,separateThemeFiles:q?.mediaQuery?.separateThemeFiles??!1,rootSelector:":root",generateMediaQueries:!0,customHeader:dX(X),themeSelector:q?.mediaQuery?.match||"[data-theme]",modes:$,defaultMode:U,isHost:W,hooks:q?.hooks}}function L2(X,Z){let Y=X.$metaData;return{...Z,tokenInterface:"DesignTokens",exportNamespace:Y.dsNamespace||Y.tokenNamespace,generateTypes:!0,generateConsts:!0,generateCSSVarMappings:!0,includeJSDoc:!0}}function H2(X,Z){let Y=X.$modes?[...Object.values(X.$modes)]:["light","dark"];return{...Z,modes:Y,typescript:!0,separateThemeFiles:!0,includeJSDoc:!1,moduleType:"es",customHeader:`/**
483
+ * ${X.$name}
468
484
  * Generated: ${new Date().toISOString()}
469
- */`}}function G4($,X,Y){let Z=[],q=JSON.stringify({$schema:"https://schemas.designtokens.org/design-tokens.schema.json",$name:Y.$name,$version:Y.$version,tokens:X.reduce((K,A)=>{return K[A.name]={$type:A.type,$value:A.value,$description:A.description,$extensions:A.extensions},K},{})},null,2);Z.push({fileName:"tokens.raw.json",content:q+`
470
- `});let U=JSON.stringify({$name:Y.$name,$version:Y.$version,tokens:$.reduce((K,A)=>{return K[A.name]={$type:A.type,$value:A.value,$description:A.description,cssVar:A.cssVar},K},{})},null,2);Z.push({fileName:"tokens.resolved.json",content:U+`
471
- `});let W=JSON.stringify({$name:`${Y.$name} - CSS Variables`,$version:Y.$version,variables:$.reduce((K,A)=>{return K[A.cssVar]=A.value,K},{})},null,2);return Z.push({fileName:"css-variables.json",content:W+`
472
- `}),Z}function i($,X){let Y=R$($);if(!h0(Y))t1(Y,{recursive:!0});n1($,X,"utf-8")}function M($,X){if(X!==!1)console.log($)}async function v0($,X){let Y=typeof globalThis.Bun<"u",Z=$,q=null;if($.endsWith(".ts")&&!Y){let{compileConfigFile:z,getDistConfigFile:L}=await Promise.resolve().then(() => (Q$(),w2)),H=R$($);await z(H),Z=L(H),q=Z}let W=(await import(Z)).default,K=R$($),A=(z)=>{if(z.startsWith("../"))return P(K,z);return P(K,W.$paths.baseDir,z)},G=P(K,W.$paths.baseDir,W.$paths.tokensDir),E=X||A(W.$paths.distDir);try{return await KY({config:W,tokensDir:G,outputDir:E,verbose:!0})}finally{if(q){let{existsSync:z,unlinkSync:L}=await import("fs");if(z(q))try{L(q)}catch(H){}}}}var f0=S(()=>{s2();f$();$Y();M0();P0();O0();F$()});function z4($,X,Y){let Z=b($,{isIncludedOriginalValue:!0}),q=g($,Y);if(!q||!c($,"mode",{isIncludedOriginalValue:!1}))q=Z;return j$($,q,X,Y)}function b$($,X,Y){let Z=z4($,X,Y),q=typeof Z==="string"?Y$(Z):null;if(q&&(q?.length??0)>=1)return $$(Z,q,X,Y);else return A4($,X,Y)}function A4($,X,Y){return j$($,i$($,X,Y),X,Y)}function j$($,X,Y,Z){if(!$)return null;if($.$type==="color")X=x$(X,$,Y,Z);else if($.$type==="composition"||$.$type==="typography")X=e($,Y,Z);return X}var I$="did";var T=S(()=>{G$();F$();n$();G$();Q$();B2();I2();J2();F$();n$();O0();M0();f$();P0();f0()});import{existsSync as E4}from"fs";import{resolve as L4,join as WY}from"path";import H4 from"chokidar";import{execSync as OY}from"child_process";import{existsSync as M$,statSync as m0}from"fs";import{resolve as d0}from"path";async function u0($,X=!1){let Y=process.cwd(),Z=$||d0(Y,"designid.config.ts"),q=d0(Y,"designid.config.mjs");if(!M$(Z))return!1;if(!(!M$(q)||M$(Z)&&M$(q)&&m0(Z).mtimeMs>m0(q).mtimeMs)){if(X)console.log("✓ Config file is up to date");return!1}if(X)console.log("\uD83D\uDD04 Compiling config file...");try{if(OY(`bun build ${Z} --outfile ${q} --minify --target node --packages external --no-bundle`,{stdio:X?"inherit":"pipe"}),X)console.log(`✅ Config compiled successfully
473
- `);return!0}catch(W){if(console.error("❌ Failed to compile config file"),W instanceof Error)console.error(W.message);throw W}}T();f0();if(process.argv.includes("--help")||process.argv.includes("-h"))console.log(`
485
+ */`}}function _2(X,Z,Y){let q=[],$=JSON.stringify({$schema:"https://schemas.designtokens.org/design-tokens.schema.json",$name:Y.$name,$version:Y.$version,tokens:Z.reduce((K,z)=>{return K[z.name]={$type:z.type,$value:z.value,$description:z.description,$extensions:z.extensions},K},{})},null,2);q.push({fileName:"tokens.raw.json",content:$+`
486
+ `});let U=JSON.stringify({$name:Y.$name,$version:Y.$version,tokens:X.reduce((K,z)=>{return K[z.name]={$type:z.type,$value:z.value,$description:z.description,cssVar:z.cssVar},K},{})},null,2);q.push({fileName:"tokens.resolved.json",content:U+`
487
+ `});let W=JSON.stringify({$name:`${Y.$name} - CSS Variables`,$version:Y.$version,variables:X.reduce((K,z)=>{return K[z.cssVar]=z.value,K},{})},null,2);return q.push({fileName:"css-variables.json",content:W+`
488
+ `}),q}function a(X,Z){let Y=FX(X);if(!hY(Y))q2(Y,{recursive:!0});Z2(X,Z,"utf-8")}function F(X,Z){if(Z!==!1)console.log(X)}async function mY(X,Z){let Y=typeof globalThis.Bun<"u",q=X,$=null;if(X.endsWith(".ts")&&!Y){let{compileConfigFile:A,getDistConfigFile:L}=await Promise.resolve().then(() => (BX(),IZ)),H=FX(X);await A(H),q=L(H),$=q}let W=(await import(q)).default,K=FX(X),z=(A)=>{if(A.startsWith("../"))return V(K,A);return V(K,W.$paths.baseDir,A)},G=V(K,W.$paths.baseDir,W.$paths.tokensDir),E=Z||z(W.$paths.distDir);try{return await E0({config:W,tokensDir:G,outputDir:E,verbose:!0})}finally{if($){let{existsSync:A,unlinkSync:L}=await import("fs");if(A($))try{L($)}catch(H){}}}}var pY=S(()=>{eZ();uX();U0();xY();TY();IY();SX()});function Q2(X,Z,Y){let q=C(X,{isIncludedOriginalValue:!0}),$=f(X,Y);if(!$||!l(X,"mode",{isIncludedOriginalValue:!1}))$=q;return PX(X,$,Z,Y)}function TX(X,Z,Y){let q=Q2(X,Z,Y),$=typeof q==="string"?$X(q):null;if($&&($?.length??0)>=1)return qX(q,$,Z,Y);else return O2(X,Z,Y)}function O2(X,Z,Y){return PX(X,nX(X,Z,Y),Z,Y)}function PX(X,Z,Y,q){if(!X)return null;if(X.$type==="color")Z=DX(Z,X,Y,q);else if(X.$type==="composition"||X.$type==="typography")Z=ZX(X,Y,q);return Z}var MX="did";var g=S(()=>{EX();SX();eX();EX();BX();wZ();RZ();MZ();SX();eX();IY();xY();uX();TY();pY()});import{existsSync as J2}from"fs";import{resolve as B2,join as L0}from"path";import I2 from"chokidar";import{execSync as M0}from"child_process";import{existsSync as jX,statSync as uY}from"fs";import{resolve as kY}from"path";async function cY(X,Z=!1){let Y=process.cwd(),q=X||kY(Y,"designid.config.ts"),$=kY(Y,"designid.config.mjs");if(!jX(q))return!1;if(!(!jX($)||jX(q)&&jX($)&&uY(q).mtimeMs>uY($).mtimeMs)){if(Z)console.log("✓ Config file is up to date");return!1}if(Z)console.log("\uD83D\uDD04 Compiling config file...");try{if(M0(`bun build ${q} --outfile ${$} --minify --target node --packages external --no-bundle`,{stdio:Z?"inherit":"pipe"}),Z)console.log(`✅ Config compiled successfully
489
+ `);return!0}catch(W){if(console.error("❌ Failed to compile config file"),W instanceof Error)console.error(W.message);throw W}}g();pY();if(process.argv.includes("--help")||process.argv.includes("-h"))console.log(`
474
490
  Watch Tokens - File watcher for design token changes
475
491
 
476
492
  Usage:
@@ -485,12 +501,12 @@ Example:
485
501
  bun src/scripts/watch-tokens.ts
486
502
  bun src/scripts/watch-tokens.ts --config=./custom-config.ts
487
503
  bun src/scripts/watch-tokens.ts --dev
488
- `),process.exit(0);async function _4(){let $=await a(),{distDir:X,buildDir:Y}=await m(),Z=[/node_modules/,/dist/,/build/,WY($,X),WY($,Y)],q=H4.watch(["**/*.tokens.json","designid.config.ts"],{ignored:Z,persistent:!0}),U,W=300,K=!1;function A(z){let L=[z,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let H of L){let _=L4(H);if(E4(_))return _}throw Error(`Config file not found. Tried: ${L.join(", ")}`)}let G=async()=>{if(K){console.log(`[${new Date().toLocaleTimeString()}] Build already in progress, skipping...`);return}clearTimeout(U),U=setTimeout(async()=>{K=!0,console.clear(),process.stdout.write("\x1Bc"),console.log(`[${new Date().toLocaleTimeString()}] Changes detected. Re-building tokens...
489
- `);let z=(()=>{let L=process.argv.find((H)=>H.startsWith("--config="));return L?L.split("=")[1]:void 0})();try{await u0(z,!1);let L=A(z);console.log(`Using config: ${L}`);let H=await v0(L);if(H.errors.length>0){console.log(`
504
+ `),process.exit(0);async function w2(){let X=await o(),{distDir:Z,buildDir:Y}=await d(),q=[/node_modules/,/dist/,/build/,L0(X,Z),L0(X,Y)],$=I2.watch(["**/*.tokens.json","designid.config.ts"],{ignored:q,persistent:!0}),U,W=300,K=!1;function z(A){let L=[A,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let H of L){let _=B2(H);if(J2(_))return _}throw Error(`Config file not found. Tried: ${L.join(", ")}`)}let G=async()=>{if(K){console.log(`[${new Date().toLocaleTimeString()}] Build already in progress, skipping...`);return}clearTimeout(U),U=setTimeout(async()=>{K=!0,console.clear(),process.stdout.write("\x1Bc"),console.log(`[${new Date().toLocaleTimeString()}] Changes detected. Re-building tokens...
505
+ `);let A=(()=>{let L=process.argv.find((H)=>H.startsWith("--config="));return L?L.split("=")[1]:void 0})();try{await cY(A,!1);let L=z(A);console.log(`Using config: ${L}`);let H=await mY(L);if(H.errors.length>0){console.log(`
490
506
  ❌ Build failed with ${H.errors.length} error${H.errors.length>1?"s":""}:`),H.errors.forEach((_)=>console.log(` - ${_}`)),K=!1;return}if(console.log(`
491
507
  ✅ Build completed successfully!`),console.log(`Processed ${H.tokenCount} tokens in ${H.duration}ms`),H.cssFiles.length>0)console.log(`Generated ${H.cssFiles.length} CSS files`);if(H.typescriptFiles.length>0)console.log(`Generated ${H.typescriptFiles.length} TypeScript files`);if(H.warnings.length>0)console.log(`
492
508
  Warnings:`),H.warnings.forEach((_)=>console.log(` - ${_}`));console.log(`
493
509
  Completed at ${new Date().toLocaleTimeString()}
494
510
  `)}catch(L){console.error(`
495
- ❌ Build failed:`,L)}finally{K=!1}},300)};q.on("ready",()=>{console.log("Watching for changes in .tokens.json files and designid.config.ts..."),console.log(`Working directory: ${process.cwd()}`),console.log(`Press Ctrl+C to stop watching
496
- `)}).on("change",(z)=>{console.log(`Changed: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("add",(z)=>{console.log(`Added: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("unlink",(z)=>{console.log(`Deleted: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("error",(z)=>{console.error(`Watcher error: ${z}`)});let E=()=>{clearTimeout(U),q.close().then(()=>{console.log("File watcher closed successfully"),process.exit(0)}).catch((z)=>{console.error("Error closing file watcher:",z),process.exit(1)})};process.on("SIGINT",E),process.on("SIGTERM",E),process.on("SIGHUP",E),process.on("uncaughtException",(z)=>{console.error("Uncaught Exception:",z),E()}),process.on("unhandledRejection",(z,L)=>{console.error("Unhandled Rejection at:",L,"reason:",z),E()})}var Q4=process.argv[1]?.includes("tokens-watch")||process.argv[1]?.endsWith("watch.js")||import.meta.url===`file://${process.argv[1]}`;if(Q4)_4().catch(($)=>{console.error("Error starting watch process:",$),process.exit(1)});export{_4 as runWatch};
511
+ ❌ Build failed:`,L)}finally{K=!1}},300)};$.on("ready",()=>{console.log("Watching for changes in .tokens.json files and designid.config.ts..."),console.log(`Working directory: ${process.cwd()}`),console.log(`Press Ctrl+C to stop watching
512
+ `)}).on("change",(A)=>{console.log(`Changed: ${A}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("add",(A)=>{console.log(`Added: ${A}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("unlink",(A)=>{console.log(`Deleted: ${A}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("error",(A)=>{console.error(`Watcher error: ${A}`)});let E=()=>{clearTimeout(U),$.close().then(()=>{console.log("File watcher closed successfully"),process.exit(0)}).catch((A)=>{console.error("Error closing file watcher:",A),process.exit(1)})};process.on("SIGINT",E),process.on("SIGTERM",E),process.on("SIGHUP",E),process.on("uncaughtException",(A)=>{console.error("Uncaught Exception:",A),E()}),process.on("unhandledRejection",(A,L)=>{console.error("Unhandled Rejection at:",L,"reason:",A),E()})}var R2=process.argv[1]?.includes("tokens-watch")||process.argv[1]?.endsWith("watch.js")||import.meta.url===`file://${process.argv[1]}`;if(R2)w2().catch((X)=>{console.error("Error starting watch process:",X),process.exit(1)});export{w2 as runWatch};