@designid/tokens 1.2.6 → 1.2.8

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/build.js CHANGED
@@ -1,66 +1,70 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as HY}from"node:module";var GY=Object.create;var{getPrototypeOf:zY,defineProperty:m$,getOwnPropertyNames:AY}=Object;var EY=Object.prototype.hasOwnProperty;var LY=($,X,Y)=>{Y=$!=null?GY(zY($)):{};let Z=X||!$||!$.__esModule?m$(Y,"default",{value:$,enumerable:!0}):Y;for(let q of AY($))if(!EY.call(Z,q))m$(Z,q,{get:()=>$[q],enumerable:!0});return Z};var d$=($,X)=>{for(var Y in X)m$($,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(Z)=>X[Y]=()=>Z})};var P=($,X)=>()=>($&&(X=$($=0)),X);var u$=HY(import.meta.url);var d0={};d$(d0,{transformColorValueAsync:()=>BY,transformColorValue:()=>F,transformColorToken:()=>M$,setAlpha:()=>U$,isColor:()=>p,initializeColorspace:()=>QY});import k$ from"colorjs.io";async function p0(){if(R$===null){let{colorspace:$}=await C();R$=$||"hex"}return R$}function _Y(){return R$||"hex"}async function QY(){await p0()}function U$($,X){let Y=new k$($);if(X||X===0)Y.alpha=X/100;return F(Y)}function m0($,X){if(!$)return $;if(X&&X.type!=="color")return $;if(typeof $==="string")$=new k$($);if(typeof $?.to!=="function")return $;let Y=_Y();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 BY($,X){return await p0(),m0($,X)}function F($,X){return m0($,X)}function M$($,X,Y,Z){try{if($=T(X,Z),X.$type==="color"&&X.original?.$value&&X.original?.$value!==X.$value){if(S(X.original.$value))$=y(X.original.$value,Y,Z,X);else $=D(X);if(!j(Z)&&X.original?.$extensions?.mode?.[Z])$=X.original.$extensions.mode[Z]}if(S($))$=y($,Y,Z,X);return F($)}catch{return $=T(X,Z),F($)}}function p($){try{if($)return new k$($),!0;return!1}catch{return!1}}var R$=null;var W$=P(()=>{g()});function u0($,X){let Y=$.$extensions?.delimiter?.character||" ",Z=T($,X)??{},q=$.$extensions?.sort??[],U=D($)??{};if(q.length>0)U=Object.keys(U).sort((K,W)=>{let z=q.indexOf(K),G=q.indexOf(W);return z-G}).reduce((K,W)=>{return K[W]=Z[W],K},{});return Object.keys(U).reduce((K,W)=>{let z=D(Z[W]);if(Z[W]?.$type==="color"||Z[W].$property==="color")z=F(z,Z[W]);return[...Array.isArray(K)?K:[K],z]},[]).join(Y).trim()}function OY($,X,Y,Z){return Object.keys(X??{}).reduce((U,K)=>{let W=X[K];if(typeof W==="string"||typeof W==="number")W={$value:W,$type:typeof W,value:W};if(W.$type=W.type||$?.original?.$value?.[K]?.type||W.$type||$.$type,!j(Z)&&u(W,"mode",{isIncludedOriginalValue:!0}))W.$value=T(W,Z);if(W?.$type==="composition"&&(typeof W.$value!=="string"||typeof W.$value!=="number"||S(W.$value))&&Object.keys(W).length>0){if(S(W.$value))return W.$value=y(W.$value,Y,Z,W),{...U,[K]:{...W,$property:K,$type:W.$type,$value:t(W,Y,Z)}};return{...U,[K]:{...W,$property:K,$type:W.$type,$value:t(W,Y,Z)}}}if(W?.$value){let G=y(W.$value,Y,Z,W);return{...U,[K]:{...W,$property:K,$type:W.$type,$value:G}}}return U},{})}function t($,X,Y){let Z=D($,{isIncludedOriginalValue:!0});if(typeof Z==="string"){if(S(Z)){if(Z=l$(Z,X,Y,$),!j(Y)&&u(Z,"mode",{isIncludedOriginalValue:!0}))Z.$value=T(Z,Y)}let q=e(Z);if(q&&(q?.length??0)>1)Z=o(Z,q,X,Y)}else if(Array.isArray(Z))Z=Z.map((q)=>{if(typeof q==="string"&&S(q))return y(q,X,Y,$);return q});if(!$.name)return Z;return $.$value=OY($,Z,X,Y),u0($,Y)}var c$=P(()=>{g()});function D($,X){let{isIncludedOriginalValue:Y=!1,fallbackValue:Z=null}=X??{};if(Y)return $?.original?.$value??$?.$value??$.value??Z;return $?.$value??$?.value??Z}function T($,X){return X&&($?.$extensions?.mode?.[X]||typeof $?.$extensions?.mode?.[X]==="number")?$.$extensions.mode[X]:D($,{fallbackValue:$?.original?.$value??$?.$value??$?.value})??null}function u($,X,{isIncludedOriginalValue:Y=!1}={}){let Z=!1;if(Y&&$?.original?.$extensions?.[X])Z=!0;if($?.$extensions?.[X])Z=!0;return Z}function r$($,X,Y){let Z=D($,{isIncludedOriginalValue:!0});if(!j(Y)&&u($,"mode",{isIncludedOriginalValue:!0}))Z=T($,Y);if(S(Z))return s$(Z,X,Y,$);return Z}function o($,X,Y,Z){let q=X.reduce((U,K)=>{let W=i$(K,Y);if(!W)return U;let z=D(W,{isIncludedOriginalValue:!0});if(S(z))z=y(`{${K}}`,Y,Z,W);return{...U,[K]:N$(W,z,Y,Z)}},{});return $?.replace(/\{([^}]+)\}/g,(U,K)=>{return q[K]!==void 0?q[K]:U})??null}function l$($,X,Y,Z){if(S($))return y($,X,Y,Z);return $}function i$($,X){return X.allTokens.find((Y)=>Y.path.join(".")===$)??null}function y($,X,Y,Z){let q=S($),U=null,K=$??D(Z),W=null;if(q){if(U=i$(q,X),Y&&U&&U?.$extensions?.mode?.[Y]!==U.original?.$extensions?.mode?.[Y])K=U.original?.$extensions?.mode?.[Y],W=U.original?.$extensions?.alpha??W;else if(U?.$extensions?.mode?.[Y])K=U.$extensions.mode[Y],W=U.$extensions?.alpha??W;else if(U?.original?.$value)K=U?.original.$value??U?.$value,W=U?.original.$extensions?.alpha??W}if(K!==$&&S(K))K=y(K,X,Y,Z);if(K&&(W||Z?.$extensions?.alpha||W===0||Z?.original?.$extensions?.alpha===0))W=W??Z?.$extensions?.alpha??null,K=U$(K,W);return K=F(K,U??Z),K??$}function s$($,X,Y,Z){let q=Z?.original?.$extensions?.mode?.[Y]??Z?.original?.$value,U=S(q);if(Y&&U){let K=X.allTokens.find((z)=>z.path.join(".")===U);if(!K)return $;let W=D(K);if(S(W))return s$(W,X,Y,K);if(K?.$extensions?.mode?.[Y])W=K.$extensions.mode[Y];if(W&&K?.$extensions?.alpha)W=U$(K.$value,K.$extensions.alpha);return F(W,K)??$}else if(q)return F(q,Z);return $}function S($){if(typeof $!=="string")return null;let X=/{[^}]+}/g,Y=$.match(X);if(Y?.length!==1)return null;return Y[0].slice(1,-1)}function e($){if(typeof $!=="string")return null;return[...$.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function $$($){return $}function K$($){return $}var a$=P(()=>{g()});var H2={};d$(H2,{wrapThemeValue:()=>E0,wrapFormatCSSFile:()=>z2,typographyFileName:()=>o0,tokensFileName:()=>n0,removeDirectoryContents:()=>K0,readConfigFile:()=>Z$,namespaceUUID:()=>Y2,iconsFileName:()=>e0,getTokenfileName:()=>X2,getRelativePath:()=>L2,getRelativeCSSPath:()=>E2,getRawTokensFileName:()=>W2,getProjectPaths:()=>i,getProjectModes:()=>z0,getProjectMetaData:()=>C,getProjectFonts:()=>xY,getLazyTokensConfig:()=>n$,getLazyProjectPaths:()=>A0,getLazyProjectModes:()=>G$,getLazyProjectMetaData:()=>H$,getLazyProjectFonts:()=>FY,getLazyProjectData:()=>k,getLazyIcons:()=>S$,getJSDocHeader:()=>K2,getIconDestinationFileName:()=>X$,getFiles:()=>P$,getFileHeader:()=>G0,getDistThemeFileDelimeter:()=>Z2,getDistConfigFile:()=>x$,getDestinationFileName:()=>q2,getDefaultIconObjectPath:()=>$2,getCSSDestinationFileName:()=>U2,getBaseDirectory:()=>A$,getBaseConfigFile:()=>E$,generatedFileHeader:()=>Y$,filterTokensByType:()=>F$,createFileHeaderTitle:()=>z$,compileConfigFile:()=>W0,combineCSSFiles:()=>A2,checkAndCreateDirectory:()=>r,breakpointFileName:()=>t0});import{spawnSync as wY}from"child_process";import{existsSync as h,mkdirSync as IY,readFileSync as JY,unlinkSync as k0,writeFileSync as RY}from"fs";import{readdir as i0,rmdir as MY,unlink as NY}from"fs/promises";import{resolve as s0,join as N,basename as a0,normalize as c0,relative as l0,sep as t$,dirname as r0}from"path";async function $2(){return`${(await L$()).$metaData?.tokenNamespace||"tokens"}.icons`}async function W0($){let Y=N($,"designid.config.ts");if(h(N($,"designid.config.mjs")))k0(N($,"designid.config.mjs"));let Z=N($,"designid.config.js");if(h(Z))k0(Z);if(h(Y)){let q=wY("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 K0($){try{if(h($)){let X=await i0($,{withFileTypes:!0});for(let Y of X){let Z=N($,Y.name);if(Y.isDirectory())await K0(Z),await MY(Z);else await NY(Z)}}}catch(X){console.error(`Error removing contents of ${$}:`,X)}}async function P$($){let X=await i0($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=s0($,Z.name);return Z.isDirectory()?P$(q):q}));return Array.prototype.concat(...Y)}async function Y2($){let{dsNamespace:X,tokenNamespace:Y}=await C();return`${(X??Y).toUpperCase()}DesignSystem${$.charAt(0).toUpperCase()+$.slice(1)}Tokens`}function X2($,X="d.ts",Y){if(!$)return`tokens.${Y}.config.${X}`;return N($,`tokens.${Y}.config.${X}`)}function Z2($,X){return $.length>1?`.${X}`:""}async function q2($="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 X$($="json"){let{tokenNamespace:X}=await C();return`${X}-design-system.tokens.svg${$==="d.ts"||$==="js"?".config":""}.${$}`}async function U2(){let{tokenNamespace:$}=await C();return`${$}-design-system.tokens.css`}async function W2(){let{tokenNamespace:$}=await C();return`${$}-design-system-raw.tokens.json`}async function G0($){let{tokenNamespace:X}=await C();return`${X} | ${$}`}function K2($,X){return`/** @type {import("./${$}").${X}} */`}function z$($){return`/* ${G0($)} */`}function r($){if(!h($))IY($,{recursive:!0})}async function Z$($,X=!1){let Y=E$(),Z;if(Y.endsWith(".json"))Z=JSON.parse(JY(Y,"utf8").trim()??"{}");else if(Y.endsWith(".ts"))if(typeof globalThis.Bun<"u"){if(Z=await import(Y),Z.default)Z=Z.default}else{$=$??r0(Y)+"/";let U=x$($);if(U&&(X||!h(U)))await W0($);if(Z=await import(U),Z.default)Z=Z.default}else{$=$??r0(Y)+"/";let q=x$($);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 i(),Y=process.cwd(),q=N(Y,X),{buildDir:U,distDir:K}=await i();if($)try{r(N(q,U)),r(N(q,K))}catch(W){console.error("Error creating directories:",W)}return q}function x$($){return $?N($,"designid.config.mjs"):N(process.cwd(),"designid.config.mjs")}function E$(){let $=process.argv.find((W)=>W.startsWith("--config=")),[,X]=$?.split("=")??[];if(X)return X;let Y=process.cwd(),Z=x$(Y),q=N(Y,"designid.config.ts"),U=h(Z),K=h(q);if(U)return Z;else if(K)return q;throw console.error("Config file not found"),Error("Config file not found")}async function i($=!1){let X=E$(),Z=(await Z$(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 Z$(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 $2();return{...X,icons:X.icons??{objectPath:Y},dsNamespace:X.dsNamespace}}async function z0(){return(await Z$(process.cwd())).$modes??{default:"light"}}async function L$(){if(!o$){let $=E$();o$=await Z$(process.cwd()),G2=$}return o$}async function G$(){if(!e$)e$=(await L$()).$modes??{default:"light"};return e$}async function H$(){if(!$0){let X=(await L$()).$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`;$0={...X,icons:X.icons??{objectPath:Z},dsNamespace:X.dsNamespace}}return $0}async function A0($=!1){if(!Y0){let Y=(await L$()).$paths;if(!Y)throw console.error("Project paths not found"),Error("Project paths not found");Y0={configFile:G2,...Y}}return Y0}async function k(){if(!X0){let{distDir:$,assets:X,buildDir:Y}=await A0(!0),{fontNamespace:Z,tokenNamespace:q,icons:U}=await H$(),K=await A$(),W=process.cwd(),z=N(W,$,"css");X0={distDir:$,assets:X,fontNamespace:Z,__dirname:K,workspaceRoot:W,distCSSPath:z,buildDir:Y,tokenNamespace:q,icons:U}}return X0}async function S$(){if(!Z0){let{icons:$}=await H$();Z0=$}return Z0}async function n$(){if(!q0){let{tokens:$}=await H$();q0=$}return q0}async function xY(){return(await Z$(process.cwd())).$fonts??[]}async function FY(){if(!U0)U0=(await L$()).$fonts??[];return U0}async function E0($){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 z2($,X,Y,Z,q,U={}){let K;if(j(Y))K=X.allTokens;else K=$(X,Y);let z=(await C())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${z$(z)}
3
- ${Y$}`,E=j(Y)?`:root {
2
+ import{createRequire as _Y}from"node:module";var zY=Object.create;var{getPrototypeOf:AY,defineProperty:u$,getOwnPropertyNames:EY}=Object;var LY=Object.prototype.hasOwnProperty;var HY=($,X,Y)=>{Y=$!=null?zY(AY($)):{};let Z=X||!$||!$.__esModule?u$(Y,"default",{value:$,enumerable:!0}):Y;for(let q of EY($))if(!LY.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 D=($,X)=>()=>($&&(X=$($=0)),X);var c$=_Y(import.meta.url);var l0={};k$(l0,{transformColorValueAsync:()=>wY,transformColorValue:()=>F,transformColorToken:()=>x$,setAlpha:()=>K$,isColor:()=>m,initializeColorspace:()=>BY});import l$ from"colorjs.io";async function k0(){if(N$===null){let{colorspace:$}=await C();N$=$||"hex"}return N$}function OY(){return N$||"hex"}async function BY(){await k0()}function K$($,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=OY();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 wY($,X){return await k0(),c0($,X)}function F($,X){return c0($,X)}function x$($,X,Y,Z){try{if($=T(X,Z),X.$type==="color"&&X.original?.$value&&X.original?.$value!==X.$value){if(S(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(S($))$=y($,Y,Z,X);return F($)}catch{return $=T(X,Z),F($)}}function m($){try{if($)return new l$($),!0;return!1}catch{return!1}}var N$=null;var W$=D(()=>{g()});function r0($,X){let Y=$.$extensions?.delimiter?.character||" ",Z=T($,X)??{},q=$.$extensions?.sort??[],U=b($)??{};if(q.length>0)U=Object.keys(U).sort((W,K)=>{let z=q.indexOf(W),G=q.indexOf(K);return z-G}).reduce((W,K)=>{return W[K]=Z[K],W},{});return Object.keys(U).reduce((W,K)=>{let z=b(Z[K]);if(Z[K]?.$type==="color"||Z[K].$property==="color")z=F(z,Z[K]);return[...Array.isArray(W)?W:[W],z]},[]).join(Y).trim()}function u($,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 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(u(E,X));else K.push(String(E))}return K.join(" ")}if(typeof W==="string"&&W.match(/^\{.+\}$/))return u(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 u(K,X);return String(K)});return $}function IY($,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)&&k(K,"mode",{isIncludedOriginalValue:!0}))K.$value=T(K,Z);if(K?.$type==="composition"&&(typeof K.$value!=="string"||typeof K.$value!=="number"||S(K.$value))&&Object.keys(K).length>0){if(S(K.$value))return K.$value=y(K.$value,Y,Z,K),{...U,[W]:{...K,$property:W,$type:K.$type,$value:o(K,Y,Z)}};return{...U,[W]:{...K,$property:W,$type:K.$type,$value:o(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 o($,X,Y){let Z=b($,{isIncludedOriginalValue:!0});if(typeof Z==="string"){if(S(Z)){if(Z=r$(Z,X,Y,$),!j(Y)&&k(Z,"mode",{isIncludedOriginalValue:!0}))Z.$value=T(Z,Y)}let q=$$(Z);if(q&&(q?.length??0)>1)Z=e(Z,q,X,Y)}else if(Array.isArray(Z))Z=Z.map((q)=>{if(typeof q==="string"&&S(q))return y(q,X,Y,$);return q});if(!$.name)return Z;return $.$value=IY($,Z,X,Y),r0($,Y)}var F$=D(()=>{g()});function b($,X){let{isIncludedOriginalValue:Y=!1,fallbackValue:Z=null}=X??{};if(Y)return $?.original?.$value??$?.$value??$.value??Z;return $?.$value??$?.value??Z}function T($,X){return X&&($?.$extensions?.mode?.[X]||typeof $?.$extensions?.mode?.[X]==="number")?$.$extensions.mode[X]:b($,{fallbackValue:$?.original?.$value??$?.$value??$?.value})??null}function k($,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)&&k($,"mode",{isIncludedOriginalValue:!0}))Z=T($,Y);if(S(Z))return a$(Z,X,Y,$);return Z}function e($,X,Y,Z){let q=X.reduce((U,W)=>{let K=s$(W,Y);if(!K)return U;let z=b(K,{isIncludedOriginalValue:!0});if(S(z))z=y(`{${W}}`,Y,Z,K);return{...U,[W]:j$(K,z,Y,Z)}},{});return $?.replace(/\{([^}]+)\}/g,(U,W)=>{return q[W]!==void 0?q[W]:U})??null}function r$($,X,Y,Z){if(S($))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=S($),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!==$&&S(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=K$(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=S(q);if(Y&&U){let W=X.allTokens.find((z)=>z.path.join(".")===U);if(!W)return $;let K=b(W);if(S(K))return a$(K,X,Y,W);if(W?.$extensions?.mode?.[Y])K=W.$extensions.mode[Y];if(K&&W?.$extensions?.alpha)K=K$(W.$value,W.$extensions.alpha);return F(K,W)??$}else if(q)return F(q,Z);return $}function S($){if(typeof $!=="string")return null;let X=/{[^}]+}/g,Y=$.match(X);if(Y?.length!==1)return null;return Y[0].slice(1,-1)}function $$($){if(typeof $!=="string")return null;return[...$.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function Y$($){return $}function G$($){return $}var n$=D(()=>{g()});var B2={};k$(B2,{wrapThemeValue:()=>L0,wrapFormatCSSFile:()=>H2,typographyFileName:()=>X2,tokensFileName:()=>$2,removeDirectoryContents:()=>G0,readConfigFile:()=>q$,namespaceUUID:()=>U2,iconsFileName:()=>Z2,getTokenfileName:()=>K2,getRelativePath:()=>O2,getRelativeCSSPath:()=>Q2,getRawTokensFileName:()=>A2,getProjectPaths:()=>s,getProjectModes:()=>A0,getProjectMetaData:()=>C,getProjectFonts:()=>jY,getLazyTokensConfig:()=>t$,getLazyProjectPaths:()=>E0,getLazyProjectModes:()=>z$,getLazyProjectMetaData:()=>_$,getLazyProjectFonts:()=>DY,getLazyProjectData:()=>c,getLazyIcons:()=>C$,getJSDocHeader:()=>E2,getIconDestinationFileName:()=>Z$,getFiles:()=>P$,getFileHeader:()=>z0,getDistThemeFileDelimeter:()=>W2,getDistConfigFile:()=>D$,getDestinationFileName:()=>G2,getDefaultIconObjectPath:()=>q2,getCSSDestinationFileName:()=>z2,getBaseDirectory:()=>E$,getBaseConfigFile:()=>L$,generatedFileHeader:()=>X$,filterTokensByType:()=>S$,createFileHeaderTitle:()=>A$,compileConfigFile:()=>W0,combineCSSFiles:()=>_2,checkAndCreateDirectory:()=>i,breakpointFileName:()=>Y2});import{spawnSync as JY}from"child_process";import{existsSync as h,mkdirSync as RY,readFileSync as MY,unlinkSync as i0,writeFileSync as NY}from"fs";import{readdir as t0,rmdir as xY,unlink as FY}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=JY("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 xY(Z);else await FY(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 Z$($="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 A$($){return`/* ${z0($)} */`}function i($){if(!h($))RY($,{recursive:!0})}async function q$($,X=!1){let Y=L$(),Z;if(Y.endsWith(".json"))Z=JSON.parse(MY(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=D$($);if(U&&(X||!h(U)))await W0($);if(Z=await import(U),Z.default)Z=Z.default}else{$=$??n0(Y)+"/";let q=D$($);if(q&&(X||!h(q)))await W0($);if(Z=await import(q),Z.default)Z=Z.default}return Z}async function E$($=!1){let{baseDir:X}=await s(),Y=process.cwd(),q=N(Y,X),{buildDir:U,distDir:W}=await s();if($)try{i(N(q,U)),i(N(q,W))}catch(K){console.error("Error creating directories:",K)}return q}function D$($){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=D$(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 s($=!1){let X=L$(),Z=(await q$(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 q$(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 q$(process.cwd())).$modes??{default:"light"}}async function H$(){if(!e$){let $=L$();e$=await q$(process.cwd()),L2=$}return e$}async function z$(){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 c(){if(!Z0){let{distDir:$,assets:X,buildDir:Y}=await E0(!0),{fontNamespace:Z,tokenNamespace:q,icons:U}=await _$(),W=await E$(),K=process.cwd(),z=N(K,$,"css");Z0={distDir:$,assets:X,fontNamespace:Z,__dirname:W,workspaceRoot:K,distCSSPath:z,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 jY(){return(await q$(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 z=(await C())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${A$(z)}
3
+ ${X$}`,E=j(Y)?`:root {
4
4
  `:`@media (123prefers-color-scheme: ${Y}) {
5
5
  :root {
6
6
  `,A=`${G}
7
7
 
8
- ${E}`;if(K.forEach((L)=>{if(F$(L,U,q))return;let _=j$(L,X,Y);if(U.transformValue)_=U.transformValue(_);_=K$(_),A+=`${!j(Y)?" ":" "}--${$$(L.name)}: ${_};
8
+ ${E}`;if(W.forEach((L)=>{if(S$(L,U,q))return;let H=b$(L,X,Y);if(U.transformValue)H=U.transformValue(H);H=G$(H),A+=`${!j(Y)?" ":" "}--${Y$(L.name)}: ${H};
9
9
  `}),Array.isArray(Z)&&Z.length>1){let L=`
10
- `;for(let _ of Z){if(Y===_)continue;let H=await E0(_);L+=`${!j(Y)?" ":" "}&${H} {
11
- `,$(X,_).forEach((w)=>{if(F$(w,U,q))return;let B=j$(w,X,_);if(U.transformValue)B=U.transformValue(B);B=K$(B),L+=`${!j(Y)?" ":" "}--${$$(w.name)}: ${B};
10
+ `;for(let H of Z){if(Y===H)continue;let _=await L0(H);L+=`${!j(Y)?" ":" "}&${_} {
11
+ `,$(X,H).forEach((B)=>{if(S$(B,U,q))return;let O=b$(B,X,H);if(U.transformValue)O=U.transformValue(O);O=G$(O),L+=`${!j(Y)?" ":" "}--${Y$(B.name)}: ${O};
12
12
  `}),L+=`${!j(Y)?" ":" "}}
13
13
 
14
14
  `}A+=L}return A+=!j(Y)?` }
15
15
  `:`}
16
16
  `,A+=!j(Y)?`}
17
- `:"",A}function F$($,X,Y){let{namespace:Z}=X.filter??{};if(!$.$type)return!0;if(Z?.length&&$.path){let q=$.path.join("."),U=Z.some((W)=>q.startsWith(W)),K=X.filter?.isInclusion!==void 0&&X.filter.isInclusion;return U&&!K||!U&&K}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 A2(){let $=await z0(),{baseDir:X,distDir:Y}=await i(),Z=await P$(N(X,Y,"css")),q=N(X,Y,await U2()),U=Y$+`
17
+ `:"",A}function S$($,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 s(),Z=await P$(N(X,Y,"css")),q=N(X,Y,await z2()),U=X$+`
18
18
 
19
- `,K=[{name:e0,order:100},{name:n0,order:200},{name:o0,order:300},{name:t0,order:400}];if(Z=Z.sort((W,z)=>{let G=(E)=>{let A=a0(E,".css"),L=K.find((_)=>A.includes(_.name));for(let _ in $)if(A.includes(_)){let H=$[_]===$.default?1:2;return L?L.order+H:0}return L?L.order:0};return G(W)-G(z)}),Z.forEach((W)=>{if(W.endsWith(".css")){let G=`@import url("${E2(W,X,Y)}");`;U+=G+`
20
- `}}),!h(N(X,Y)))r(N(X,Y));RY(q,U)}function E2($,X,Y){let Z=s0(X,Y);return $.startsWith(Z)?$.slice(Z.length+1):$}function L2($,X,Y,Z){let q=c0($),U=a0(c0(X)),K=q.split(t$),W=K.lastIndexOf(U);if(U===".")return l0(Y,Z).split(t$).join("/");else if(W===-1)throw Error(`Base directory '${U}' not found in '${q}'`);let z=N(...K.slice(0,W+1)),G=N(z,Y),E=N(z,Z);return l0(G,E).split(t$).join("/")}var n0="tokens",t0="breakpoints",o0="typography",e0="icons",Y$=`/*
19
+ `,W=[{name:Z2,order:100},{name:$2,order:200},{name:X2,order:300},{name:Y2,order:400}];if(Z=Z.sort((K,z)=>{let G=(E)=>{let A=e0(E,".css"),L=W.find((H)=>A.includes(H.name));for(let H in $)if(A.includes(H)){let _=$[H]===$.default?1:2;return L?L.order+_:0}return L?L.order:0};return G(K)-G(z)}),Z.forEach((K)=>{if(K.endsWith(".css")){let G=`@import url("${Q2(K,X,Y)}");`;U+=G+`
20
+ `}}),!h(N(X,Y)))i(N(X,Y));NY(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 z=N(...W.slice(0,K+1)),G=N(z,Y),E=N(z,Z);return a0(G,E).split(o$).join("/")}var $2="tokens",Y2="breakpoints",X2="typography",Z2="icons",X$=`/*
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
- */`,o$=null,G2=null,e$=null,$0=null,Y0=null,X0=null,Z0=null,q0=null,U0=null;var _$=P(()=>{g()});function j($){return $===L0}var L0="light";var _2=P(()=>{_$()});async function H0($){let X=await S$();$=$.replace(/<\?xml[^>]*\?>\s*/,""),$=$.replace(/<!DOCTYPE [^>]*>\s*/,"");let Y=$.match(/<svg[^>]*>/),Z=$.match(/viewBox="([\d\s.]+)"/),[q]=Y??[],U=q;if(q&&U){let W=X?.style?.fill,z=/id="[^"]*"/.test(q);if(!U.includes("xmlns="))U=U.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');if(!z&&W)U=U.replace("<svg",`<svg id="${W}"`);else if(z&&W)U=U.replace(/id="[^"]*"/,`id="${W}"`)}if(Z&&q&&U){let W=Z[1].split(" ").map(Number),z=W[2],G=W[3],E=X?.size??24,A=z/G*E;$=$.replace(/height="[\d.]+px?"/,`height="${E}px"`),$=$.replace(/width="[\d.]+px?"/,`width="${A}px"`);let L=/width="[\d.]+(px)?"/.test(q),_=/height="[\d.]+(px)?"/.test(q);if(!L)U=U.replace("<svg",`<svg width="${A}px"`);else U=U.replace(/width="[\d.]+(px)?"/,`width="${A}px"`);if(!_)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 Q2=P(()=>{g()});var B2=P(()=>{_$();g()});import{copyFileSync as SY,existsSync as DY,mkdirSync as O2,statSync as bY}from"fs";import{writeFile as CY}from"fs/promises";import{join as V,relative as VY}from"path";async function _0($,X){try{let{assets:Y,workspaceRoot:Z,distDir:q,__dirname:U}=await k(),K=Y?.fonts?.sourceDir?V(U,Y.fonts.sourceDir):null,W=V("assets","fonts"),z=V(Z,q),G=Y?.fonts?.distDir?V(z,Y.fonts.distDir.replace(/^\.\//,"")):V(z,W);if(!$||!K)return;let E="",A=X&&Y?.fonts?.distDir?V(X,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let Q of $){if(!Q)continue;if(E+=`/**** ${Q.family} ${Q.style} ****/
25
- `,Q.linkHref){let B=await(await fetch(Q.linkHref)).text();E+=`${B.replace(/\s+/g," ").replace(/:\s+/g,":")}
26
- `}else if(Q?.src&&K){let w=Q.directory??Q.family.toLowerCase().replace(/\s+/g,"-"),B=V(K,w,Q.src);try{if(!DY(B)||!bY(B).isFile()){console.warn(`Font file not found: ${B}`);continue}}catch{console.warn(`Error accessing font file: ${B}`);continue}try{O2(V(A,w),{recursive:!0}),SY(V(K,w,Q.src),V(A,w,Q.src))}catch(I){console.warn(`Error copying font file ${Q.src}:`,I instanceof Error?I.message:I);continue}let O;if(Y?.fonts?.cssImportPath)O=V(Y.fonts.cssImportPath,w,Q.src).replace(/\\/g,"/");else{let{distCSSPath:I}=await k(),J=X?V(X,"css"):I,R=VY(J,A);O=V(R,w,Q.src).replace(/\\/g,"/")}E+=`@font-face {
24
+ */`,e$=null,L2=null,$0=null,Y0=null,X0=null,Z0=null,q0=null,U0=null,K0=null;var Q$=D(()=>{g()});function j($){return $===H0}var H0="light";var w2=D(()=>{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,z=/id="[^"]*"/.test(q);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(Z&&q&&U){let K=Z[1].split(" ").map(Number),z=K[2],G=K[3],E=X?.size??24,A=z/G*E;$=$.replace(/height="[\d.]+px?"/,`height="${E}px"`),$=$.replace(/width="[\d.]+px?"/,`width="${A}px"`);let L=/width="[\d.]+(px)?"/.test(q),H=/height="[\d.]+(px)?"/.test(q);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"`);$=$.replace(q,U)}if(!$?.match(/data-style="([^"]*)"/)&&X?.style?.type)$=$.replace("<svg ",`<svg data-style="${X.style.type}" `);return $}var I2=D(()=>{g()});var J2=D(()=>{Q$();g()});import{copyFileSync as PY,existsSync as CY,mkdirSync as R2,statSync as VY}from"fs";import{writeFile as TY}from"fs/promises";import{join as V,relative as gY}from"path";async function Q0($,X){try{let{assets:Y,workspaceRoot:Z,distDir:q,__dirname:U}=await c(),W=Y?.fonts?.sourceDir?V(U,Y.fonts.sourceDir):null,K=V("assets","fonts"),z=V(Z,q),G=Y?.fonts?.distDir?V(z,Y.fonts.distDir.replace(/^\.\//,"")):V(z,K);if(!$||!W)return;let E="",A=X&&Y?.fonts?.distDir?V(X,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let Q of $){if(!Q)continue;if(E+=`/**** ${Q.family} ${Q.style} ****/
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 B=Q.directory??Q.family.toLowerCase().replace(/\s+/g,"-"),O=V(W,B,Q.src);try{if(!CY(O)||!VY(O).isFile()){console.warn(`Font file not found: ${O}`);continue}}catch{console.warn(`Error accessing font file: ${O}`);continue}try{R2(V(A,B),{recursive:!0}),PY(V(W,B,Q.src),V(A,B,Q.src))}catch(I){console.warn(`Error copying font file ${Q.src}:`,I instanceof Error?I.message:I);continue}let w;if(Y?.fonts?.cssImportPath)w=V(Y.fonts.cssImportPath,B,Q.src).replace(/\\/g,"/");else{let{distCSSPath:I}=await c(),J=X?V(X,"css"):I,R=gY(J,A);w=V(R,B,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
- src: url("${O}") format("${Q.format}");
30
+ src: url("${w}") format("${Q.format}");
31
31
  }
32
- `}}let{distCSSPath:L}=await k(),_=X?V(X,"css"):L,H=`${_}/fonts.css`;O2(_,{recursive:!0}),await CY(H,E,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var Q0=P(()=>{g()});function Q$($){if(typeof $!=="string"||!$.startsWith("{")||!$.endsWith("}"))return!1;let X=$.slice(1,-1);return!X.includes("{")&&!X.includes("}")&&X.trim()!==""}function B$($){if(typeof $!=="string")return!1;let X=/\{[^}]+\}/g,Y=$.match(X);return!!(Y&&Y.length>0&&$.length>Y.join("").length)}function D$($){let X=[],Y=/\{[^}]+\}/g,Z=0,q;while((q=Y.exec($))!==null){if(q.index>Z){let K=$.slice(Z,q.index);if(K)X.push({type:"literal",value:K})}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 w2($){return!!$.$extensions?.$mode}function I2($){return!!($.$extensions?.$generators&&Array.isArray($.$extensions.$generators))}function J2($){return!!($.$extensions?.$breakpoints&&typeof $.$extensions.$breakpoints==="object")}function R2($,X){return`${$}${X}`}function M2($){return typeof $==="object"&&$!==null&&"$value"in $}function N2($){return typeof $==="object"&&$!==null&&!("$value"in $)}var x2=()=>{};function F2($){if(typeof $!=="string")return!1;let X=$.trim();return X.startsWith("<svg")&&X.includes("</svg>")}function j2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/png;base64,")||$.startsWith("iVBORw0KGgo")}function P2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,")||$.startsWith("/9j/")}function gY($){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 yY($){if($.startsWith("data:image/png;base64,"))return $;return`data:image/png;base64,${$}`}function hY($){if($.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,"))return $;return`data:image/jpeg;base64,${$}`}function O$($){if(!$||typeof $!=="string")return $;if($.startsWith("data:"))return $;if(F2($))return gY($);else if(j2($))return yY($);else if(P2($))return hY($);return $}function vY($){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 m($){return F2($)||j2($)||P2($)||vY($)}import{readFileSync as fY,readdirSync as pY,statSync as mY}from"fs";import{join as dY}from"path";import D2 from"colorjs.io";function O0($){let X={};function Y(Z){let q=pY(Z);for(let U of q){let K=dY(Z,U);if(mY(K).isDirectory())Y(K);else if(U.endsWith(".tokens.json"))try{let z=fY(K,"utf-8");if(!z.trim())continue;let G=JSON.parse(z);b2(X,G)}catch(z){console.warn(`Failed to load token file: ${K}`,z)}}}return Y($),X}function b2($,X){for(let Y in X)if(X[Y]&&typeof X[Y]==="object"&&!Array.isArray(X[Y])){if(!$[Y])$[Y]={};b2($[Y],X[Y])}else $[Y]=X[Y]}function w0($,X={}){let Y=[];function Z(q,U=[]){for(let[K,W]of Object.entries(q)){if(K.startsWith("$"))continue;let z=[...U,K],G=z.join(".");if(M2(W)){let E={path:z,name:G,type:W.$type,value:W.$value,description:W.$description,extensions:W.$extensions?{mode:w2(W)?W.$extensions.$mode:W.$extensions.mode?W.$extensions.mode:void 0,generators:I2(W)?W.$extensions.$generators:W.$extensions.generators?W.$extensions.generators:void 0,breakpoints:J2(W)?W.$extensions.$breakpoints:W.$extensions.breakpoint?W.$extensions.breakpoint:void 0,...Object.fromEntries(Object.entries(W.$extensions).filter(([A])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(A)))}:void 0,original:W};if(!X.namespace||G.startsWith(X.namespace))Y.push(E)}else if(N2(W))Z(W,z)}}return Z($),Y}function I0($,X={}){let Y=[...$],Z=new Map($.map((G)=>[G.name,G]));if(X.generateModes||X.generateDerivedTokens||X.generateBreakpointTokens)for(let G of $){let E=S2(G,X,Z);if(Y.push(...E),X.generateModes){for(let A of E)if(A.extensions?.mode&&!A.name.includes("#")){let L=S2(A,X,Z);Y.push(...L)}}}let q=X.modes||[],U=q.length>0?q[0]:void 0,K={tokens:new Map(Y.map((G)=>[G.name,G])),mode:X.generateModes?U:void 0,options:X,brokenReferences:[]},W=[];for(let G of Y){let E=void 0;for(let _ of q)if(G.name.endsWith(`#${_}`)){E=_;break}if(!E&&X.generateModes)E=U;let A={...K,mode:E},L=uY(G,A);W.push(L)}if(X.failOnBrokenReferences!==!1&&K.brokenReferences.length>0){let G=[...new Set(K.brokenReferences)],E=`Token reference${G.length>1?"s":""} not found:
32
+ `}}let{distCSSPath:L}=await c(),H=X?V(X,"css"):L,_=`${H}/fonts.css`;R2(H,{recursive:!0}),await TY(_,E,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var O0=D(()=>{g()});function O$($){if(typeof $!=="string"||!$.startsWith("{")||!$.endsWith("}"))return!1;let X=$.slice(1,-1);return!X.includes("{")&&!X.includes("}")&&X.trim()!==""}function B$($){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 D2($){return typeof $==="object"&&$!==null&&!("$value"in $)}var S2=()=>{};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 hY($){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 vY($){if($.startsWith("data:image/png;base64,"))return $;return`data:image/png;base64,${$}`}function fY($){if($.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,"))return $;return`data:image/jpeg;base64,${$}`}function w$($){if(!$||typeof $!=="string")return $;if($.startsWith("data:"))return $;if(b2($))return hY($);else if(P2($))return vY($);else if(C2($))return fY($);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 p($){return b2($)||P2($)||C2($)||mY($)}import{readFileSync as pY,readdirSync as dY,statSync as uY}from"fs";import{join as kY}from"path";import T2 from"colorjs.io";function w0($){let X={};function Y(Z){let q=dY(Z);for(let U of q){let W=kY(Z,U);if(uY(W).isDirectory())Y(W);else if(U.endsWith(".tokens.json"))try{let z=pY(W,"utf-8");if(!z.trim())continue;let G=JSON.parse(z);g2(X,G)}catch(z){console.warn(`Failed to load token file: ${W}`,z)}}}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 z=[...U,W],G=z.join(".");if(j2(K)){let E={path:z,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(([A])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(A)))}:void 0,original:K};if(!X.namespace||G.startsWith(X.namespace))Y.push(E)}else if(D2(K))Z(K,z)}}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 A of E)if(A.extensions?.mode&&!A.name.includes("#")){let L=V2(A,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 A={...W,mode:E},L=cY(G,A);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
33
  ${G.map((A)=>` - ${A}`).join(`
34
- `)}`;throw Error(E)}return W}function S2($,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,K=(W)=>{if(typeof W!=="object"||W===null)return!1;if(W.$extensions?.mode)return!0;return Object.values(W).some((z)=>{if(typeof z==="object"&&z!==null)return K(z);return!1})};if(Array.isArray($.value))q=$.value.some((W)=>typeof W==="string"&&W.includes("{")||typeof W==="object"&&W!==null&&Object.values(W).some((z)=>typeof z==="string"&&z.includes("{"))),U=$.value.some((W)=>K(W));else q=Object.values($.value).some((W)=>typeof W==="string"&&W.includes("{")),U=K($.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 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,_]of Object.entries(E))if(typeof _==="string"&&_.startsWith("{")&&_.endsWith("}")){let H=_.slice(1,-1),Q=`${H}#dark`,w=Y?.get(H),B=Y?.has(Q)||w?.extensions?.mode?.dark!==void 0||w&&(Array.isArray(w.value)||typeof w.value==="object"&&w.value!==null);if(!H.includes("#dark")&&!H.includes("@dark")&&B)A[L]=`{${Q}}`;else A[L]=_}else A[L]=_;return A}return E});else if(typeof $.value==="object"&&$.value!==null){G={};let E=(A)=>{if(typeof A==="string"){if(A.startsWith("{")&&A.endsWith("}")){let L=A.slice(1,-1),_=`${L}#dark`,H=(w,B=new Set)=>{if(B.has(w))return!1;B.add(w);let O=Y?.get(w);if(!O){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 H(J,B)}}return!1}if(O.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${w}#dark`))return!0;if(typeof O.value==="string"&&O.value.startsWith("{")&&O.value.endsWith("}")){let I=O.value.slice(1,-1);return H(I,B)}if(Array.isArray(O.value)||typeof O.value==="object"&&O.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(O.value))return O.value.some((J)=>typeof J==="string"&&J.includes("{")&&H(J.slice(1,-1),new Set(B))||typeof J==="object"&&J!==null&&(Object.values(J).some((R)=>typeof R==="string"&&R.includes("{")&&H(R.slice(1,-1),new Set(B)))||I(J)));else if(typeof O.value==="object")return Object.values(O.value).some((J)=>typeof J==="string"&&J.includes("{")&&H(J.slice(1,-1),new Set(B)))||I(O.value)}return!1},Q=H(L);if(!L.includes("#dark")&&!L.includes("@dark")&&Q)return`{${_}}`}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[_]=E(H);return L}return A};for(let[A,L]of Object.entries($.value))G[A]=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,A=new Set)=>{if(A.has(E))return!1;A.add(E);let L=Y?.get(E);if(!L){let _=E.match(/^(.+)@([^@]+)$/);if(_){let[,H,Q]=_,w=Y?.get(H);if(w){if(w.extensions?.mode?.dark!==void 0)return!0;if(w.extensions?.generators)return!0;return U(H,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 _=L.value.slice(1,-1);return U(_,A)}if(Array.isArray(L.value)||typeof L.value==="object"&&L.value!==null){let _=(H)=>{if(typeof H!=="object"||H===null)return!1;if(H.$extensions?.mode)return!0;return Object.values(H).some((Q)=>{if(typeof Q==="object"&&Q!==null)return _(Q);return!1})};if(Array.isArray(L.value))return L.value.some((H)=>typeof H==="string"&&H.includes("{")&&U(H.slice(1,-1),new Set(A))||typeof H==="object"&&H!==null&&(Object.values(H).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((H)=>typeof H==="string"&&H.includes("{")&&U(H.slice(1,-1),new Set(A)))||_(L.value)}return!1},K=U(q);if(["color","shadow","border","background","surface","composition"].includes($.type)&&K&&K&&!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,K]of Object.entries(q.value)){let W=R2($.name,U),{generators:z,...G}=$.extensions;Z.push({...$,name:W,value:$.value,path:[...$.path,U],extensions:{...G,generator:{type:q.type,value:K}}})}if(X.generateBreakpointTokens&&$.extensions?.breakpoints)for(let[q,U]of Object.entries($.extensions.breakpoints)){let K=`${$.name}@${q.replace(/[^a-zA-Z0-9]/g,"_")}`,W=U.$value||U.value;if(W&&typeof W==="object"&&"$value"in W)W=W.$value;else if(!W&&typeof U==="object"){let{...E}=U;if(Object.keys(E).length>0)W=E}let z=U.$extensions||U.$extensions,G=U.$type;if(!G&&U.value&&typeof U.value==="object")G=U.value.$type;Z.push({...$,name:K,value:W,path:[...$.path,`@${q}`],type:G||$.type,extensions:{mediaQuery:q,...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 Z}function uY($,X){let Y=s($.value,X),Z=$.type;if(typeof $.value==="string"&&Q$($.value)){let U=$.value.slice(1,-1),K=X.tokens.get(U);if(K){if(["border","shadow","typography","composition"].includes(K.type))Z=K.type;else if(typeof K.value==="string"&&B$(K.value)){let W=D$(K.value),z=new Set;for(let G of W)if(G.type==="reference"&&G.ref&&typeof G.ref==="string"){let E=G.ref.slice(1,-1),A=X.tokens.get(E);if(A&&["border","shadow","typography","composition"].includes(A.type))z.add(A.type)}if(z.size===1)Z=Array.from(z)[0]}}}if(typeof $.value==="string"&&B$($.value)){let U=D$($.value),K=new Set;for(let W of U)if(W.type==="reference"&&W.ref&&typeof W.ref==="string"){let z=W.ref.slice(1,-1),G=X.tokens.get(z);if(G&&["border","shadow","typography","composition"].includes(G.type))K.add(G.type)}if(K.size===1)Z=Array.from(K)[0]}if(typeof Y==="object"&&Y!==null&&["border","shadow","typography","composition"].includes(Z))Y=c(Y,X);if($.extensions?.generator&&typeof $.extensions.generator==="object"&&"type"in $.extensions.generator&&"value"in $.extensions.generator)Y=b$($.value,$.extensions.generator.type,$.extensions.generator.value,X);let q=kY($.name,X.options);if(Z==="color"&&typeof Y==="string"&&p(Y))Y=F(Y,$);if(typeof Y==="string"&&m(Y))Y=O$(Y);return{...$,type:Z,value:Y,cssVar:q}}function c($,X){if(typeof $==="string"){if(Q$($))return J0($,X);else if(B$($))return V2($,X)}if(Array.isArray($))return $.map((Y)=>c(Y,X));if(typeof $==="object"&&$!==null){if("$value"in $&&typeof $.$value==="string")return c($.$value,X);if("value"in $&&typeof $.value==="string"&&"$type"in $){if(X.mode&&$.$extensions?.mode?.[X.mode])return c($.$extensions.mode[X.mode],X);return c($.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((K)=>c(K,X)).join(q);return c($.value,X)}let Y={};for(let[Z,q]of Object.entries($))Y[Z]=c(q,X);return Y}return $}function s($,X){if(typeof $==="string"){if(B$($))return V2($,X);else if(Q$($))return J0($,X)}else if(typeof $==="object"&&$!==null&&"$ref"in $)return C2($,X);return $}function J0($,X){let Y=$.slice(1,-1),Z=X.tokens.get(Y),q=X.options.modes||[];if(!Z){if(q.length>0){for(let W of q)if(Y.endsWith(`@${W}`)){let z=Y.slice(0,-W.length-1)+`#${W}`;if(Z=X.tokens.get(z),Z)return B0(Z,X);break}}let K=Y.match(/#([^#@]+)$/);if(K){let W=Y.substring(0,K.index),z=K[1];if(Z=X.tokens.get(W),Z){if(Z.extensions?.mode?.[z]){let G=Z.extensions.mode[z],E=s(G,{...X,mode:z});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)E=b$(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"&&m(E))E=O$(E);return E}}}if(q.length>0)for(let W of q){let z=new RegExp(`(@[^@]+)@${W}$`);if(z.test(Y)){let G=Y.replace(z,`$1#${W}`);if(Z=X.tokens.get(G),!Z){let E=G.match(/#([^#@]+)$/);if(E){let A=G.substring(0,E.index),L=E[1];if(Z=X.tokens.get(A),Z&&Z.extensions?.mode?.[L]){let _=Z.extensions.mode[L],H=s(_,{...X,mode:L});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)H=b$(H,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof H==="string"&&p(H))H=F(H,Z);if(typeof H==="string"&&m(H))H=O$(H);return H}}}else return B0(Z,X);break}}}if(!Z)return console.warn(`Token reference not found: ${$}`),X.brokenReferences.push($),$;return B0(Z,X)}function B0($,X){let Y;if($.extensions?.generator&&typeof $.extensions.generator==="object"&&"type"in $.extensions.generator&&"value"in $.extensions.generator)Y=b$($.value,$.extensions.generator.type,$.extensions.generator.value,X);else if(X.mode&&$.extensions?.mode?.[X.mode])Y=s($.extensions.mode[X.mode],X);else Y=s($.value,X);if($.type==="color"&&typeof Y==="string"&&p(Y))Y=F(Y,$);if(typeof Y==="string"&&m(Y))Y=O$(Y);return Y}function C2($,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 s(q.value,X)}function V2($,X){let Y=D$($),Z=Y.some((K)=>K.value.includes(",")),q=!0,U=[];for(let K of Y){let W;if(K.type==="reference"&&K.ref){if(typeof K.ref==="string"&&Q$(K.ref)){W=J0(K.ref,X);let z=K.ref.slice(1,-1),G=X.tokens.get(z);if(!G||!["border","shadow","typography","composition"].includes(G.type))q=!1}else if(typeof K.ref==="object"&&"$ref"in K.ref)W=C2(K.ref,X)}else if(W=K.value,K.value.trim()&&K.value.trim()!==",")q=!1;U.push(W)}if(Z&&q)return U.filter((K)=>typeof K==="object"&&K!==null&&typeof K!=="string");return U.map((K)=>String(K)).join("")}function b$($,X,Y,Z){let q=s($,Z);switch(X){case"alpha":if(typeof q==="string")return cY(q,Number(Y)/100);break;case"scale":if(typeof q==="string"&&q.match(/[\d.]+/))return lY(q,Number(Y));break;case"hue":if(typeof q==="string")return rY(q,Number(Y));break;default:return console.warn(`Unknown generator type: ${X}`),q}return q}function kY($,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,K=X.prefix||"";if(X.transformName){if(q=X.transformName(Z),q=q.replace(/-+$/,""),q!==Z)U=!1}let W=U&&K?`${K}-${q}`:q,z=Y?`-${Y}`:"";return`--${W}${z}`.replace(/[^a-zA-Z0-9-_]/g,"-")}function cY($,X){try{if(!p($))return $;let Y=new D2($);return Y.alpha=X,F(Y)}catch(Y){return console.warn(`Failed to apply alpha to color "${$}": ${Y}`),$}}function lY($,X){let Y=$.match(/([\d.]+)(\w+)/);if(Y){let[,Z,q]=Y;return`${parseFloat(Z)*X}${q}`}return $}function rY($,X){try{if(!p($))return $;let Z=new D2($).to("oklch");return Z.h=(Z.h+X)%360,F(Z)}catch(Y){return console.warn(`Failed to shift hue for color "${$}": ${Y}`),$}}var R0=P(()=>{x2();W$()});function M0($){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 a($,X,Y){if(Y){if($===X)return":host";return`:host([data-theme="${$}"])`}if($===X)return":root";return`[data-theme="${$}"]`}function C$($,X={}){let{rootSelector:Y=":root",separateThemeFiles:Z=!1,generateMediaQueries:q=!1,customHeader:U,modes:K=["light","dark"]}=X;if(Z)return sY($,X);let W=new Map,z=new Map;for(let O of K)W.set(O,[]);let G=K.join("|"),E=new RegExp(`#(${G})$`);for(let O of $){if(typeof O.value==="string"&&m(O.value))continue;if(M0(O))continue;let I=` ${O.cssVar}: ${v(O.value,O.type)};`;if(q&&O.name.includes("@media")){let R=T$(O);if(R){if(!z.has(R))z.set(R,[]);z.get(R).push(I);continue}}let J=O.name.match(E);if(J){let R=J[1];if(!W.has(R))W.set(R,[]);W.get(R).push(I)}else{let R=K[0]||"light";W.get(R).push(I)}}let A="";if(U)A+=`${U}
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((z)=>{if(typeof z==="object"&&z!==null)return W(z);return!1})};if(Array.isArray($.value))q=$.value.some((K)=>typeof K==="string"&&K.includes("{")||typeof K==="object"&&K!==null&&Object.values(K).some((z)=>typeof z==="string"&&z.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 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`,B=Y?.get(_),O=Y?.has(Q)||B?.extensions?.mode?.dark!==void 0||B&&(Array.isArray(B.value)||typeof B.value==="object"&&B.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 $.value==="object"&&$.value!==null){G={};let E=(A)=>{if(typeof A==="string"){if(A.startsWith("{")&&A.endsWith("}")){let L=A.slice(1,-1),H=`${L}#dark`,_=(B,O=new Set)=>{if(O.has(B))return!1;O.add(B);let w=Y?.get(B);if(!w){let I=B.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(w.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${B}#dark`))return!0;if(typeof w.value==="string"&&w.value.startsWith("{")&&w.value.endsWith("}")){let I=w.value.slice(1,-1);return _(I,O)}if(Array.isArray(w.value)||typeof w.value==="object"&&w.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(w.value))return w.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 w.value==="object")return Object.values(w.value).some((J)=>typeof J==="string"&&J.includes("{")&&_(J.slice(1,-1),new Set(O)))||I(w.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($.value))G[A]=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,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,B=Y?.get(_);if(B){if(B.extensions?.mode?.dark!==void 0)return!0;if(B.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(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:z,...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 z=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,...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 Z}function cY($,X){let Y=a($.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"&&B$(W.value)){let K=V$(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=X.tokens.get(E);if(A&&["border","shadow","typography","composition"].includes(A.type))z.add(A.type)}if(z.size===1)Z=Array.from(z)[0]}}}if(typeof $.value==="string"&&B$($.value)){let U=V$($.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=X.tokens.get(z);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=l(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=lY($.name,X.options);if(Z==="color"&&typeof Y==="string"&&m(Y))Y=F(Y,$);if(typeof Y==="string"&&p(Y))Y=w$(Y);return{...$,type:Z,value:Y,cssVar:q}}function l($,X){if(typeof $==="string"){if(O$($))return R0($,X);else if(B$($))return h2($,X)}if(Array.isArray($))return $.map((Y)=>l(Y,X));if(typeof $==="object"&&$!==null){if("$value"in $&&typeof $.$value==="string")return l($.$value,X);if("value"in $&&typeof $.value==="string"&&"$type"in $){if(X.mode&&$.$extensions?.mode?.[X.mode])return l($.$extensions.mode[X.mode],X);return l($.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)=>l(W,X)).join(q);return l($.value,X)}let Y={};for(let[Z,q]of Object.entries($))Y[Z]=l(q,X);return Y}return $}function a($,X){if(typeof $==="string"){if(B$($))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 z=Y.slice(0,-K.length-1)+`#${K}`;if(Z=X.tokens.get(z),Z)return B0(Z,X);break}}let W=Y.match(/#([^#@]+)$/);if(W){let K=Y.substring(0,W.index),z=W[1];if(Z=X.tokens.get(K),Z){if(Z.extensions?.mode?.[z]){let G=Z.extensions.mode[z],E=a(G,{...X,mode:z});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"&&m(E))E=F(E,Z);if(typeof E==="string"&&p(E))E=w$(E);return E}}}if(q.length>0)for(let K of q){let z=new RegExp(`(@[^@]+)@${K}$`);if(z.test(Y)){let G=Y.replace(z,`$1#${K}`);if(Z=X.tokens.get(G),!Z){let E=G.match(/#([^#@]+)$/);if(E){let A=G.substring(0,E.index),L=E[1];if(Z=X.tokens.get(A),Z&&Z.extensions?.mode?.[L]){let H=Z.extensions.mode[L],_=a(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"&&m(_))_=F(_,Z);if(typeof _==="string"&&p(_))_=w$(_);return _}}}else return B0(Z,X);break}}}if(!Z)return console.warn(`Token reference not found: ${$}`),X.brokenReferences.push($),$;return B0(Z,X)}function B0($,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=a($.extensions.mode[X.mode],X);else Y=a($.value,X);if($.type==="color"&&typeof Y==="string"&&m(Y))Y=F(Y,$);if(typeof Y==="string"&&p(Y))Y=w$(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 a(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 z=W.ref.slice(1,-1),G=X.tokens.get(z);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=a($,Z);switch(X){case"alpha":if(typeof q==="string")return rY(q,Number(Y)/100);break;case"scale":if(typeof q==="string"&&q.match(/[\d.]+/))return iY(q,Number(Y));break;case"hue":if(typeof q==="string")return sY(q,Number(Y));break;default:return console.warn(`Unknown generator type: ${X}`),q}return q}function lY($,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,z=Y?`-${Y}`:"";return`--${K}${z}`.replace(/[^a-zA-Z0-9-_]/g,"-")}function rY($,X){try{if(!m($))return $;let Y=new T2($);return Y.alpha=X,F(Y)}catch(Y){return console.warn(`Failed to apply alpha to color "${$}": ${Y}`),$}}function iY($,X){let Y=$.match(/([\d.]+)(\w+)/);if(Y){let[,Z,q]=Y;return`${parseFloat(Z)*X}${q}`}return $}function sY($,X){try{if(!m($))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=D(()=>{S2();W$()});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 n($,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 nY($,X);let K=new Map,z=new Map;for(let w of W)K.set(w,[]);let G=W.join("|"),E=new RegExp(`#(${G})$`);for(let w of $){if(typeof w.value==="string"&&p(w.value))continue;if(N0(w))continue;let I=` ${w.cssVar}: ${v(w.value,w.type)};`;if(q&&w.name.includes("@media")){let R=h$(w);if(R){if(!z.has(R))z.set(R,[]);z.get(R).push(I);continue}}let J=w.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 A="";if(U)A+=`${U}
35
35
 
36
- `;let L=X.defaultMode||K[0]||"light",_=X.isHost||!1,H=W.get(L)||[];if(H.length>0){H.sort();let O=a(L,L,_);A+=`${O} {
37
- ${H.join(`
36
+ `;let L=X.defaultMode||W[0]||"light",H=X.isHost||!1,_=K.get(L)||[];if(_.length>0){_.sort();let w=n(L,L,H);A+=`${w} {
37
+ ${_.join(`
38
38
  `)}
39
- `;for(let I of K){if(I===L)continue;let J=W.get(I)||[];if(J.length>0){J.sort();let R=a(I,L,_);if(_)A+=`}
39
+ `;for(let I of W){if(I===L)continue;let J=K.get(I)||[];if(J.length>0){J.sort();let R=n(I,L,H);if(H)A+=`}
40
40
 
41
41
  ${R} {
42
42
  ${J.join(`
43
43
  `)}
44
44
  `;else{let f=R.replace("[data-theme=","&[data-theme=");A+=`
45
45
  ${f} {
46
- ${J.map((p$)=>` ${p$}`).join(`
46
+ ${J.map((d$)=>` ${d$}`).join(`
47
47
  `)}
48
48
  }
49
49
  `}}}A+=`}
50
- `}if(q&&z.size>0){let O=a(L,L,_);for(let[I,J]of z)J.sort(),A+=`
50
+ `}if(q&&z.size>0){let w=n(L,L,H);for(let[I,J]of z)J.sort(),A+=`
51
51
  ${I} {
52
- ${O} {
52
+ ${w} {
53
53
  ${J.map((R)=>` ${R}`).join(`
54
54
  `)}
55
55
  }
56
56
  }
57
- `}let Q=[{fileName:"tokens.css",content:A}],w=h2($,X);Q.push(...w);let B=v2($,X);return Q.push(...B),Q}function iY($,X){let Y=[];for(let q of $){let K=` ${q.cssVar||V$(q,X)}: ${v(q.value,q.type)};`;Y.push(K)}let Z="";if(X.customHeader)Z+=`${X.customHeader}
57
+ `}let Q=[{fileName:"tokens.css",content:A.endsWith(`
58
+ `)?A:`${A}
59
+ `}],B=p2($,X);Q.push(...B);let O=d2($,X);return Q.push(...O),Q}function aY($,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}
58
60
 
59
61
  `;if(Y.length>0)Y.sort(),Z+=`${X.rootSelector||":root"} {
60
62
  ${Y.join(`
61
63
  `)}
62
64
  }
63
- `;return{fileName:"theme.css",content:Z}}function sY($,X){let Y=[],Z=new Map,q=[],U=X.modes||["light","dark"],K=new Set(U),W=U.join("|"),z=new RegExp(`#(${W})$`);for(let H of $){if(T$(H))continue;if(typeof H.value==="string"&&m(H.value))continue;if(M0(H))continue;let Q=H.name.match(z);if(Q){let w=Q[1];if(K.has(w)){if(!Z.has(w))Z.set(w,[]);Z.get(w).push(H)}else q.push(H)}else q.push(H)}if(q.length>0){let H=C$(q,{...X,separateThemeFiles:!1})[0];Y.push({...H,fileName:"tokens.css"})}let G=X.defaultMode||(U.length>0?U[0]:"default"),E=X.isHost||!1;for(let[H,Q]of Z){let w=a(H,G,E),B=iY(Q,{...X,separateThemeFiles:!1,rootSelector:w});Y.push({...B,fileName:`tokens.${H}.css`,theme:H})}let A=aY($,X);Y.push(...A);let L=h2($,X);Y.push(...L);let _=v2($,X);return Y.push(..._),Y}function aY($,X){let Y=new Map;for(let U of $){let K=T$(U);if(K){let W=U.name.match(/@(dark|light)$/),z=W?W[1]:"light";if(!Y.has(K))Y.set(K,new Map);let G=Y.get(K);if(!G.has(z))G.set(z,[]);G.get(z).push(U)}}if(Y.size===0)return[];let Z=`/**
65
+ `;return{fileName:"theme.css",content:Z.endsWith(`
66
+ `)?Z:`${Z}
67
+ `}}function nY($,X){let Y=[],Z=new Map,q=[],U=X.modes||["light","dark"],W=new Set(U),K=U.join("|"),z=new RegExp(`#(${K})$`);for(let _ of $){if(h$(_))continue;if(typeof _.value==="string"&&p(_.value))continue;if(N0(_))continue;let Q=_.name.match(z);if(Q){let B=Q[1];if(W.has(B)){if(!Z.has(B))Z.set(B,[]);Z.get(B).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 B=n(_,G,E),O=aY(Q,{...X,separateThemeFiles:!1,rootSelector:B});Y.push({...O,fileName:`tokens.${_}.css`,theme:_})}let A=tY($,X);Y.push(...A);let L=p2($,X);Y.push(...L);let H=d2($,X);return Y.push(...H),Y}function tY($,X){let Y=new Map;for(let U of $){let W=h$(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 Z=`/**
64
68
  * Design System Tokens - Responsive Breakpoints
65
69
  * Generated: ${new Date().toISOString()}
66
70
  *
@@ -68,7 +72,7 @@ ${Y.join(`
68
72
  * Each media query section overrides tokens for specific screen sizes.
69
73
  */
70
74
 
71
- `,q=Array.from(Y.keys()).sort();for(let U of q){let K=Y.get(U),W=X.defaultMode||(X.modes&&X.modes.length>0?X.modes[0]:"light"),z=X.isHost||!1;for(let[G,E]of K){let A=[];for(let L of E){let H=` ${L.cssVar||V$(L,X)}: ${v(L.value,L.type)};`;A.push(H)}if(A.length>0){A.sort();let L=a(G,W,z);Z+=`${U} {
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"),z=X.isHost||!1;for(let[G,E]of W){let A=[];for(let L of E){let _=` ${L.cssVar||y$(L,X)}: ${v(L.value,L.type)};`;A.push(_)}if(A.length>0){A.sort();let L=n(G,K,z);Z+=`${U} {
72
76
  ${L} {
73
77
  ${A.join(`
74
78
  `)}
@@ -76,7 +80,11 @@ ${A.join(`
76
80
  }
77
81
 
78
82
  `}}}return[{fileName:"tokens.breakpoints.css",content:Z.trim()+`
79
- `}]}function h2($,X){let Y=new Map;for(let q of $)if(typeof q.value==="string"&&m(q.value)){let U=q.name.match(/@(dark|light)$/),K=U?U[1]:"light";if(!Y.has(K))Y.set(K,[]);Y.get(K).push(q)}let Z=[];if(Y.size===0)return[];if(Y.size===1){let[q,U]=Array.from(Y.entries())[0],K=T2(U,q,X);Z.push({fileName:"tokens.icons.css",content:K})}else for(let[q,U]of Y){let K=T2(U,q,X);Z.push({fileName:`tokens.icons.${q}.css`,content:K})}return Z}function T2($,X,Y){let Z=`/**
83
+ `}]}function p2($,X){let Y=new Map;for(let q of $)if(typeof q.value==="string"&&p(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(`
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(`
86
+ `)?W:`${W}
87
+ `})}return Z}function v2($,X,Y){let Z=`/**
80
88
  * Design System Tokens - Icons (${X})
81
89
  * Generated: ${new Date().toISOString()}
82
90
  *
@@ -84,12 +92,14 @@ ${A.join(`
84
92
  * Icons are provided as data URIs for direct embedding.
85
93
  */
86
94
 
87
- `,q=[];for(let U of $){let W=` ${U.cssVar||V$(U,Y)}: ${v(U.value,U.type)};`;q.push(W)}if(q.length>0){q.sort();let U=Y.defaultMode||"light",K=Y.isHost||!1,W=a(X,U,K);Z+=`${W} {
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=n(X,U,W);Z+=`${K} {
88
96
  ${q.join(`
89
97
  `)}
90
98
  }
91
99
  `}return Z+`
92
- `}function V$($,X){let Z=$.name.split("@")[0].replace(/\.$/,"").replace(/\.+/g,"."),q=N0(Z,X.hooks);return`--${X.prefix||w$}-${q.replace(/\./g,"-")}`}function N0($,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 v2($,X){let Y=new Map,Z=X.modes||[];for(let U of $)if(M0(U)){if(T$(U))continue;let W=Z.length>0?Z[0]:"default";if(U.name.includes("#")){let z=U.name.split("#"),G=z[z.length-1];if(Z.includes(G))W=G}if(!Y.has(W))Y.set(W,[]);Y.get(W).push(U)}let q=[];for(let[U,K]of Y.entries()){let W=nY(K,U,X,Z);q.push({fileName:`tokens.typography.${U}.css`,content:W})}return q}function nY($,X,Y,Z){let q=`/**
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 z=U.name.split("#"),G=z[z.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=oY(W,U,X,Z);q.push({fileName:`tokens.typography.${U}.css`,content:K.endsWith(`
101
+ `)?K:`${K}
102
+ `})}return q}function oY($,X,Y,Z){let q=`/**
93
103
  * Design System Tokens - Typography (${X})
94
104
  * Generated: ${new Date().toISOString()}
95
105
  *
@@ -97,27 +107,27 @@ ${q.join(`
97
107
  * Includes fontSize, fontWeight, fontFamily, lineHeight, and typography compositions.
98
108
  */
99
109
 
100
- `,U=new Map;for(let K of $){let W="default";if(K.name.includes("@")){let z=K.name.split("@");for(let G of z)if(G.includes("screen_")||G.includes("min_width")||G.includes("max_width")){W=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(W))U.set(W,[]);U.get(W).push(K)}for(let[K,W]of U.entries()){let z=[];for(let G of W){let A=` ${G.cssVar||V$(G,Y)}: ${v(G.value,G.type)};`;z.push(A)}if(z.length>0){let G=Y.defaultMode||"light",E=Y.isHost||!1,A=a(X,G,E);if(K==="default")z.sort(),q+=`${A} {
110
+ `,U=new Map;for(let W of $){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||y$(G,Y)}: ${v(G.value,G.type)};`;z.push(A)}if(z.length>0){let G=Y.defaultMode||"light",E=Y.isHost||!1,A=n(X,G,E);if(W==="default")z.sort(),q+=`${A} {
101
111
  ${z.join(`
102
112
  `)}
103
113
  }
104
114
 
105
- `;else{let L=K.startsWith("(")?K:`(${K})`;q+=`@media ${L} {
115
+ `;else{let L=W.startsWith("(")?W:`(${W})`;q+=`@media ${L} {
106
116
  `,q+=` ${A} {
107
- ${z.sort().map((_)=>` ${_}`).join(`
117
+ ${z.sort().map((H)=>` ${H}`).join(`
108
118
  `)}
109
119
  }
110
120
  `,q+=`}
111
121
 
112
122
  `}}}return q+`
113
- `}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 tY(Y);case"dimension":return oY(Y);case"duration":return eY(Y);case"fontFamily":return $1(Y);case"fontWeight":return Y1(Y);case"cubicBezier":return X1($);case"shadow":return Z1($);case"border":return q1($);case"typography":return U1($);case"composition":return x0($);default:if(Y.startsWith("data:"))return`"${Y}"`;return Y}}function tY($){if($.startsWith("oklch(")||$.startsWith("rgb(")||$.startsWith("rgba(")||$.startsWith("hsl(")||$.startsWith("hsla(")||$.startsWith("#"))return $;return $}function oY($){if(/^\d+(\.\d+)?(px|rem|em|%|vh|vw|vmin|vmax)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}rem`;return $}function eY($){if(/^\d+(\.\d+)?(s|ms)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}ms`;return $}function $1($){if(($.includes(",")||$.includes(" "))&&!$.startsWith('"')&&!$.startsWith("'"))return`"${$}"`;return $}function Y1($){return{thin:"100","extra-light":"200",light:"300",normal:"400",medium:"500","semi-bold":"600",bold:"700","extra-bold":"800",black:"900"}[$]||$}function X1($){if(Array.isArray($)&&$.length===4)return`cubic-bezier(${$.join(", ")})`;return String($)}function Z1($){if(Array.isArray($))return $.map((X)=>g2(X)).join(", ");return g2($)}function g2($){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(${`--${w$}-${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 q1($){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 U1($){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 K;if(Z.includes("/"))K=Z;else K=`${Z}/${q}`;return`${Y} ${K} ${U}`}return String($)}function x0($){if(typeof $!=="object"||$===null)return String($);if(Array.isArray($))return $.map((Y)=>x0(Y)).join(", ");let X=$;if(X.offsetX!==void 0&&X.offsetY!==void 0)return f2(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 W1(X);if(X.fontSize!==void 0||X.fontFamily!==void 0)return K1(X);return G1(X)}function f2($){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 W1($){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 K1($){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 y2($,X,Y){let Z=$.match(/^\{(.+)\}$/);if(!Z)return $;let U=Z[1].replace(/\./g,"-");if(Y)U=N0(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 y2($,X||"ds",Y);return $}if(typeof $==="object"&&$.value!==void 0){let Z=String($.value);if(Z.match(/^\{.+\}$/))return y2(Z,X||"ds",Y);return Z}return String($)}function G1($){let X=[];for(let[,q]of Object.entries($)){let U=q;if(typeof q==="object"&&q!==null&&U.$value&&typeof U.$value==="object"){let K=U.$value;if(K.offsetX!==void 0&&K.offsetY!==void 0){let W=f2(K);if(W)X.push(W)}else{let W=x0(K);if(W)X.push(W)}}else{let K=x(q);if(K)X.push(K)}}let Z=X.some((q)=>/^\d/.test(q)&&q.includes(" "))?", ":" ";return X.join(Z)||String($)}function T$($){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 g$($){let X=$?.$name||"Design System",Y=$?.$version||"1.0.0",Z=new Date().toISOString();return`/**
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 eY(Y);case"dimension":return $1(Y);case"duration":return Y1(Y);case"fontFamily":return X1(Y);case"fontWeight":return Z1(Y);case"cubicBezier":return q1($);case"shadow":return U1($);case"border":return K1($);case"typography":return W1($);case"composition":return F0($);default:if(Y.startsWith("data:"))return`"${Y}"`;return Y}}function eY($){if($.startsWith("oklch(")||$.startsWith("rgb(")||$.startsWith("rgba(")||$.startsWith("hsl(")||$.startsWith("hsla(")||$.startsWith("#"))return $;return $}function $1($){if(/^\d+(\.\d+)?(px|rem|em|%|vh|vw|vmin|vmax)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}rem`;return $}function Y1($){if(/^\d+(\.\d+)?(s|ms)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}ms`;return $}function X1($){if(($.includes(",")||$.includes(" "))&&!$.startsWith('"')&&!$.startsWith("'"))return`"${$}"`;return $}function Z1($){return{thin:"100","extra-light":"200",light:"300",normal:"400",medium:"500","semi-bold":"600",bold:"700","extra-bold":"800",black:"900"}[$]||$}function q1($){if(Array.isArray($)&&$.length===4)return`cubic-bezier(${$.join(", ")})`;return String($)}function U1($){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 K1($){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 W1($){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 G1(X);if(X.fontSize!==void 0||X.fontFamily!==void 0)return z1(X);return A1(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 G1($){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 z1($){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 m2($,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 m2($,X||"ds",Y);return $}if(typeof $==="object"&&$.value!==void 0){let Z=String($.value);if(Z.match(/^\{.+\}$/))return m2(Z,X||"ds",Y);return Z}return String($)}function A1($){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`/**
114
124
  * ${X} - CSS Custom Properties
115
125
  * Version: ${Y}
116
126
  * Generated: ${Z}
117
127
  *
118
128
  * This file contains CSS custom properties (CSS variables) generated from design tokens.
119
129
  * Do not edit this file directly - it will be overwritten.
120
- */`}function z1($){let X=$.replace(/\r?\n|\r/g,"").replace(/\s+/g," ").trim();return`data:image/svg+xml;base64,${Buffer.from(X,"utf8").toString("base64")}`}function F0($,X={}){let{customHeader:Y,objectPath:Z="universe.custom.path.icons"}=X,q="--"+Z.replace(/\./g,"-"),U="";if(Y)U+=Y+`
130
+ */`}function E1($){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+`
121
131
 
122
132
  `;else U+=`/**
123
133
  * Icon CSS - Base64 Encoded SVG Icons as CSS Custom Properties
@@ -134,18 +144,18 @@ ${z.sort().map((_)=>` ${_}`).join(`
134
144
  */
135
145
 
136
146
  `;U+=`:root {
137
- `;let K=[...$].sort((W,z)=>W.name.localeCompare(z.name));for(let W of K){let z=W.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),G=`${q}-${W.category}-${z}`;if(X.hooks?.shortenName?.enabled)G=N0(G,X.hooks);let E=z1(W.value);U+=` ${G}: url("${E}");
147
+ `;let W=[...$].sort((K,z)=>K.name.localeCompare(z.name));for(let K of W){let z=K.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),G=`${q}-${K.category}-${z}`;if(X.hooks?.shortenName?.enabled)G=x0(G,X.hooks);let E=E1(K.value);U+=` ${G}: url("${E}");
138
148
  `}return U+=`}
139
149
  `,{fileName:"tokens.icons.css",content:U.trim()+`
140
- `}}var y$=P(()=>{g()});import{readFileSync as A1,existsSync as E1}from"fs";import{join as p2,relative as L1}from"path";async function j0(){try{let{assets:$}=await i(!0),{icons:X}=await C(),Y=await A$(),Z=$?.icons?.distDir??"build",q=p2(Y,Z),U=p2(q,"tokens",await X$("json"));if(!E1(U)){let A=L1(process.cwd(),U);return console.log(`ℹ️ Icon data not found (skipping icon types): ${A}`),console.log(" Run icon build first if you need icon types generated."),[]}let K=JSON.parse(A1(U,"utf8")),W=X?.objectPath??"universe.icons",z=W.split("."),G=K;for(let A of z)if(G&&typeof G==="object"&&A in G)G=G[A];else throw Error(`Icon path ${W} not found in icons file`);let E=[];for(let[A,L]of Object.entries(G))if(typeof L==="object"&&L!==null){for(let[_,H]of Object.entries(L))if(typeof H==="object"&&H!==null){let Q=H;E.push({name:_,category:A,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 P0($,X={}){let{generateTypes:Y=!0,generateConsts:Z=!0}=X,q=X.icons;if(!q)q=await j0();let U={...X,icons:q},K=[];if(Y)K.push({fileName:"tokens.types.ts",content:H1($,U),type:"types"});if(Z)K.push({fileName:"tokens.constants.ts",content:_1($,U),type:"constants"});return K.push({fileName:"index.ts",content:Q1(K),type:"index"}),K}function H1($,X){let{tokenInterface:Y="DesignTokens",includeJSDoc:Z=!0,icons:q=[]}=X,U=S0("Type Definitions");if(U+=B1($,Z),U+=O1($,Z),q.length>0)U+=w1(q,Z);return U+=I1($,Y,Z),U+=R1($,Z),U+`
141
- `}function _1($,X){let{includeJSDoc:Y=!0,icons:Z=[]}=X,q=S0("Token Constants"),U="TokenPaths, CSSVariableNames";if(Z.length>0)U+=", IconNames, IconCategories, Icon";if(q+=`import type { ${U} } from './tokens.types';
150
+ `}}var f$=D(()=>{g()});import{readFileSync as L1,existsSync as H1}from"fs";import{join as k2,relative as _1}from"path";async function D0(){try{let{assets:$}=await s(!0),{icons:X}=await C(),Y=await E$(),Z=$?.icons?.distDir??"build",q=k2(Y,Z),U=k2(q,"tokens",await Z$("json"));if(!H1(U)){let A=_1(process.cwd(),U);return console.log(`ℹ️ Icon data not found (skipping icon types): ${A}`),console.log(" Run icon build first if you need icon types generated."),[]}let W=JSON.parse(L1(U,"utf8")),K=X?.objectPath??"universe.icons",z=K.split("."),G=W;for(let A of z)if(G&&typeof G==="object"&&A in G)G=G[A];else throw Error(`Icon path ${K} not found in icons file`);let E=[];for(let[A,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:A,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 S0($,X={}){let{generateTypes:Y=!0,generateConsts:Z=!0}=X,q=X.icons;if(!q)q=await D0();let U={...X,icons:q},W=[];if(Y)W.push({fileName:"tokens.types.ts",content:Q1($,U),type:"types"});if(Z)W.push({fileName:"tokens.constants.ts",content:O1($,U),type:"constants"});return W.push({fileName:"index.ts",content:B1(W),type:"index"}),W}function Q1($,X){let{tokenInterface:Y="DesignTokens",includeJSDoc:Z=!0,icons:q=[]}=X,U=b0("Type Definitions");if(U+=w1($,Z),U+=I1($,Z),q.length>0)U+=J1(q,Z);return U+=R1($,Y,Z),U+=N1($,Z),U+`
151
+ `}function O1($,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';
142
152
 
143
- `,q+=M1($,Y),q+=x1($,Y),Z.length>0)q+=N1(Z,Y);return q+=F1($,Y),q+`
144
- `}function Q1($){let X=S0("Main Export");if($.some((Y)=>Y.type==="types"))X+=`export type * from './tokens.types';
153
+ `,q+=x1($,Y),q+=j1($,Y),Z.length>0)q+=F1(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';
145
155
  `;if($.some((Y)=>Y.type==="constants"))X+=`export * from './tokens.constants';
146
156
  `;return X+=`
147
157
  `,X+`
148
- `}function B1($,X){let Y=$.map((q)=>`"${q.name}"`).join(`
158
+ `}function w1($,X){let Y=$.map((q)=>`"${q.name}"`).join(`
149
159
  | `),Z="";if(X)Z+=`/**
150
160
  * All available token paths as string literals
151
161
  */
@@ -153,22 +163,22 @@ ${z.sort().map((_)=>` ${_}`).join(`
153
163
  | ${Y};
154
164
 
155
165
  `,Z+`
156
- `}function O1($,X){let Y=j1($),Z="";for(let[q,U]of Y){let K=`${S1(q)}TokenValue`,W=new Set(U.map((G)=>I$(G.value))),z=Array.from(W).join(`
166
+ `}function I1($,X){let Y=S1($),Z="";for(let[q,U]of Y){let W=`${P1(q)}TokenValue`,K=new Set(U.map((G)=>J$(G.value))),z=Array.from(K).join(`
157
167
  | `);if(X)Z+=`/**
158
168
  * Possible values for ${q} tokens
159
169
  */
160
- `;Z+=`export type ${K} =
170
+ `;Z+=`export type ${W} =
161
171
  | ${z};
162
172
 
163
173
  `}return Z+`
164
- `}function w1($,X){let Y="",Z=$.map((K)=>`"${K.name}"`).join(`
174
+ `}function J1($,X){let Y="",Z=$.map((W)=>`"${W.name}"`).join(`
165
175
  | `);if(X)Y+=`/**
166
176
  * All available icon names as string literals
167
177
  */
168
178
  `;Y+=`export type IconNames =
169
179
  | ${Z};
170
180
 
171
- `;let U=[...new Set($.map((K)=>K.category))].map((K)=>`"${K}"`).join(`
181
+ `;let U=[...new Set($.map((W)=>W.category))].map((W)=>`"${W}"`).join(`
172
182
  | `);if(X)Y+=`/**
173
183
  * All available icon categories
174
184
  */
@@ -197,23 +207,23 @@ ${z.sort().map((_)=>` ${_}`).join(`
197
207
  `,Y+=`}
198
208
 
199
209
  `,Y+`
200
- `}function I1($,X,Y){let Z="";if(Y)Z+=`/**
210
+ `}function R1($,X,Y){let Z="";if(Y)Z+=`/**
201
211
  * Design tokens interface with all token paths and their values
202
212
  */
203
213
  `;Z+=`export interface ${X} {
204
214
  `;for(let q of $){if(Y&&q.description)Z+=` /** ${q.description} */
205
- `;Z+=` "${q.name}": ${I$(q.value)};
215
+ `;Z+=` "${q.name}": ${J$(q.value)};
206
216
  `}return Z+=`}
207
217
 
208
- `,Z+=J1($,`${X}Nested`,Y),Z+`
209
- `}function J1($,X,Y){let Z=P1($),q="";if(Y)q+=`/**
218
+ `,Z+=M1($,`${X}Nested`,Y),Z+`
219
+ `}function M1($,X,Y){let Z=b1($),q="";if(Y)q+=`/**
210
220
  * Design tokens interface with nested structure
211
221
  */
212
222
  `;return q+=`export interface ${X} {
213
- `,q+=m2(Z,1),q+=`}
223
+ `,q+=c2(Z,1),q+=`}
214
224
 
215
225
  `,q+`
216
- `}function R1($,X){let Z=Array.from(new Set($.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
226
+ `}function N1($,X){let Z=Array.from(new Set($.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
217
227
  | `),q="";if(X)q+=`/**
218
228
  * All available CSS variable names
219
229
  */
@@ -221,7 +231,7 @@ ${z.sort().map((_)=>` ${_}`).join(`
221
231
  | ${Z};
222
232
 
223
233
  `,q+`
224
- `}function M1($,X){let Y="";if(X)Y+=`/**
234
+ `}function x1($,X){let Y="";if(X)Y+=`/**
225
235
  * Object containing all token values
226
236
  */
227
237
  `;Y+=`export const tokenValues = {
@@ -229,7 +239,7 @@ ${z.sort().map((_)=>` ${_}`).join(`
229
239
  `;Y+=` "${Z.name}": ${JSON.stringify(Z.value)},
230
240
  `}return Y+=`} as const;
231
241
 
232
- `,Y}function N1($,X){let Y="";if(X)Y+=`/**
242
+ `,Y}function F1($,X){let Y="";if(X)Y+=`/**
233
243
  * Array of all available icons
234
244
  */
235
245
  `;Y+=`export const icons: Icon[] = [
@@ -272,7 +282,7 @@ ${z.sort().map((_)=>` ${_}`).join(`
272
282
  `,Y+=`}
273
283
 
274
284
  `,Y+`
275
- `}function x1($,X){let Y="";if(X)Y+=`/**
285
+ `}function j1($,X){let Y="";if(X)Y+=`/**
276
286
  * Object mapping token paths to CSS variable names
277
287
  */
278
288
  `;Y+=`export const cssVariableNames = {
@@ -280,7 +290,7 @@ ${z.sort().map((_)=>` ${_}`).join(`
280
290
  `;return Y+=`} as const;
281
291
 
282
292
  `,Y+`
283
- `}function F1($,X){let Y="";if(X)Y+=`/**
293
+ `}function D1($,X){let Y="";if(X)Y+=`/**
284
294
  * Get the value of a design token
285
295
  */
286
296
  `;if(Y+=`export function getTokenValue<T extends TokenPaths>(tokenPath: T): typeof tokenValues[T] {
@@ -309,10 +319,10 @@ ${z.sort().map((_)=>` ${_}`).join(`
309
319
  }
310
320
 
311
321
  `,Y+`
312
- `}function j1($){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((z)=>z.includes("@")||z.includes("#")||z.includes("-")||z.includes(".")))continue;let q=X,U=[...Y.path];for(let z=0;z<U.length-1;z++){let G=U[z];if(!q[G])q[G]={};q=q[G]}let K=U[U.length-1],W=I$(Y.value);q[K]=W}return X}function m2($,X){let Y="",Z=" ".repeat(X);for(let[q,U]of Object.entries($)){let K=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(q)?q:`"${q}"`;if(typeof U==="object"&&!Array.isArray(U))Y+=`${Z}${K}: {
313
- `,Y+=m2(U,X+1),Y+=`${Z}};
314
- `;else Y+=`${Z}${K}: ${U};
315
- `}return Y}function I$($){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)=>I$(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}: ${I$(q)}`).join("; ")} }`;else return"unknown"}function S1($){if(!$||typeof $!=="string")return"";return $.charAt(0).toUpperCase()+$.slice(1)}function S0($){let X=new Date().toISOString();return`/**
322
+ `}function S1($){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 b1($){let X={};for(let Y of $){if(Y.path.some((z)=>z.includes("@")||z.includes("#")||z.includes("-")||z.includes(".")))continue;let q=X,U=[...Y.path];for(let z=0;z<U.length-1;z++){let G=U[z];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 P1($){if(!$||typeof $!=="string")return"";return $.charAt(0).toUpperCase()+$.slice(1)}function b0($){let X=new Date().toISOString();return`/**
316
326
  * ${$}
317
327
  * Generated: ${X}
318
328
  *
@@ -320,7 +330,7 @@ ${z.sort().map((_)=>` ${_}`).join(`
320
330
  * Do not edit this file directly - it will be overwritten.
321
331
  */
322
332
 
323
- `}var D0=P(()=>{g()});function D1($,X,Y){let Z=D($,{isIncludedOriginalValue:!0}),q=T($,Y);if(!q||!u($,"mode",{isIncludedOriginalValue:!1}))q=Z;return N$($,q,X,Y)}function j$($,X,Y){let Z=D1($,X,Y),q=typeof Z==="string"?e(Z):null;if(q&&(q?.length??0)>=1)return o(Z,q,X,Y);else return b1($,X,Y)}function b1($,X,Y){return N$($,r$($,X,Y),X,Y)}function N$($,X,Y,Z){if(!$)return null;if($.$type==="color")X=M$(X,$,Y,Z);else if($.$type==="composition"||$.$type==="typography")X=t($,Y,Z);return X}var w$="did";var g=P(()=>{W$();c$();a$();W$();_$();_2();Q2();B2();c$();a$();Q0();R0();y$();D0();C0()});import{readFileSync as C1,mkdirSync as V1}from"fs";import{writeFile as u2,readdir as T1,mkdir as g1}from"fs/promises";import{resolve as y1,relative as k2,join as h$,dirname as h1}from"path";import v1 from"lodash";async function c2($){let X=await T1($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=y1($,Z.name);return Z.isDirectory()?c2(q):q}));return Array.prototype.concat(...Y)}async function T0(){let{assets:$,icons:X,tokenNamespace:Y,__dirname:Z,buildDir:q}=await k(),U=h$(Z,$?.icons?.sourceDir??"icons"),K="build",W=$?.icons?.distDir??"build",z=h$(Z,W),G=h$(Z,q,"icons");if(!$?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}r(h$(Z,q));let E=(await c2(U)).filter((O)=>O.endsWith(".svg")),_=(await Promise.all(E.map(async(O)=>{let I=C1(O,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";I=await H0(I);let J=k2(U,O).split("/").pop(),R=(I.match(/name="(.*?)"/)??[])[1]??J?.replace(".svg",""),f=(I.match(/data-style="(.*?)"/)??[])[1],p$=(I.match(/description="(.*?)"/)??[])[1],[f0]=I.match(/<svg[^>]*>/)??[],[,WY]=f0?.match(/width="([\d.]+)(px)?"/)??[],[,KY]=f0?.match(/height="([\d.]+)(px)?"/)??[];if(f!=="animated"&&f!=="custom")return{path:O,folder:k2(U,O).split("/").slice(0,-1).concat(R),file:J,style:f,content:I,name:R,dimensions:{width:Number(WY),height:Number(KY)},description:p$??""};return}))).filter((O)=>O!==void 0).reduce((O,I)=>{if(I?.style!=="animated"&&I?.style!=="custom"&&I)V0(O,I.folder.join("."),{$type:"icon",$name:I.name,$description:I.description,$style:I.style,$value:I.content,$dimensions:I.dimensions,...f1(O,I.folder.join("."))});return O},{}),H=X?.objectPath??`${Y}.icons`;Object.keys(_).forEach(async(O)=>{let I=`${G}/${O}`,J=`${I}/svg.${O}.tokens.json`;await g1(I,{recursive:!0});let R=V0({},`${H}${H?".":""}${O}`,_[O]);await u2(J,JSON.stringify(R,null,2),{flag:"w",encoding:"utf-8"})});let Q=`${z}/tokens/${await X$("json")}`,w=h1(Q);V1(w,{recursive:!0});let B=V0({},H,_);await u2(Q,JSON.stringify(B,null,2),{flag:"w",encoding:"utf-8"})}var V0,f1,DX;var l2=P(()=>{g();({set:V0,get:f1}=v1);DX=T0().catch(($)=>{console.error($),process.exit(1)})});function s2($,X={}){let Y=[],Z=X.typescript?"ts":"js",q=X.modes||[],U=$.filter((W)=>W.extensions?.mediaQuery||W.name.includes("@screen")||W.name.includes("@_")),K=$.filter((W)=>!W.extensions?.mediaQuery&&!W.name.includes("@screen")&&!W.name.includes("@_"));if(X.separateThemeFiles&&q.length>0){let W=q.join("|"),z=new RegExp(`#(${W})$`),G=new Map;for(let E of q)G.set(E,[]);for(let E of K){let A=E.name.match(z);if(A){let L=A[1];G.get(L).push(E)}else{let L=q[0];G.get(L).push(E)}}for(let E of q){let A=G.get(E)||[];if(A.length>0){if(X.typescript){let L=a2(A,E);Y.push({fileName:`${E}.d.ts`,content:c1(L,X,E),theme:E})}Y.push({fileName:`${E}.${Z}`,content:i2(A,{...X,theme:E}),theme:E})}}}else Y.push({fileName:`tokens.${Z}`,content:i2(K,X)});if(U.length>0)Y.push({fileName:`breakpoints.${Z}`,content:p1(U,$,X)});if(X.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${Z}`,content:r1(Y,X)});return Y}function p1($,X,Y={}){let{typescript:Z,includeJSDoc:q,moduleType:U="es",customHeader:K,modes:W=[]}=Y,z=new Map(X.map((L)=>[L.name,L])),G={};for(let L of $){let _=L.extensions?.mediaQuery||m1(L.name),H=W.length>0?W[0]:"default";for(let B of W)if(L.name.includes(`#${B}`)){H=B;break}if(typeof _==="string"&&_.includes("{")&&_.includes("}"))_=u1(_,z);if(!G[_])G[_]={};if(!G[_][H])G[_][H]={};let Q=d1(L.name),w=k1(Q,v$(L.value,z));G[_][H]={...G[_][H],...w}}let E=Object.keys(G).sort((L,_)=>{let H=r2(L),Q=r2(_);return H-Q}).reduce((L,_)=>{return L[_]=G[_],L},{}),A="";if(K)A+=`${K}
333
+ `}var P0=D(()=>{g()});function C1($,X,Y){let Z=b($,{isIncludedOriginalValue:!0}),q=T($,Y);if(!q||!k($,"mode",{isIncludedOriginalValue:!1}))q=Z;return j$($,q,X,Y)}function b$($,X,Y){let Z=C1($,X,Y),q=typeof Z==="string"?$$(Z):null;if(q&&(q?.length??0)>=1)return e(Z,q,X,Y);else return V1($,X,Y)}function V1($,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=o($,Y,Z);return X}var I$="did";var g=D(()=>{W$();F$();n$();W$();Q$();w2();I2();J2();F$();n$();O0();M0();f$();P0();V0()});import{readFileSync as T1,mkdirSync as g1}from"fs";import{writeFile as r2,readdir as y1,mkdir as h1}from"fs/promises";import{resolve as v1,relative as i2,join as m$,dirname as f1}from"path";import m1 from"lodash";async function s2($){let X=await y1($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=v1($,Z.name);return Z.isDirectory()?s2(q):q}));return Array.prototype.concat(...Y)}async function g0(){let{assets:$,icons:X,tokenNamespace:Y,__dirname:Z,buildDir:q}=await c(),U=m$(Z,$?.icons?.sourceDir??"icons"),W="build",K=$?.icons?.distDir??"build",z=m$(Z,K),G=m$(Z,q,"icons");if(!$?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}i(m$(Z,q));let E=(await s2(U)).filter((w)=>w.endsWith(".svg")),H=(await Promise.all(E.map(async(w)=>{let I=T1(w,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";I=await _0(I);let J=i2(U,w).split("/").pop(),R=(I.match(/name="(.*?)"/)??[])[1]??J?.replace(".svg",""),f=(I.match(/data-style="(.*?)"/)??[])[1],d$=(I.match(/description="(.*?)"/)??[])[1],[m0]=I.match(/<svg[^>]*>/)??[],[,WY]=m0?.match(/width="([\d.]+)(px)?"/)??[],[,GY]=m0?.match(/height="([\d.]+)(px)?"/)??[];if(f!=="animated"&&f!=="custom")return{path:w,folder:i2(U,w).split("/").slice(0,-1).concat(R),file:J,style:f,content:I,name:R,dimensions:{width:Number(WY),height:Number(GY)},description:d$??""};return}))).filter((w)=>w!==void 0).reduce((w,I)=>{if(I?.style!=="animated"&&I?.style!=="custom"&&I)T0(w,I.folder.join("."),{$type:"icon",$name:I.name,$description:I.description,$style:I.style,$value:I.content,$dimensions:I.dimensions,...p1(w,I.folder.join("."))});return w},{}),_=X?.objectPath??`${Y}.icons`;Object.keys(H).forEach(async(w)=>{let I=`${G}/${w}`,J=`${I}/svg.${w}.tokens.json`;await h1(I,{recursive:!0});let R=T0({},`${_}${_?".":""}${w}`,H[w]);await r2(J,JSON.stringify(R,null,2),{flag:"w",encoding:"utf-8"})});let Q=`${z}/tokens/${await Z$("json")}`,B=f1(Q);g1(B,{recursive:!0});let O=T0({},_,H);await r2(Q,JSON.stringify(O,null,2),{flag:"w",encoding:"utf-8"})}var T0,p1,gX;var a2=D(()=>{g();({set:T0,get:p1}=m1);gX=g0().catch(($)=>{console.error($),process.exit(1)})});function o2($,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("|"),z=new RegExp(`#(${K})$`),G=new Map;for(let E of q)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=q[0];G.get(L).push(E)}}for(let E of q){let A=G.get(E)||[];if(A.length>0){if(X.typescript){let L=e2(A,E);Y.push({fileName:`${E}.d.ts`,content:r1(L,X,E),theme:E})}Y.push({fileName:`${E}.${Z}`,content:t2(A,{...X,theme:E}),theme:E})}}}else Y.push({fileName:`tokens.${Z}`,content:t2(W,X)});if(U.length>0)Y.push({fileName:`breakpoints.${Z}`,content:d1(U,$,X)});if(X.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${Z}`,content:s1(Y,X)});return Y}function d1($,X,Y={}){let{typescript:Z,includeJSDoc:q,moduleType:U="es",customHeader:W,modes:K=[]}=Y,z=new Map(X.map((L)=>[L.name,L])),G={};for(let L of $){let H=L.extensions?.mediaQuery||u1(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=c1(H,z);if(!G[H])G[H]={};if(!G[H][_])G[H][_]={};let Q=k1(L.name),B=l1(Q,p$(L.value,z));G[H][_]={...G[H][_],...B}}let E=Object.keys(G).sort((L,H)=>{let _=n2(L),Q=n2(H);return _-Q}).reduce((L,H)=>{return L[H]=G[H],L},{}),A="";if(W)A+=`${W}
324
334
 
325
335
  `;else A+=`/**
326
336
  `,A+=` * Design Tokens - Breakpoints
@@ -328,48 +338,48 @@ ${z.sort().map((_)=>` ${_}`).join(`
328
338
  `,A+=` * Do not edit this file directly
329
339
  `,A+=` */
330
340
 
331
- `;if(Z)A+=n2(E,q),A+=`
332
- `;if(U==="es"){if(Z)A+=`const breakpoints: Tokens = ${n(E,q,0)};
341
+ `;if(Z)A+=$Y(E,q),A+=`
342
+ `;if(U==="es"){if(Z)A+=`const breakpoints: Tokens = ${t(E,q,0)};
333
343
 
334
- `;else A+=`const breakpoints = ${n(E,q,0)};
344
+ `;else A+=`const breakpoints = ${t(E,q,0)};
335
345
 
336
346
  `;A+=`export default breakpoints;
337
- `}else A+=`const breakpoints = ${n(E,q,0)};
347
+ `}else A+=`const breakpoints = ${t(E,q,0)};
338
348
 
339
349
  `,A+=`module.exports = breakpoints;
340
350
  `,A+=`module.exports.default = breakpoints;
341
- `;return A}function m1($){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 d1($){let X=$.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return X=X.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),X}function r2($){let X=$.match(/(\d+(?:\.\d+)?)/);return X?parseFloat(X[1]):0}function u1($,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 k1($,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 i2($,X={}){let{typescript:Y,includeJSDoc:Z,moduleType:q="es",customHeader:U,theme:K}=X,W="";if(U)W+=`${U}
351
+ `;return A}function u1($){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 k1($){let X=$.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return X=X.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),X}function n2($){let X=$.match(/(\d+(?:\.\d+)?)/);return X?parseFloat(X[1]):0}function c1($,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 l1($,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 t2($,X={}){let{typescript:Y,includeJSDoc:Z,moduleType:q="es",customHeader:U,theme:W}=X,K="";if(U)K+=`${U}
342
352
 
343
- `;else W+=`/**
344
- `,W+=` * Design Tokens - ${K?`${K.charAt(0).toUpperCase()+K.slice(1)} Theme`:"All Tokens"}
345
- `,W+=` * Auto-generated from design token definitions
346
- `,W+=` * Do not edit this file directly
347
- `,W+=` */
353
+ `;else K+=`/**
354
+ `,K+=` * Design Tokens - ${W?`${W.charAt(0).toUpperCase()+W.slice(1)} Theme`:"All Tokens"}
355
+ `,K+=` * Auto-generated from design token definitions
356
+ `,K+=` * Do not edit this file directly
357
+ `,K+=` */
348
358
 
349
- `;let z=a2($,K);if(Y)if(X.separateThemeFiles&&K)W+=`import type { Tokens } from "./${K}.d";
359
+ `;let z=e2($,W);if(Y)if(X.separateThemeFiles&&W)K+=`import type { Tokens } from "./${W}.d";
350
360
 
351
- `;else W+=n2(z,Z),W+=`
352
- `;if(q==="es"){if(Y)W+=`const tokens: Tokens = ${n(z,Z,0)};
361
+ `;else K+=$Y(z,Z),K+=`
362
+ `;if(q==="es"){if(Y)K+=`const tokens: Tokens = ${t(z,Z,0)};
353
363
 
354
- `;else W+=`const tokens = ${n(z,Z,0)};
364
+ `;else K+=`const tokens = ${t(z,Z,0)};
355
365
 
356
- `;W+=`export default tokens;
357
- `;let G=Object.keys(z);if(G.length>0){W+=`
366
+ `;K+=`export default tokens;
367
+ `;let G=Object.keys(z);if(G.length>0){K+=`
358
368
  // Named exports for convenience
359
- `;for(let E of G)W+=`export const ${E} = tokens.${E};
360
- `}}else W+=`const tokens = ${n(z,Z,0)};
369
+ `;for(let E of G)K+=`export const ${E} = tokens.${E};
370
+ `}}else K+=`const tokens = ${t(z,Z,0)};
361
371
 
362
- `,W+=`module.exports = tokens;
363
- `,W+=`module.exports.default = tokens;
364
- `;return W+`
365
- `}function a2($,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 K=U.split("."),W=Y;for(let G=0;G<K.length-1;G++){let E=K[G];if(!W[E])W[E]={};W=W[E]}let z=K[K.length-1];W[z]=v$(q.value,Z)}return Y}function v$($,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(" "),K=U[U.length-1];if(K&&K.startsWith("#"))q.color=K;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)=>v$(Y,X));if(typeof $==="object"&&$!==null){let Y={};for(let[Z,q]of Object.entries($))Y[Z]=v$(q,X);return Y}return $}function n2($,X){let Y="";if(X)Y+=`/**
372
+ `,K+=`module.exports = tokens;
373
+ `,K+=`module.exports.default = tokens;
374
+ `;return K+`
375
+ `}function e2($,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 z=W[W.length-1];K[z]=p$(q.value,Z)}return Y}function p$($,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)=>p$(Y,X));if(typeof $==="object"&&$!==null){let Y={};for(let[Z,q]of Object.entries($))Y[Z]=p$(q,X);return Y}return $}function $Y($,X){let Y="";if(X)Y+=`/**
366
376
  * Token object type definition
367
377
  */
368
- `;return Y+=`type Tokens = ${g0($,0)};
369
- `,Y}function c1($,X,Y){let{customHeader:Z,includeJSDoc:q}=X,U="";if(Z)U+=`${Z}
378
+ `;return Y+=`type Tokens = ${y0($,0)};
379
+ `,Y}function r1($,X,Y){let{customHeader:Z,includeJSDoc:q}=X,U="";if(Z)U+=`${Z}
370
380
 
371
- `;else{let K=Y?` - ${Y.charAt(0).toUpperCase()+Y.slice(1)} Theme`:"";U+=`/**
372
- `,U+=` * Universe Design System Tokens - Type Definitions${K}
381
+ `;else{let W=Y?` - ${Y.charAt(0).toUpperCase()+Y.slice(1)} Theme`:"";U+=`/**
382
+ `,U+=` * Universe Design System Tokens - Type Definitions${W}
373
383
  `,U+=` * Auto-generated from design token definitions
374
384
  `,U+=` * Do not edit this file directly
375
385
  `,U+=` */
@@ -377,32 +387,32 @@ ${z.sort().map((_)=>` ${_}`).join(`
377
387
  `}if(q)U+=`/**
378
388
  * Token object type definition
379
389
  */
380
- `;return U+=`export type Tokens = ${g0($,0)};
390
+ `;return U+=`export type Tokens = ${y0($,0)};
381
391
  `,U+`
382
- `}function g0($,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=`{
383
- `;for(let[U,K]of Z){let W=l1(U)?`"${U}"`:U;q+=`${Y}${W}: ${g0(K,X+1)};
384
- `}return q+=" ".repeat(X)+"}",q}function l1($){return $.startsWith("@")||$.includes(" ")||$.includes("-")||$.includes("(")||$.includes(")")||$.includes("@")||$.includes(":")||!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($)}function n($,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 K=`{
385
- `;for(let W=0;W<U.length;W++){let[z,G]=U[W],E=W===U.length-1;if(X&&typeof G==="string")K+=`${q}/** Token value: ${JSON.stringify(G)} */
386
- `;let A=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(z)?z:JSON.stringify(z),L=n(G,X,Y+1);K+=`${q}${A}: ${L}${E?"":","}
387
- `}return K+=`${Z}}`,K}function r1($,X){let Y=X.typescript?"ts":"js",{moduleType:Z="es",customHeader:q}=X,U=(W)=>{return W.replace(/-([a-z])/g,(z,G)=>G.toUpperCase())},K="";if(q)K+=`${q}
392
+ `}function y0($,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=i1(U)?`"${U}"`:U;q+=`${Y}${K}: ${y0(W,X+1)};
394
+ `}return q+=" ".repeat(X)+"}",q}function i1($){return $.startsWith("@")||$.includes(" ")||$.includes("-")||$.includes("(")||$.includes(")")||$.includes("@")||$.includes(":")||!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($)}function t($,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[z,G]=U[K],E=K===U.length-1;if(X&&typeof G==="string")W+=`${q}/** Token value: ${JSON.stringify(G)} */
396
+ `;let A=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(z)?z:JSON.stringify(z),L=t(G,X,Y+1);W+=`${q}${A}: ${L}${E?"":","}
397
+ `}return W+=`${Z}}`,W}function s1($,X){let Y=X.typescript?"ts":"js",{moduleType:Z="es",customHeader:q}=X,U=(K)=>{return K.replace(/-([a-z])/g,(z,G)=>G.toUpperCase())},W="";if(q)W+=`${q}
388
398
 
389
- `;else K+=`/**
390
- `,K+=` * Design Tokens - Index
391
- `,K+=` * Exports all token themes for convenient importing
392
- `,K+=` */
399
+ `;else W+=`/**
400
+ `,W+=` * Design Tokens - Index
401
+ `,W+=` * Exports all token themes for convenient importing
402
+ `,W+=` */
393
403
 
394
- `;if(Z==="es"){for(let W of $){if(W.fileName===`index.${Y}`)continue;if(!W.fileName.endsWith(".d.ts"))continue;let z=W.fileName.replace(".d.ts",""),G=U(W.theme||z);K+=`export type { Tokens as ${G.charAt(0).toUpperCase()+G.slice(1)}Tokens } from './${z}.d';
395
- `}K+=`
396
- `;for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let z=W.fileName.replace(`.${Y}`,""),G=U(W.theme||z);K+=`export { default as ${G} } from './${z}${X.typescript?"":".js"}';
397
- `}K+=`
404
+ `;if(Z==="es"){for(let K of $){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
+ `}W+=`
406
+ `;for(let K of $){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}${X.typescript?"":".js"}';
407
+ `}W+=`
398
408
  // Convenience re-exports
399
- `,K+=`export { default } from './light${X.typescript?"":".js"}';
400
- `}else{for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let z=W.fileName.replace(`.${Y}`,""),G=U(W.theme||z);K+=`exports.${G} = require('./${z}');
401
- `}K+=`
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 z=K.fileName.replace(`.${Y}`,""),G=U(K.theme||z);W+=`exports.${G} = require('./${z}');
411
+ `}W+=`
402
412
  // Default export points to light theme
403
- `,K+=`module.exports = require('./light');
404
- `}return K+`
405
- `}var t2=P(()=>{y$()});var o2={};d$(o2,{validateCSSFiles:()=>i1,printValidationResults:()=>s1});import{readFileSync as y0,existsSync as q$}from"fs";import{join as d}from"path";function i1($,X){let Y={isValid:!0,errors:[],warnings:[],checks:[]},Z=d($,"css"),q=d(Z,"tokens.css"),U=q$(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 A=d(Z,"tokens.dark.css"),L=q$(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 W=d(Z,"tokens.breakpoints.css");if(q$(W))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&&q$(d(Z,"tokens.css"))){let A=y0(d(Z,"tokens.css"),"utf8");if(G.prefix)for(let{find:L,replace:_}of G.prefix){let H=`--${w$}-${L}`,Q=`--${_}`,w=A.includes(H),B=A.includes(Q);if(Y.checks.push({name:`Prefix hook applied: ${L} → ${_}`,passed:!w&&B,message:w?`Old prefix "${H}" still found in CSS, should be "${Q}"`:void 0}),w)Y.errors.push(`Prefix transformation failed: "${H}" should be replaced with "${Q}"`),Y.isValid=!1}if(G.suffix)for(let{find:L,replace:_}of G.suffix){let Q=new RegExp(`--[^:]+${L.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"g").test(A);if(Y.checks.push({name:`Suffix hook applied: ${L} → ${_}`,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 "${_}"`),Y.isValid=!1}}if(q$(d(Z,"tokens.css"))){let L=y0(d(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 A of E){let L=d(Z,A);if(q$(L)){let _=y0(L,"utf8"),H=(_.match(/\{/g)||[]).length-(_.match(/\}/g)||[]).length;if(Y.checks.push({name:`CSS syntax valid: ${A}`,passed:H===0,message:H!==0?`Mismatched braces in ${A}`:void 0}),H!==0)Y.errors.push(`CSS syntax error in ${A}: mismatched braces`),Y.isValid=!1}}return Y}function s1($){console.log(`
413
+ `,W+=`module.exports = require('./light');
414
+ `}return W+`
415
+ `}var YY=D(()=>{f$()});var XY={};k$(XY,{validateCSSFiles:()=>a1,printValidationResults:()=>n1});import{readFileSync as h0,existsSync as U$}from"fs";import{join as d}from"path";function a1($,X){let Y={isValid:!0,errors:[],warnings:[],checks:[]},Z=d($,"css"),q=d(Z,"tokens.css"),U=U$(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 A=d(Z,"tokens.dark.css"),L=U$(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=d(Z,"tokens.breakpoints.css");if(U$(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&&U$(d(Z,"tokens.css"))){let A=h0(d(Z,"tokens.css"),"utf8");if(G.prefix)for(let{find:L,replace:H}of G.prefix){let _=`--${I$}-${L}`,Q=`--${H}`,B=A.includes(_),O=A.includes(Q);if(Y.checks.push({name:`Prefix hook applied: ${L} → ${H}`,passed:!B&&O,message:B?`Old prefix "${_}" still found in CSS, should be "${Q}"`:void 0}),B)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(U$(d(Z,"tokens.css"))){let L=h0(d(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 A of E){let L=d(Z,A);if(U$(L)){let H=h0(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 n1($){console.log(`
406
416
 
407
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(`
408
418
  ⚠️ Warnings:`);for(let X of $.warnings)console.log(` ${X}`)}if($.errors.length>0){console.log(`
@@ -410,7 +420,7 @@ Build Validation Results:`),console.log("=======================================
410
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(`
411
421
  ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
412
422
  ========================================================
413
- `)}var e2=P(()=>{g()});import{writeFileSync as a1,mkdirSync as n1,existsSync as v0,readFileSync as h0,readdirSync as t1,statSync as $Y}from"fs";import{join as b,dirname as J$}from"path";function o1($,X,Y=!1,Z=!1){let q=[],U=[],K=[];for(let z of $)if(z.fileName.includes("breakpoint"))U.push(`@import url("./css/${z.fileName}");`);else K.push(`@import url("./css/${z.fileName}");`);if(q.push(...K),Y)q.push('@import url("./css/tokens.icons.css");');if(Z)q.push('@import url("./css/fonts.css");');q.push(...U);let W=`/**
423
+ `)}var ZY=D(()=>{g()});import{writeFileSync as t1,mkdirSync as o1,existsSync as f0,readFileSync as v0,readdirSync as e1,statSync as qY}from"fs";import{join as P,dirname as R$}from"path";function $4($,X,Y=!1,Z=!1){let q=[],U=[],W=[];for(let z of $)if(z.fileName.includes("breakpoint"))U.push(`@import url("./css/${z.fileName}");`);else W.push(`@import url("./css/${z.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=`/**
414
424
  * ${X} Design System - Main CSS Entry Point
415
425
  * Generated: ${new Date().toISOString()}
416
426
  *
@@ -422,8 +432,8 @@ ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
422
432
 
423
433
  ${q.join(`
424
434
  `)}
425
- `;return{fileName:`${X}.design-system.tokens.css`,content:W+`
426
- `,theme:void 0}}function e1($,X,Y=!1,Z=!1,q){let{readFileSync:U}=u$("fs"),{join:K}=u$("path"),W=[],z=(A)=>{try{let L=K(q,"css",A);return U(L,"utf-8")}catch(L){return console.warn(`Could not read ${A}:`,L),""}},G=[];for(let A of $){let L=z(A.fileName);if(!L)continue;if(A.fileName.includes("breakpoint"))G.push(L);else W.push(L)}if(Y){let A=z("tokens.icons.css");if(A)W.push(A)}if(Z){let A=z("fonts.css");if(A)W.push(A)}W.push(...G);let E=`/**
435
+ `;return{fileName:`${X}.design-system.tokens.css`,content:K+`
436
+ `,theme:void 0}}function Y4($,X,Y=!1,Z=!1,q){let{readFileSync:U}=c$("fs"),{join:W}=c$("path"),K=[],z=(A)=>{try{let L=W(q,"css",A);return U(L,"utf-8")}catch(L){return console.warn(`Could not read ${A}:`,L),""}},G=[];for(let A of $){let L=z(A.fileName);if(!L)continue;if(A.fileName.includes("breakpoint"))G.push(L);else K.push(L)}if(Y){let A=z("tokens.icons.css");if(A)K.push(A)}if(Z){let A=z("fonts.css");if(A)K.push(A)}K.push(...G);let E=`/**
427
437
  * ${X} Design System - Raw/Inline CSS
428
438
  * Generated: ${new Date().toISOString()}
429
439
  *
@@ -434,34 +444,33 @@ ${q.join(`
434
444
  * Do not edit this file directly - it will be overwritten.
435
445
  */
436
446
 
437
- ${W.join(`
447
+ ${K.join(`
438
448
 
439
449
  `)}
440
450
  `;return{fileName:`${X}.design-system.tokens.raw.css`,content:E+`
441
- `,theme:void 0}}function $4($,X){let Y=$.replace(/\\/g,"/");if(X.replace(/\\/g,"/").startsWith(Y))return{valid:!1,error:`⚠️ Compositions directory cannot be inside tokens directory.
451
+ `,theme:void 0}}function X4($,X){let Y=$.replace(/\\/g,"/");if(X.replace(/\\/g,"/").startsWith(Y))return{valid:!1,error:`⚠️ Compositions directory cannot be inside tokens directory.
442
452
  `+` Tokens dir: ${$}
443
453
  Compositions dir: ${X}
444
- Please move compositions to a separate directory (e.g., './compositions')`};return{valid:!0}}function Y4($,X){let Y=[];if(v0($)){let Z=$Y($);if(Z.isDirectory())try{let q=t1($);for(let U of q){if(!U.endsWith(".json"))continue;let K=b($,U);if($Y(K).isFile())try{let z=h0(K,"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(q){console.warn("⚠️ Failed to read compositions directory:",q)}else if(Z.isFile()&&$.endsWith(".json"))try{let q=h0($,"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=b(X,"compositions.json");if(v0(Z))try{let q=h0(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 YY($,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 X4($,X){let Y=$.match(/^\{(.+)\}$/);if(Y){let q=Y[1].replace(/\./g,"-");return q=YY(q,X),`var(--${q})`}return $.replace(/\{([^}]+)\}/g,(Z,q)=>{let U=q.replace(/\./g,"-");return U=YY(U,X),`var(--${U})`})}function Z4($,X,Y,Z){let q=[],U=$.filter((z)=>z.platform==="css");if(U.length===0)return q;let K=new Map,W="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`:W;if(!K.has(E))K.set(E,[]);K.get(E).push(z)}for(let[z,G]of K.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: ${z}`),E.push(` */
445
- `),G.length===0)E.push("/* No compositions defined */");else for(let L of G){E.push(`/* ${L.name} */`),E.push(`${L.selector} {`);for(let _ of L.properties){let H=X4(_.token,X);E.push(` ${_.property}: ${H};`)}E.push(`}
446
- `)}let A=E.join(`
454
+ Please move compositions to a separate directory (e.g., './compositions')`};return{valid:!0}}function Z4($,X){let Y=[];if(f0($)){let Z=qY($);if(Z.isDirectory())try{let q=e1($);for(let U of q){if(!U.endsWith(".json"))continue;let W=P($,U);if(qY(W).isFile())try{let z=v0(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(q){console.warn("⚠️ Failed to read compositions directory:",q)}else if(Z.isFile()&&$.endsWith(".json"))try{let q=v0($,"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(f0(Z))try{let q=v0(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 UY($,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 q4($,X){let Y=$.match(/^\{(.+)\}$/);if(Y){let q=Y[1].replace(/\./g,"-");return q=UY(q,X),`var(--${q})`}return $.replace(/\{([^}]+)\}/g,(Z,q)=>{let U=q.replace(/\./g,"-");return U=UY(U,X),`var(--${U})`})}function U4($,X,Y,Z){let q=[],U=$.filter((z)=>z.platform==="css");if(U.length===0)return q;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: ${X.$metaData?.dsNamespace||"ds"}.${X.$metaData?.tokenNamespace||"tokens"}`),E.push(` * File: ${z}`),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="",B=[];if(_){if(H.customAtRule){let O=u(H.customAtRule,Y);E.push(`${O} {`),B.push("}"),Q=" "}if(H.mediaQuery){let O=u(H.mediaQuery,Y);E.push(`${Q}${O} {`),B.push("}"),Q+=" "}if(H.containerQuery){let O=u(H.containerQuery,Y);E.push(`${Q}${O} {`),B.push("}"),Q+=" "}if(H.parentSelector){let O=u(H.parentSelector,Y);E.push(`${Q}${O} {`),B.push("}"),Q+=" "}}E.push(`${Q}${L.selector} {`);for(let O of L.properties){let w=q4(O.token,X);E.push(`${Q} ${O.property}: ${w};`)}E.push(`${Q}}`);while(B.length>0)Q=Q.slice(2),E.push(`${Q}${B.pop()}`);E.push("")}let A=E.join(`
447
456
  `);q.push({fileName:z,content:A+`
448
- `,theme:void 0})}return q}async function d2($){let X=Date.now(),Y={tokenCount:0,cssFiles:[],typescriptFiles:[],javascriptFiles:[],jsonFiles:[],duration:0,warnings:[],errors:[]};try{M(`
449
- Starting token build process...`,$.verbose);let{initializeColorspace:Z}=await Promise.resolve().then(() => (W$(),d0));await Z(),M("Loading token files...",$.verbose);let q=O0($.tokensDir);M("Parsing tokens...",$.verbose);let U=q4($.config),K=w0(q,U);if(M(`Found ${K.length} tokens`,$.verbose),Y.tokenCount=K.length,K.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 W=I0(K,U);if(M(`Resolved ${W.length} tokens`,$.verbose),$.generateCSS!==!1){M(`
450
- Generating CSS files...`,$.verbose);let G=XY($.config,$.cssOptions),E=C$(W,G);for(let A of E){let L=b($.outputDir,"css",A.fileName);l(L,A.content),M(` ✓ ${A.fileName}`,$.verbose)}Y.cssFiles=E}if($.generateCSS!==!1)try{await T0(),M(`
451
- Generated icon tokens`,$.verbose)}catch(G){if($.verbose)console.warn("Could not build icon tokens:",G)}if($.generateCSS!==!1)try{let G=await j0();if(G.length>0){let E=XY($.config,$.cssOptions),A=F0(G,{customHeader:g$($.config),objectPath:$.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:E.hooks}),L=b($.outputDir,"css",A.fileName);if(l(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose),Y.cssFiles)Y.cssFiles.push(A);else Y.cssFiles=[A]}}catch(G){if($.verbose)console.warn("Could not generate icon CSS:",G)}let z=!1;if($.generateCSS!==!1)try{let G=$.config.$fonts;if(G&&G.length>0){await _0(G,$.outputDir),M(" ✓ Generated fonts.css",$.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($.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"),A=$.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}),_=o1(L,G,E,z),H=b($.outputDir,_.fileName);if(l(H,_.content),M(` ✓ Generated ${_.fileName}`,$.verbose),Y.cssFiles.push(_),A){let Q=e1(Y.cssFiles.filter((B)=>B.fileName!=="tokens.icons.css"&&B.fileName!=="fonts.css"&&!B.fileName.includes(".design-system.tokens.css")),G,E,z,$.outputDir),w=b($.outputDir,Q.fileName);l(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,A=$.tokensDir,L=E.split("/").filter((B)=>B&&B!=="."&&B!=="..");for(let B=0;B<L.length;B++)A=J$(A);let _=G.split("/").filter((B)=>B&&B!=="."&&B!=="..");for(let B=0;B<_.length;B++)A=J$(A);let H=b(A,G,$.config.$paths.compositionsDir),Q=b(A,G);if($.verbose)console.log(` Project root: ${A}`),console.log(` Base dir: ${Q}`),console.log(` Compositions dir: ${H}`);let w=$4($.tokensDir,H);if(!w.valid)console.error(w.error),Y.errors.push(w.error);else{M(`
452
- Processing composition files...`,$.verbose);let B=Y4(H,Q);if(B.length>0){M(` Found ${B.length} composition(s)`,$.verbose);let O=new Map;for(let J of W)O.set(J.path,J);let I=Z4(B,$.config,O,$.outputDir);for(let J of I){let R=b($.outputDir,"css",J.fileName);l(R,J.content),M(` ✓ Generated ${J.fileName}`,$.verbose),Y.cssFiles.push(J)}}else M(` No compositions found in ${H}`,$.verbose)}}catch(G){if($.verbose)console.warn("Could not generate composition CSS:",G)}if($.generateTypeScript!==!1){M(`
453
- Generating TypeScript files...`,$.verbose);let G=U4($.config,$.typescriptOptions),E=await P0(W,G);for(let A of E){let L=b($.outputDir,"typescript",A.fileName);l(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose)}Y.typescriptFiles=E}if($.generateJavaScript!==!1){M(`
454
- Generating JavaScript files...`,$.verbose);let G=W4($.config,$.javascriptOptions),E=s2(W,G);for(let A of E){let L=b($.outputDir,"js",A.fileName);l(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose)}Y.javascriptFiles=E}if($.generateJSON!==!1){M(`
455
- Generating JSON files...`,$.verbose);let G=K4(W,K,$.config);for(let E of G){let A=b($.outputDir,"json",E.fileName);l(A,E.content),M(` ✓ Generated ${E.fileName}`,$.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-X,M(`
457
+ `,theme:void 0})}return q}async function l2($){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(() => (W$(),l0));await Z(),M("Loading token files...",$.verbose);let q=w0($.tokensDir);M("Parsing tokens...",$.verbose);let U=K4($.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=KY($.config,$.cssOptions),E=g$(K,G);for(let A of E){let L=P($.outputDir,"css",A.fileName);r(L,A.content),M(` ✓ ${A.fileName}`,$.verbose)}Y.cssFiles=E}if($.generateCSS!==!1)try{await g0(),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 D0();if(G.length>0){let E=KY($.config,$.cssOptions),A=j0(G,{customHeader:v$($.config),objectPath:$.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:E.hooks}),L=P($.outputDir,"css",A.fileName);if(r(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose),Y.cssFiles)Y.cssFiles.push(A);else Y.cssFiles=[A]}}catch(G){if($.verbose)console.warn("Could not generate icon CSS:",G)}let z=!1;if($.generateCSS!==!1)try{let G=$.config.$fonts;if(G&&G.length>0){await Q0(G,$.outputDir),M(" ✓ Generated fonts.css",$.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($.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"),A=$.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=$4(L,G,E,z),_=P($.outputDir,H.fileName);if(r(_,H.content),M(` ✓ Generated ${H.fileName}`,$.verbose),Y.cssFiles.push(H),A){let Q=Y4(Y.cssFiles.filter((O)=>O.fileName!=="tokens.icons.css"&&O.fileName!=="fonts.css"&&!O.fileName.includes(".design-system.tokens.css")),G,E,z,$.outputDir),B=P($.outputDir,Q.fileName);r(B,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,A=$.tokensDir,L=E.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<L.length;O++)A=R$(A);let H=G.split("/").filter((O)=>O&&O!=="."&&O!=="..");for(let O=0;O<H.length;O++)A=R$(A);let _=P(A,G,$.config.$paths.compositionsDir),Q=P(A,G);if($.verbose)console.log(` Project root: ${A}`),console.log(` Base dir: ${Q}`),console.log(` Compositions dir: ${_}`);let B=X4($.tokensDir,_);if(!B.valid)console.error(B.error),Y.errors.push(B.error);else{M(`
461
+ Processing composition files...`,$.verbose);let O=Z4(_,Q);if(O.length>0){M(` Found ${O.length} composition(s)`,$.verbose);let w=new Map;for(let J of K){let R=Array.isArray(J.path)?J.path.join("."):J.path;w.set(R,J)}let I=U4(O,$.config,w,$.outputDir);for(let J of I){let R=P($.outputDir,"css",J.fileName);r(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=W4($.config,$.typescriptOptions),E=await S0(K,G);for(let A of E){let L=P($.outputDir,"typescript",A.fileName);r(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose)}Y.typescriptFiles=E}if($.generateJavaScript!==!1){M(`
463
+ Generating JavaScript files...`,$.verbose);let G=G4($.config,$.javascriptOptions),E=o2(K,G);for(let A of E){let L=P($.outputDir,"js",A.fileName);r(L,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose)}Y.javascriptFiles=E}if($.generateJSON!==!1){M(`
464
+ Generating JSON files...`,$.verbose);let G=z4(K,W,$.config);for(let E of G){let A=P($.outputDir,"json",E.fileName);r(A,E.content),M(` ✓ Generated ${E.fileName}`,$.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-X,M(`
456
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(`
457
- Validating build output...`,$.verbose);let{validateCSSFiles:Z,printValidationResults:q}=await Promise.resolve().then(() => (e2(),o2)),U=Z($.outputDir,$.config);if($.verbose||!U.isValid)q(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function q4($){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:K,replace:W}of q.prefix){let z=K.replace(/\./g,"-").replace(/-$/,""),G=W.replace(/\./g,"-").replace(/-$/,"");U=U.replace(z,G)}if(q.suffix){for(let{find:K,replace:W}of q.suffix)if(U.endsWith(K))U=U.substring(0,U.length-K.length)+W}return U}return Z}}}function XY($,X){let Y=$.$metaData,Z=Y.tokens?.css,q=$.$modes?[...Object.values($.$modes)]:["light","dark"],U=q.length>0?q[0]:"light",K=Y.modes?.isHost??!1;return{...X,separateThemeFiles:Z?.mediaQuery?.separateThemeFiles??!1,rootSelector:":root",generateMediaQueries:!0,customHeader:g$($),themeSelector:Z?.mediaQuery?.match||"[data-theme]",modes:q,defaultMode:U,isHost:K,hooks:Z?.hooks}}function U4($,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:`/**
466
+ Validating build output...`,$.verbose);let{validateCSSFiles:Z,printValidationResults:q}=await Promise.resolve().then(() => (ZY(),XY)),U=Z($.outputDir,$.config);if($.verbose||!U.isValid)q(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function K4($){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 z=W.replace(/\./g,"-").replace(/-$/,""),G=K.replace(/\./g,"-").replace(/-$/,"");U=U.replace(z,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 KY($,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 W4($,X){let Y=$.$metaData;return{...X,tokenInterface:"DesignTokens",exportNamespace:Y.dsNamespace||Y.tokenNamespace,generateTypes:!0,generateConsts:!0,generateCSSVarMappings:!0,includeJSDoc:!0}}function G4($,X){let Y=$.$modes?[...Object.values($.$modes)]:["light","dark"];return{...X,modes:Y,typescript:!0,separateThemeFiles:!0,includeJSDoc:!1,moduleType:"es",customHeader:`/**
458
467
  * ${$.$name}
459
468
  * Generated: ${new Date().toISOString()}
460
- */`}}function K4($,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((W,z)=>{return W[z.name]={$type:z.type,$value:z.value,$description:z.description,$extensions:z.extensions},W},{})},null,2);Z.push({fileName:"tokens.raw.json",content:q+`
461
- `});let U=JSON.stringify({$name:Y.$name,$version:Y.$version,tokens:$.reduce((W,z)=>{return W[z.name]={$type:z.type,$value:z.value,$description:z.description,cssVar:z.cssVar},W},{})},null,2);Z.push({fileName:"tokens.resolved.json",content:U+`
462
- `});let K=JSON.stringify({$name:`${Y.$name} - CSS Variables`,$version:Y.$version,variables:$.reduce((W,z)=>{return W[z.cssVar]=z.value,W},{})},null,2);return Z.push({fileName:"css-variables.json",content:K+`
463
- `}),Z}function l($,X){let Y=J$($);if(!v0(Y))n1(Y,{recursive:!0});a1($,X,"utf-8")}function M($,X){if(X!==!1)console.log($)}async function b0($,X){let Y=typeof globalThis.Bun<"u",Z=$,q=null;if($.endsWith(".ts")&&!Y){let{compileConfigFile:A,getDistConfigFile:L}=await Promise.resolve().then(() => (_$(),H2)),_=J$($);await A(_),Z=L(_),q=Z}let K=(await import(Z)).default,W=J$($),z=(A)=>{if(A.startsWith("../"))return b(W,A);return b(W,K.$paths.baseDir,A)},G=b(W,K.$paths.baseDir,K.$paths.tokensDir),E=X||z(K.$paths.distDir);try{return await d2({config:K,tokensDir:G,outputDir:E,verbose:!0})}finally{if(q){let{existsSync:A,unlinkSync:L}=await import("fs");if(A(q))try{L(q)}catch(_){}}}}var C0=P(()=>{l2();y$();t2();R0();D0();Q0()});C0();import{existsSync as z4}from"fs";import{resolve as A4}from"path";import{existsSync as f$,statSync as ZY}from"fs";import{resolve as qY}from"path";import{execSync as G4}from"child_process";async function UY($,X=!1){let Y=process.cwd(),Z=$||qY(Y,"designid.config.ts"),q=qY(Y,"designid.config.mjs");if(!f$(Z))return!1;if(!(!f$(q)||f$(Z)&&f$(q)&&ZY(Z).mtimeMs>ZY(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(G4(`bun build ${Z} --outfile ${q} --minify --target node --packages external --no-bundle`,{stdio:X?"inherit":"pipe"}),X)console.log(`✅ Config compiled successfully
464
- `);return!0}catch(K){if(console.error("❌ Failed to compile config file"),K instanceof Error)console.error(K.message);throw K}}function E4($){let X={};for(let Y=0;Y<$.length;Y++){let Z=$[Y];switch(Z){case"--config":case"-c":X.config=$[++Y];break;case"--input":case"-i":X.input=$[++Y];break;case"--output":case"-o":X.output=$[++Y];break;case"--verbose":case"-v":X.verbose=!0;break;case"--no-css":X.css=!1;break;case"--no-typescript":X.typescript=!1;break;case"--no-json":X.json=!1;break;case"--help":case"-h":X.help=!0;break;default:if(Z.startsWith("-"))console.warn(`Unknown option: ${Z}`);break}}return X}function L4(){console.log(`
469
+ */`}}function z4($,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,z)=>{return K[z.name]={$type:z.type,$value:z.value,$description:z.description,$extensions:z.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,z)=>{return K[z.name]={$type:z.type,$value:z.value,$description:z.description,cssVar:z.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,z)=>{return K[z.cssVar]=z.value,K},{})},null,2);return Z.push({fileName:"css-variables.json",content:W+`
472
+ `}),Z}function r($,X){let Y=R$($);if(!f0(Y))o1(Y,{recursive:!0});t1($,X,"utf-8")}function M($,X){if(X!==!1)console.log($)}async function C0($,X){let Y=typeof globalThis.Bun<"u",Z=$,q=null;if($.endsWith(".ts")&&!Y){let{compileConfigFile:A,getDistConfigFile:L}=await Promise.resolve().then(() => (Q$(),B2)),H=R$($);await A(H),Z=L(H),q=Z}let W=(await import(Z)).default,K=R$($),z=(A)=>{if(A.startsWith("../"))return P(K,A);return P(K,W.$paths.baseDir,A)},G=P(K,W.$paths.baseDir,W.$paths.tokensDir),E=X||z(W.$paths.distDir);try{return await l2({config:W,tokensDir:G,outputDir:E,verbose:!0})}finally{if(q){let{existsSync:A,unlinkSync:L}=await import("fs");if(A(q))try{L(q)}catch(H){}}}}var V0=D(()=>{a2();f$();YY();M0();P0();O0();F$()});import{existsSync as A4}from"fs";import{resolve as E4}from"path";import{execSync as QY}from"child_process";import{existsSync as M$,statSync as p0}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)&&p0(Z).mtimeMs>p0(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(QY(`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}}V0();function L4($){let X={};for(let Y=0;Y<$.length;Y++){let Z=$[Y];switch(Z){case"--config":case"-c":X.config=$[++Y];break;case"--input":case"-i":X.input=$[++Y];break;case"--output":case"-o":X.output=$[++Y];break;case"--verbose":case"-v":X.verbose=!0;break;case"--no-css":X.css=!1;break;case"--no-typescript":X.typescript=!1;break;case"--no-json":X.json=!1;break;case"--help":case"-h":X.help=!0;break;default:if(Z.startsWith("-"))console.warn(`Unknown option: ${Z}`);break}}return X}function H4(){console.log(`
465
474
  Design Tokens Builder - W3C compliant token processor
466
475
 
467
476
  Usage: build-tokens [options]
@@ -495,11 +504,11 @@ Token Files:
495
504
  - Include $type and $value properties
496
505
  - Support token references with {token.path} syntax
497
506
  - Support extensions for modes, generators, and breakpoints
498
- `)}function H4($){let X=[$,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let Y of X){let Z=A4(Y);if(z4(Z))return Z}throw Error(`Config file not found. Tried: ${X.join(", ")}`)}async function _4(){let $=E4(process.argv.slice(2));if($.help){L4();return}try{await UY($.config,$.verbose);let X=H4($.config);console.log(`Using config: ${X}`);let Y=await b0(X,$.output);if(Y.errors.length>0)console.log(`
507
+ `)}function _4($){let X=[$,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let Y of X){let Z=E4(Y);if(A4(Z))return Z}throw Error(`Config file not found. Tried: ${X.join(", ")}`)}async function Q4(){let $=L4(process.argv.slice(2));if($.help){H4();return}try{await u0($.config,$.verbose);let X=_4($.config);console.log(`Using config: ${X}`);let Y=await C0(X,$.output);if(Y.errors.length>0)console.log(`
499
508
  ❌ Build failed with ${Y.errors.length} error${Y.errors.length>1?"s":""}:`),Y.errors.forEach((Z)=>console.log(` - ${Z}`)),process.exit(1);if(console.log(`Processed ${Y.tokenCount} tokens`),console.log(`Duration: ${Y.duration}ms`),console.log(`Build completed successfully!
500
509
  `),Y.cssFiles.length>0)console.log(`
501
510
  Generated ${Y.cssFiles.length} CSS files:`),Y.cssFiles.forEach((Z)=>console.log(` - ${Z.fileName}`));if(Y.typescriptFiles.length>0)console.log(`
502
511
  Generated ${Y.typescriptFiles.length} TypeScript files:`),Y.typescriptFiles.forEach((Z)=>console.log(` - ${Z.fileName}`));if(Y.javascriptFiles.length>0)console.log(`
503
512
  Generated ${Y.javascriptFiles.length} JavaScript files:`),Y.javascriptFiles.forEach((Z)=>console.log(` - ${Z.fileName}`));if(Y.jsonFiles.length>0)console.log(`
504
513
  Generated ${Y.jsonFiles.length} JSON files:`),Y.jsonFiles.forEach((Z)=>console.log(` - ${Z.fileName}`));if(Y.warnings.length>0)console.log(`
505
- Warnings:`),Y.warnings.forEach((Z)=>console.log(` - ${Z}`))}catch(X){console.error("❌ Build failed:",X),process.exit(1)}}var Q4=process.argv[1]?.includes("tokens-build")||process.argv[1]?.endsWith("build.js")||import.meta.url===`file://${process.argv[1]}`;if(Q4)_4().catch(($)=>{console.error("Unexpected error:",$),process.exit(1)});export{_4 as runCLI};
514
+ Warnings:`),Y.warnings.forEach((Z)=>console.log(` - ${Z}`))}catch(X){console.error("❌ Build failed:",X),process.exit(1)}}var O4=process.argv[1]?.includes("tokens-build")||process.argv[1]?.endsWith("build.js")||import.meta.url===`file://${process.argv[1]}`;if(O4)Q4().catch(($)=>{console.error("Unexpected error:",$),process.exit(1)});export{Q4 as runCLI};