@designid/tokens 1.1.2 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/watch.js CHANGED
@@ -1,61 +1,66 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as ZY}from"node:module";var o2=Object.create;var{getPrototypeOf:e2,defineProperty:f$,getOwnPropertyNames:$Y}=Object;var YY=Object.prototype.hasOwnProperty;var XY=($,X,Y)=>{Y=$!=null?o2(e2($)):{};let Z=X||!$||!$.__esModule?f$(Y,"default",{value:$,enumerable:!0}):Y;for(let q of $Y($))if(!YY.call(Z,q))f$(Z,q,{get:()=>$[q],enumerable:!0});return Z};var h$=($,X)=>{for(var Y in X)f$($,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(Z)=>X[Y]=()=>Z})};var S=($,X)=>()=>($&&(X=$($=0)),X);var qY=ZY(import.meta.url);var T0={};h$(T0,{transformColorValueAsync:()=>KY,transformColorValue:()=>F,transformColorToken:()=>J$,setAlpha:()=>U$,isColor:()=>h,initializeColorspace:()=>WY});import v$ from"colorjs.io";async function V0(){if(I$===null){let{colorspace:$}=await b();I$=$||"hex"}return I$}function UY(){return I$||"hex"}async function WY(){await V0()}function U$($,X){let Y=new v$($);if(X||X===0)Y.alpha=X/100;return F(Y)}function g0($,X){if(!$)return $;if(X&&X.type!=="color")return $;if(typeof $==="string")$=new v$($);if(typeof $?.to!=="function")return $;let Y=UY();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 KY($,X){return await V0(),g0($,X)}function F($,X){return g0($,X)}function J$($,X,Y,Z){try{if($=g(X,Z),X.$type==="color"&&X.original?.$value&&X.original?.$value!==X.$value){if(D(X.original.$value))$=T(X.original.$value,Y,Z,X);else $=P(X);if(!x(Z)&&X.original?.$extensions?.mode?.[Z])$=X.original.$extensions.mode[Z]}if(D($))$=T($,Y,Z,X);return F($)}catch{return $=g(X,Z),F($)}}function h($){try{if($)return new v$($),!0;return!1}catch{return!1}}var I$=null;var W$=S(()=>{V()});function y0($,X){let Y=$.$extensions?.delimiter?.character||" ",Z=g($,X)??{},q=$.$extensions?.sort??[],U=P($)??{};if(q.length>0)U=Object.keys(U).sort((K,W)=>{let H=q.indexOf(K),G=q.indexOf(W);return H-G}).reduce((K,W)=>{return K[W]=Z[W],K},{});return Object.keys(U).reduce((K,W)=>{let H=P(Z[W]);if(Z[W]?.$type==="color"||Z[W].$property==="color")H=F(H,Z[W]);return[...Array.isArray(K)?K:[K],H]},[]).join(Y).trim()}function GY($,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,!x(Z)&&u(W,"mode",{isIncludedOriginalValue:!0}))W.$value=g(W,Z);if(W?.$type==="composition"&&(typeof W.$value!=="string"||typeof W.$value!=="number"||D(W.$value))&&Object.keys(W).length>0){if(D(W.$value))return W.$value=T(W.$value,Y,Z,W),{...U,[K]:{...W,$property:K,$type:W.$type,$value:n(W,Y,Z)}};return{...U,[K]:{...W,$property:K,$type:W.$type,$value:n(W,Y,Z)}}}if(W?.$value){let G=T(W.$value,Y,Z,W);return{...U,[K]:{...W,$property:K,$type:W.$type,$value:G}}}return U},{})}function n($,X,Y){let Z=P($,{isIncludedOriginalValue:!0});if(typeof Z==="string"){if(D(Z)){if(Z=m$(Z,X,Y,$),!x(Y)&&u(Z,"mode",{isIncludedOriginalValue:!0}))Z.$value=g(Z,Y)}let q=o(Z);if(q&&(q?.length??0)>1)Z=t(Z,q,X,Y)}else if(Array.isArray(Z))Z=Z.map((q)=>{if(typeof q==="string"&&D(q))return T(q,X,Y,$);return q});if(!$.name)return Z;return $.$value=GY($,Z,X,Y),y0($,Y)}var p$=S(()=>{V()});function P($,X){let{isIncludedOriginalValue:Y=!1,fallbackValue:Z=null}=X??{};if(Y)return $?.original?.$value??$?.$value??$.value??Z;return $?.$value??$?.value??Z}function g($,X){return X&&($?.$extensions?.mode?.[X]||typeof $?.$extensions?.mode?.[X]==="number")?$.$extensions.mode[X]:P($,{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 d$($,X,Y){let Z=P($,{isIncludedOriginalValue:!0});if(!x(Y)&&u($,"mode",{isIncludedOriginalValue:!0}))Z=g($,Y);if(D(Z))return k$(Z,X,Y,$);return Z}function t($,X,Y,Z){let q=X.reduce((U,K)=>{let W=u$(K,Y);if(!W)return U;let H=P(W,{isIncludedOriginalValue:!0});if(D(H))H=T(`{${K}}`,Y,Z,W);return{...U,[K]:R$(W,H,Y,Z)}},{});return $?.replace(/\{([^}]+)\}/g,(U,K)=>{return q[K]!==void 0?q[K]:U})??null}function m$($,X,Y,Z){if(D($))return T($,X,Y,Z);return $}function u$($,X){return X.allTokens.find((Y)=>Y.path.join(".")===$)??null}function T($,X,Y,Z){let q=D($),U=null,K=$??P(Z),W=null;if(q){if(U=u$(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!==$&&D(K))K=T(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 k$($,X,Y,Z){let q=Z?.original?.$extensions?.mode?.[Y]??Z?.original?.$value,U=D(q);if(Y&&U){let K=X.allTokens.find((H)=>H.path.join(".")===U);if(!K)return $;let W=P(K);if(D(W))return k$(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 D($){if(typeof $!=="string")return null;let X=/{[^}]+}/g,Y=$.match(X);if(Y?.length!==1)return null;return Y[0].slice(1,-1)}function o($){if(typeof $!=="string")return null;return[...$.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function e($){return $}function K$($){return $}var c$=S(()=>{V()});var W2={};h$(W2,{wrapThemeValue:()=>W0,wrapFormatCSSFile:()=>X2,typographyFileName:()=>l0,tokensFileName:()=>k0,removeDirectoryContents:()=>X0,readConfigFile:()=>X$,namespaceUUID:()=>r0,iconsFileName:()=>s0,getTokenfileName:()=>a0,getRelativePath:()=>U2,getRelativeCSSPath:()=>q2,getRawTokensFileName:()=>e0,getProjectPaths:()=>v,getProjectModes:()=>q0,getProjectMetaData:()=>b,getProjectFonts:()=>_Y,getLazyTokensConfig:()=>l$,getLazyProjectPaths:()=>U0,getLazyProjectModes:()=>G$,getLazyProjectMetaData:()=>L$,getLazyProjectFonts:()=>QY,getLazyProjectData:()=>k,getLazyIcons:()=>j$,getJSDocHeader:()=>$2,getIconDestinationFileName:()=>Y$,getFiles:()=>x$,getFileHeader:()=>Z0,getDistThemeFileDelimeter:()=>n0,getDistConfigFile:()=>M$,getDestinationFileName:()=>t0,getDefaultIconObjectPath:()=>i0,getCSSDestinationFileName:()=>o0,getBaseDirectory:()=>i,getBaseConfigFile:()=>z$,generatedFileHeader:()=>$$,filterTokensByType:()=>N$,createFileHeaderTitle:()=>H$,compileConfigFile:()=>Y0,combineCSSFiles:()=>Z2,checkAndCreateDirectory:()=>s,breakpointFileName:()=>c0});import{spawnSync as HY}from"child_process";import{existsSync as y,mkdirSync as zY,readFileSync as AY,unlinkSync as f0,writeFileSync as LY}from"fs";import{readdir as m0,rmdir as EY,unlink as BY}from"fs/promises";import{resolve as d0,join as R,basename as u0,normalize as h0,relative as v0,sep as s$,dirname as p0}from"path";async function i0(){return`${(await A$()).$metaData?.tokenNamespace||"tokens"}.icons`}async function Y0($){let Y=R($,"designid.config.ts");if(y(R($,"designid.config.mjs")))f0(R($,"designid.config.mjs"));let Z=R($,"designid.config.js");if(y(Z))f0(Z);if(y(Y)){let q=HY("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 X0($){try{if(y($)){let X=await m0($,{withFileTypes:!0});for(let Y of X){let Z=R($,Y.name);if(Y.isDirectory())await X0(Z),await EY(Z);else await BY(Z)}}}catch(X){console.error(`Error removing contents of ${$}:`,X)}}async function x$($){let X=await m0($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=d0($,Z.name);return Z.isDirectory()?x$(q):q}));return Array.prototype.concat(...Y)}async function r0($){let{dsNamespace:X,tokenNamespace:Y}=await b();return`${(X??Y).toUpperCase()}DesignSystem${$.charAt(0).toUpperCase()+$.slice(1)}Tokens`}function a0($,X="d.ts",Y){if(!$)return`tokens.${Y}.config.${X}`;return R($,`tokens.${Y}.config.${X}`)}function n0($,X){return $.length>1?`.${X}`:""}async function t0($="d.ts",X){let{tokenNamespace:Y}=await b();if(X)return`${Y}-design-system.${X}.tokens.config.${$}`;return`${Y}-design-system.tokens.config.${$}`}async function Y$($="json"){let{tokenNamespace:X}=await b();return`${X}-design-system.tokens.svg${$==="d.ts"||$==="js"?".config":""}.${$}`}async function o0(){let{tokenNamespace:$}=await b();return`${$}-design-system.tokens.css`}async function e0(){let{tokenNamespace:$}=await b();return`${$}-design-system-raw.tokens.json`}async function Z0($){let{tokenNamespace:X}=await b();return`${X} | ${$}`}function $2($,X){return`/** @type {import("./${$}").${X}} */`}function H$($){return`/* ${Z0($)} */`}function s($){if(!y($))zY($,{recursive:!0})}async function X$($,X=!1){let Y=z$(),Z;if(Y.endsWith(".json"))Z=JSON.parse(AY(Y,"utf8").trim()??"{}");else if(Y.endsWith(".ts"))if(typeof globalThis.Bun<"u"){if(Z=await import(Y),Z.default)Z=Z.default}else{$=$??p0(Y)+"/";let U=M$($);if(U&&(X||!y(U)))await Y0($);if(Z=await import(U),Z.default)Z=Z.default}else{$=$??p0(Y)+"/";let q=M$($);if(q&&(X||!y(q)))await Y0($);if(Z=await import(q),Z.default)Z=Z.default}return Z}async function i($=!1){let{baseDir:X}=await v(),Y=process.cwd(),q=R(Y,X),{buildDir:U,distDir:K}=await v();if($)try{s(R(q,U)),s(R(q,K))}catch(W){console.error("Error creating directories:",W)}return q}function M$($){return $?R($,"designid.config.mjs"):R(process.cwd(),"designid.config.mjs")}function z$(){let $=process.argv.find((W)=>W.startsWith("--config=")),[,X]=$?.split("=")??[];if(X)return X;let Y=process.cwd(),Z=M$(Y),q=R(Y,"designid.config.ts"),U=y(Z),K=y(q);if(U)return Z;else if(K)return q;throw console.error("Config file not found"),Error("Config file not found")}async function v($=!1){let X=z$(),Z=(await X$(process.cwd(),$)).$paths;if(!Z)throw console.error("Project paths not found"),Error("Project paths not found");return{configFile:X,...Z}}async function b(){let X=(await X$(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 i0();return{...X,icons:X.icons??{objectPath:Y},dsNamespace:X.dsNamespace}}async function q0(){return(await X$(process.cwd())).$modes??{default:"light"}}async function A$(){if(!i$){let $=z$();i$=await X$(process.cwd()),Y2=$}return i$}async function G$(){if(!r$)r$=(await A$()).$modes??{default:"light"};return r$}async function L$(){if(!a$){let X=(await A$()).$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`;a$={...X,icons:X.icons??{objectPath:Z},dsNamespace:X.dsNamespace}}return a$}async function U0($=!1){if(!n$){let Y=(await A$()).$paths;if(!Y)throw console.error("Project paths not found"),Error("Project paths not found");n$={configFile:Y2,...Y}}return n$}async function k(){if(!t$){let{distDir:$,assets:X,buildDir:Y}=await U0(!0),{fontNamespace:Z,tokenNamespace:q,icons:U}=await L$(),K=await i(),W=process.cwd(),H=R(W,$,"css");t$={distDir:$,assets:X,fontNamespace:Z,__dirname:K,workspaceRoot:W,distCSSPath:H,buildDir:Y,tokenNamespace:q,icons:U}}return t$}async function j$(){if(!o$){let{icons:$}=await L$();o$=$}return o$}async function l$(){if(!e$){let{tokens:$}=await L$();e$=$}return e$}async function _Y(){return(await X$(process.cwd())).$fonts??[]}async function QY(){if(!$0)$0=(await A$()).$fonts??[];return $0}async function W0($){if(x($))return":root";let Y=(await b())?.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 X2($,X,Y,Z,q,U={}){let K;if(x(Y))K=X.allTokens;else K=$(X,Y);let H=(await b())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${H$(H)}
3
- ${$$}`,A=x(Y)?`:root {
2
+ import{createRequire as LY}from"node:module";var GY=Object.create;var{getPrototypeOf:zY,defineProperty:m$,getOwnPropertyNames:AY}=Object;var EY=Object.prototype.hasOwnProperty;var HY=($,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$=LY(import.meta.url);var d0={};d$(d0,{transformColorValueAsync:()=>OY,transformColorValue:()=>F,transformColorToken:()=>M$,setAlpha:()=>W$,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 W$($,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 OY($,X){return await p0(),m0($,X)}function F($,X){return m0($,X)}function M$($,X,Y,Z){try{if($=g(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 $=g(X,Z),F($)}}function p($){try{if($)return new k$($),!0;return!1}catch{return!1}}var R$=null;var K$=P(()=>{T()});function u0($,X){let Y=$.$extensions?.delimiter?.character||" ",Z=g($,X)??{},q=$.$extensions?.sort??[],U=D($)??{};if(q.length>0)U=Object.keys(U).sort((K,W)=>{let A=q.indexOf(K),G=q.indexOf(W);return A-G}).reduce((K,W)=>{return K[W]=Z[W],K},{});return Object.keys(U).reduce((K,W)=>{let A=D(Z[W]);if(Z[W]?.$type==="color"||Z[W].$property==="color")A=F(A,Z[W]);return[...Array.isArray(K)?K:[K],A]},[]).join(Y).trim()}function BY($,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)&&k(W,"mode",{isIncludedOriginalValue:!0}))W.$value=g(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:o(W,Y,Z)}};return{...U,[K]:{...W,$property:K,$type:W.$type,$value:o(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 o($,X,Y){let Z=D($,{isIncludedOriginalValue:!0});if(typeof Z==="string"){if(S(Z)){if(Z=l$(Z,X,Y,$),!j(Y)&&k(Z,"mode",{isIncludedOriginalValue:!0}))Z.$value=g(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=BY($,Z,X,Y),u0($,Y)}var c$=P(()=>{T()});function D($,X){let{isIncludedOriginalValue:Y=!1,fallbackValue:Z=null}=X??{};if(Y)return $?.original?.$value??$?.$value??$.value??Z;return $?.$value??$?.value??Z}function g($,X){return X&&($?.$extensions?.mode?.[X]||typeof $?.$extensions?.mode?.[X]==="number")?$.$extensions.mode[X]:D($,{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 r$($,X,Y){let Z=D($,{isIncludedOriginalValue:!0});if(!j(Y)&&k($,"mode",{isIncludedOriginalValue:!0}))Z=g($,Y);if(S(Z))return s$(Z,X,Y,$);return Z}function e($,X,Y,Z){let q=X.reduce((U,K)=>{let W=i$(K,Y);if(!W)return U;let A=D(W,{isIncludedOriginalValue:!0});if(S(A))A=y(`{${K}}`,Y,Z,W);return{...U,[K]:N$(W,A,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=W$(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((A)=>A.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=W$(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 $$($){if(typeof $!=="string")return null;return[...$.matchAll(/\{([^}]+)\}/g)].map(([,Y])=>Y)??null}function Y$($){return $}function G$($){return $}var a$=P(()=>{T()});var L2={};d$(L2,{wrapThemeValue:()=>E0,wrapFormatCSSFile:()=>z2,typographyFileName:()=>o0,tokensFileName:()=>n0,removeDirectoryContents:()=>K0,readConfigFile:()=>q$,namespaceUUID:()=>Y2,iconsFileName:()=>e0,getTokenfileName:()=>X2,getRelativePath:()=>H2,getRelativeCSSPath:()=>E2,getRawTokensFileName:()=>W2,getProjectPaths:()=>m,getProjectModes:()=>z0,getProjectMetaData:()=>C,getProjectFonts:()=>xY,getLazyTokensConfig:()=>n$,getLazyProjectPaths:()=>A0,getLazyProjectModes:()=>z$,getLazyProjectMetaData:()=>L$,getLazyProjectFonts:()=>FY,getLazyProjectData:()=>c,getLazyIcons:()=>S$,getJSDocHeader:()=>K2,getIconDestinationFileName:()=>Z$,getFiles:()=>P$,getFileHeader:()=>G0,getDistThemeFileDelimeter:()=>Z2,getDistConfigFile:()=>x$,getDestinationFileName:()=>q2,getDefaultIconObjectPath:()=>$2,getCSSDestinationFileName:()=>U2,getBaseDirectory:()=>s,getBaseConfigFile:()=>E$,generatedFileHeader:()=>X$,filterTokensByType:()=>F$,createFileHeaderTitle:()=>A$,compileConfigFile:()=>W0,combineCSSFiles:()=>A2,checkAndCreateDirectory:()=>i,breakpointFileName:()=>t0});import{spawnSync as wY}from"child_process";import{existsSync as v,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 H$()).$metaData?.tokenNamespace||"tokens"}.icons`}async function W0($){let Y=N($,"designid.config.ts");if(v(N($,"designid.config.mjs")))k0(N($,"designid.config.mjs"));let Z=N($,"designid.config.js");if(v(Z))k0(Z);if(v(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(v($)){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 Z$($="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 A$($){return`/* ${G0($)} */`}function i($){if(!v($))IY($,{recursive:!0})}async function q$($,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||!v(U)))await W0($);if(Z=await import(U),Z.default)Z=Z.default}else{$=$??r0(Y)+"/";let q=x$($);if(q&&(X||!v(q)))await W0($);if(Z=await import(q),Z.default)Z=Z.default}return Z}async function s($=!1){let{baseDir:X}=await m(),Y=process.cwd(),q=N(Y,X),{buildDir:U,distDir:K}=await m();if($)try{i(N(q,U)),i(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=v(Z),K=v(q);if(U)return Z;else if(K)return q;throw console.error("Config file not found"),Error("Config file not found")}async function m($=!1){let X=E$(),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 $2();return{...X,icons:X.icons??{objectPath:Y},dsNamespace:X.dsNamespace}}async function z0(){return(await q$(process.cwd())).$modes??{default:"light"}}async function H$(){if(!o$){let $=E$();o$=await q$(process.cwd()),G2=$}return o$}async function z$(){if(!e$)e$=(await H$()).$modes??{default:"light"};return e$}async function L$(){if(!$0){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`;$0={...X,icons:X.icons??{objectPath:Z},dsNamespace:X.dsNamespace}}return $0}async function A0($=!1){if(!Y0){let Y=(await H$()).$paths;if(!Y)throw console.error("Project paths not found"),Error("Project paths not found");Y0={configFile:G2,...Y}}return Y0}async function c(){if(!X0){let{distDir:$,assets:X,buildDir:Y}=await A0(!0),{fontNamespace:Z,tokenNamespace:q,icons:U}=await L$(),K=await s(),W=process.cwd(),A=N(W,$,"css");X0={distDir:$,assets:X,fontNamespace:Z,__dirname:K,workspaceRoot:W,distCSSPath:A,buildDir:Y,tokenNamespace:q,icons:U}}return X0}async function S$(){if(!Z0){let{icons:$}=await L$();Z0=$}return Z0}async function n$(){if(!q0){let{tokens:$}=await L$();q0=$}return q0}async function xY(){return(await q$(process.cwd())).$fonts??[]}async function FY(){if(!U0)U0=(await H$()).$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 A=(await C())?.tokens?.css?.mediaQuery?.separateThemeFiles?"Theme: "+Y:U.headerTitle??"",G=`${A$(A)}
3
+ ${X$}`,E=j(Y)?`:root {
4
4
  `:`@media (123prefers-color-scheme: ${Y}) {
5
5
  :root {
6
6
  `,z=`${G}
7
7
 
8
- ${A}`;if(K.forEach((L)=>{if(N$(L,U,q))return;let E=F$(L,X,Y);if(U.transformValue)E=U.transformValue(E);E=K$(E),z+=`${!x(Y)?" ":" "}--${e(L.name)}: ${E};
9
- `}),Array.isArray(Z)&&Z.length>1){let L=`
10
- `;for(let E of Z){if(Y===E)continue;let B=await W0(E);L+=`${!x(Y)?" ":" "}&${B} {
11
- `,$(X,E).forEach((J)=>{if(N$(J,U,q))return;let Q=F$(J,X,E);if(U.transformValue)Q=U.transformValue(Q);Q=K$(Q),L+=`${!x(Y)?" ":" "}--${e(J.name)}: ${Q};
12
- `}),L+=`${!x(Y)?" ":" "}}
8
+ ${E}`;if(K.forEach((H)=>{if(F$(H,U,q))return;let _=j$(H,X,Y);if(U.transformValue)_=U.transformValue(_);_=G$(_),z+=`${!j(Y)?" ":" "}--${Y$(H.name)}: ${_};
9
+ `}),Array.isArray(Z)&&Z.length>1){let H=`
10
+ `;for(let _ of Z){if(Y===_)continue;let L=await E0(_);H+=`${!j(Y)?" ":" "}&${L} {
11
+ `,$(X,_).forEach((B)=>{if(F$(B,U,q))return;let w=j$(B,X,_);if(U.transformValue)w=U.transformValue(w);w=G$(w),H+=`${!j(Y)?" ":" "}--${Y$(B.name)}: ${w};
12
+ `}),H+=`${!j(Y)?" ":" "}}
13
13
 
14
- `}z+=L}return z+=!x(Y)?` }
14
+ `}z+=H}return z+=!j(Y)?` }
15
15
  `:`}
16
- `,z+=!x(Y)?`}
17
- `:"",z}function N$($,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 Z2(){let $=await q0(),{baseDir:X,distDir:Y}=await v(),Z=await x$(R(X,Y,"css")),q=R(X,Y,await o0()),U=$$+`
16
+ `,z+=!j(Y)?`}
17
+ `:"",z}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 m(),Z=await P$(N(X,Y,"css")),q=N(X,Y,await U2()),U=X$+`
18
18
 
19
- `,K=[{name:s0,order:100},{name:k0,order:200},{name:l0,order:300},{name:c0,order:400}];if(Z=Z.sort((W,H)=>{let G=(A)=>{let z=u0(A,".css"),L=K.find((E)=>z.includes(E.name));for(let E in $)if(z.includes(E)){let B=$[E]===$.default?1:2;return L?L.order+B:0}return L?L.order:0};return G(W)-G(H)}),Z.forEach((W)=>{if(W.endsWith(".css")){let G=`@import url("${q2(W,X,Y)}");`;U+=G+`
20
- `}}),!y(R(X,Y)))s(R(X,Y));LY(q,U)}function q2($,X,Y){let Z=d0(X,Y);return $.startsWith(Z)?$.slice(Z.length+1):$}function U2($,X,Y,Z){let q=h0($),U=u0(h0(X)),K=q.split(s$),W=K.lastIndexOf(U);if(U===".")return v0(Y,Z).split(s$).join("/");else if(W===-1)throw Error(`Base directory '${U}' not found in '${q}'`);let H=R(...K.slice(0,W+1)),G=R(H,Y),A=R(H,Z);return v0(G,A).split(s$).join("/")}var k0="tokens",c0="breakpoints",l0="typography",s0="icons",$$=`/*
19
+ `,K=[{name:e0,order:100},{name:n0,order:200},{name:o0,order:300},{name:t0,order:400}];if(Z=Z.sort((W,A)=>{let G=(E)=>{let z=a0(E,".css"),H=K.find((_)=>z.includes(_.name));for(let _ in $)if(z.includes(_)){let L=$[_]===$.default?1:2;return H?H.order+L:0}return H?H.order:0};return G(W)-G(A)}),Z.forEach((W)=>{if(W.endsWith(".css")){let G=`@import url("${E2(W,X,Y)}");`;U+=G+`
20
+ `}}),!v(N(X,Y)))i(N(X,Y));RY(q,U)}function E2($,X,Y){let Z=s0(X,Y);return $.startsWith(Z)?$.slice(Z.length+1):$}function H2($,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 A=N(...K.slice(0,W+1)),G=N(A,Y),E=N(A,Z);return l0(G,E).split(t$).join("/")}var n0="tokens",t0="breakpoints",o0="typography",e0="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
- */`,i$=null,Y2=null,r$=null,a$=null,n$=null,t$=null,o$=null,e$=null,$0=null;var E$=S(()=>{V()});function x($){return $===K0}var K0="light";var K2=S(()=>{E$()});async function G0($){let X=await j$();$=$.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,H=/id="[^"]*"/.test(q);if(!U.includes("xmlns="))U=U.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');if(!H&&W)U=U.replace("<svg",`<svg id="${W}"`);else if(H&&W)U=U.replace(/id="[^"]*"/,`id="${W}"`)}if(Z&&q&&U){let W=Z[1].split(" ").map(Number),H=W[2],G=W[3],A=X?.size??24,z=H/G*A;$=$.replace(/height="[\d.]+px?"/,`height="${A}px"`),$=$.replace(/width="[\d.]+px?"/,`width="${z}px"`);let L=/width="[\d.]+(px)?"/.test(q),E=/height="[\d.]+(px)?"/.test(q);if(!L)U=U.replace("<svg",`<svg width="${z}px"`);else U=U.replace(/width="[\d.]+(px)?"/,`width="${z}px"`);if(!E)U=U.replace("<svg",`<svg height="${A}px"`);else U=U.replace(/height="[\d.]+(px)?"/,`height="${A}px"`);$=$.replace(q,U)}if(!$?.match(/data-style="([^"]*)"/)&&X?.style?.type)$=$.replace("<svg ",`<svg data-style="${X.style.type}" `);return $}var G2=S(()=>{V()});var H2=S(()=>{E$();V()});import{copyFileSync as IY,existsSync as JY,mkdirSync as z2,statSync as RY}from"fs";import{writeFile as MY}from"fs/promises";import{join as C,relative as NY}from"path";async function H0($,X){try{let{assets:Y,workspaceRoot:Z,distDir:q,__dirname:U}=await k(),K=Y?.fonts?.sourceDir?C(U,Y.fonts.sourceDir):null,W=C("assets","fonts"),H=C(Z,q),G=Y?.fonts?.distDir?C(H,Y.fonts.distDir.replace(/^\.\//,"")):C(H,W);if(!$||!K)return;let A="",z=X&&Y?.fonts?.distDir?C(X,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let _ of $){if(!_)continue;if(A+=`/**** ${_.family} ${_.style} ****/
25
- `,_.linkHref){let Q=await(await fetch(_.linkHref)).text();A+=`${Q.replace(/\s+/g," ").replace(/:\s+/g,":")}
26
- `}else if(_?.src&&K){let J=_.directory??_.family.toLowerCase().replace(/\s+/g,"-"),Q=C(K,J,_.src);try{if(!JY(Q)||!RY(Q).isFile()){console.warn(`Font file not found: ${Q}`);continue}}catch{console.warn(`Error accessing font file: ${Q}`);continue}try{z2(C(z,J),{recursive:!0}),IY(C(K,J,_.src),C(z,J,_.src))}catch(w){console.warn(`Error copying font file ${_.src}:`,w instanceof Error?w.message:w);continue}let O;if(Y?.fonts?.cssImportPath)O=C(Y.fonts.cssImportPath,J,_.src).replace(/\\/g,"/");else{let{distCSSPath:w}=await k(),I=X?C(X,"css"):w,j=NY(I,z);O=C(j,J,_.src).replace(/\\/g,"/")}A+=`@font-face {
27
- font-family: "${_.family}";
28
- font-style: ${_.faceStyle};
29
- font-weight: ${_.weight};
30
- src: url("${O}") format("${_.format}");
24
+ */`,o$=null,G2=null,e$=null,$0=null,Y0=null,X0=null,Z0=null,q0=null,U0=null;var _$=P(()=>{T()});function j($){return $===H0}var H0="light";var _2=P(()=>{_$()});async function L0($){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,A=/id="[^"]*"/.test(q);if(!U.includes("xmlns="))U=U.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"');if(!A&&W)U=U.replace("<svg",`<svg id="${W}"`);else if(A&&W)U=U.replace(/id="[^"]*"/,`id="${W}"`)}if(Z&&q&&U){let W=Z[1].split(" ").map(Number),A=W[2],G=W[3],E=X?.size??24,z=A/G*E;$=$.replace(/height="[\d.]+px?"/,`height="${E}px"`),$=$.replace(/width="[\d.]+px?"/,`width="${z}px"`);let H=/width="[\d.]+(px)?"/.test(q),_=/height="[\d.]+(px)?"/.test(q);if(!H)U=U.replace("<svg",`<svg width="${z}px"`);else U=U.replace(/width="[\d.]+(px)?"/,`width="${z}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(()=>{T()});var O2=P(()=>{_$();T()});import{copyFileSync as SY,existsSync as DY,mkdirSync as B2,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 c(),K=Y?.fonts?.sourceDir?V(U,Y.fonts.sourceDir):null,W=V("assets","fonts"),A=V(Z,q),G=Y?.fonts?.distDir?V(A,Y.fonts.distDir.replace(/^\.\//,"")):V(A,W);if(!$||!K)return;let E="",z=X&&Y?.fonts?.distDir?V(X,Y.fonts.distDir.replace(/^\.\//,"")):G;for(let Q of $){if(!Q)continue;if(E+=`/**** ${Q.family} ${Q.style} ****/
25
+ `,Q.linkHref){let w=await(await fetch(Q.linkHref)).text();E+=`${w.replace(/\s+/g," ").replace(/:\s+/g,":")}
26
+ `}else if(Q?.src&&K){let B=Q.directory??Q.family.toLowerCase().replace(/\s+/g,"-"),w=V(K,B,Q.src);try{if(!DY(w)||!bY(w).isFile()){console.warn(`Font file not found: ${w}`);continue}}catch{console.warn(`Error accessing font file: ${w}`);continue}try{B2(V(z,B),{recursive:!0}),SY(V(K,B,Q.src),V(z,B,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,B,Q.src).replace(/\\/g,"/");else{let{distCSSPath:I}=await c(),J=X?V(X,"css"):I,R=VY(J,z);O=V(R,B,Q.src).replace(/\\/g,"/")}E+=`@font-face {
27
+ font-family: "${Q.family}";
28
+ font-style: ${Q.faceStyle};
29
+ font-weight: ${Q.weight};
30
+ src: url("${O}") format("${Q.format}");
31
31
  }
32
- `}}let{distCSSPath:L}=await k(),E=X?C(X,"css"):L,B=`${E}/fonts.css`;z2(E,{recursive:!0}),await MY(B,A,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var z0=S(()=>{V()});function B$($){if(typeof $!=="string"||!$.startsWith("{")||!$.endsWith("}"))return!1;let X=$.slice(1,-1);return!X.includes("{")&&!X.includes("}")&&X.trim()!==""}function _$($){if(typeof $!=="string")return!1;let X=/\{[^}]+\}/g,Y=$.match(X);return!!(Y&&Y.length>0&&$.length>Y.join("").length)}function S$($){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 A2($){return!!$.$extensions?.$mode}function L2($){return!!($.$extensions?.$generators&&Array.isArray($.$extensions.$generators))}function E2($){return!!($.$extensions?.$breakpoints&&typeof $.$extensions.$breakpoints==="object")}function B2($,X){return`${$}${X}`}function _2($){return typeof $==="object"&&$!==null&&"$value"in $}function Q2($){return typeof $==="object"&&$!==null&&!("$value"in $)}var w2=()=>{};function O2($){if(typeof $!=="string")return!1;let X=$.trim();return X.startsWith("<svg")&&X.includes("</svg>")}function I2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/png;base64,")||$.startsWith("iVBORw0KGgo")}function J2($){if(typeof $!=="string")return!1;return $.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,")||$.startsWith("/9j/")}function xY($){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 jY($){if($.startsWith("data:image/png;base64,"))return $;return`data:image/png;base64,${$}`}function SY($){if($.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,"))return $;return`data:image/jpeg;base64,${$}`}function Q$($){if(!$||typeof $!=="string")return $;if($.startsWith("data:"))return $;if(O2($))return xY($);else if(I2($))return jY($);else if(J2($))return SY($);return $}function DY($){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 O2($)||I2($)||J2($)||DY($)}import{readFileSync as PY,readdirSync as bY,statSync as CY}from"fs";import{join as VY}from"path";import M2 from"colorjs.io";function L0($){let X={};function Y(Z){let q=bY(Z);for(let U of q){let K=VY(Z,U);if(CY(K).isDirectory())Y(K);else if(U.endsWith(".tokens.json"))try{let H=PY(K,"utf-8");if(!H.trim())continue;let G=JSON.parse(H);N2(X,G)}catch(H){console.warn(`Failed to load token file: ${K}`,H)}}}return Y($),X}function N2($,X){for(let Y in X)if(X[Y]&&typeof X[Y]==="object"&&!Array.isArray(X[Y])){if(!$[Y])$[Y]={};N2($[Y],X[Y])}else $[Y]=X[Y]}function E0($,X={}){let Y=[];function Z(q,U=[]){for(let[K,W]of Object.entries(q)){if(K.startsWith("$"))continue;let H=[...U,K],G=H.join(".");if(_2(W)){let A={path:H,name:G,type:W.$type,value:W.$value,description:W.$description,extensions:W.$extensions?{mode:A2(W)?W.$extensions.$mode:W.$extensions.mode?W.$extensions.mode:void 0,generators:L2(W)?W.$extensions.$generators:W.$extensions.generators?W.$extensions.generators:void 0,breakpoints:E2(W)?W.$extensions.$breakpoints:W.$extensions.breakpoint?W.$extensions.breakpoint:void 0,...Object.fromEntries(Object.entries(W.$extensions).filter(([z])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(z)))}:void 0,original:W};if(!X.namespace||G.startsWith(X.namespace))Y.push(A)}else if(Q2(W))Z(W,H)}}return Z($),Y}function B0($,X={}){let Y=[...$],Z=new Map($.map((G)=>[G.name,G]));if(X.generateModes||X.generateDerivedTokens||X.generateBreakpointTokens)for(let G of $){let A=R2(G,X,Z);if(Y.push(...A),X.generateModes){for(let z of A)if(z.extensions?.mode&&!z.name.includes("#")){let L=R2(z,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 A=void 0;for(let E of q)if(G.name.endsWith(`#${E}`)){A=E;break}if(!A&&X.generateModes)A=U;let z={...K,mode:A},L=gY(G,z);W.push(L)}if(X.failOnBrokenReferences!==!1&&K.brokenReferences.length>0){let G=[...new Set(K.brokenReferences)],A=`Token reference${G.length>1?"s":""} not found:
32
+ `}}let{distCSSPath:H}=await c(),_=X?V(X,"css"):H,L=`${_}/fonts.css`;B2(_,{recursive:!0}),await CY(L,E,{flag:"w",encoding:"utf-8"})}catch(Y){console.error("Error appending typography tokens:",Y)}}var Q0=P(()=>{T()});function Q$($){if(typeof $!=="string"||!$.startsWith("{")||!$.endsWith("}"))return!1;let X=$.slice(1,-1);return!X.includes("{")&&!X.includes("}")&&X.trim()!==""}function O$($){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 vY($){if($.startsWith("data:image/jpeg;base64,")||$.startsWith("data:image/jpg;base64,"))return $;return`data:image/jpeg;base64,${$}`}function B$($){if(!$||typeof $!=="string")return $;if($.startsWith("data:"))return $;if(F2($))return gY($);else if(j2($))return yY($);else if(P2($))return vY($);return $}function hY($){if(typeof $!=="string")return!1;return $.startsWith("data:image/svg+xml;")||$.startsWith("data:image/png;")||$.startsWith("data:image/jpeg;")||$.startsWith("data:image/jpg;")||$.startsWith("data:image/gif;")||$.startsWith("data:image/webp;")}function d($){return F2($)||j2($)||P2($)||hY($)}import{readFileSync as fY,readdirSync as pY,statSync as mY}from"fs";import{join as dY}from"path";import D2 from"colorjs.io";function B0($){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 A=fY(K,"utf-8");if(!A.trim())continue;let G=JSON.parse(A);b2(X,G)}catch(A){console.warn(`Failed to load token file: ${K}`,A)}}}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 A=[...U,K],G=A.join(".");if(M2(W)){let E={path:A,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(([z])=>!["$mode","$generators","$breakpoints","mode","generators","breakpoint"].includes(z)))}:void 0,original:W};if(!X.namespace||G.startsWith(X.namespace))Y.push(E)}else if(N2(W))Z(W,A)}}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 z of E)if(z.extensions?.mode&&!z.name.includes("#")){let H=S2(z,X,Z);Y.push(...H)}}}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 z={...K,mode:E},H=uY(G,z);W.push(H)}if(X.failOnBrokenReferences!==!1&&K.brokenReferences.length>0){let G=[...new Set(K.brokenReferences)],E=`Token reference${G.length>1?"s":""} not found:
33
33
  ${G.map((z)=>` - ${z}`).join(`
34
- `)}`;throw Error(A)}return W}function R2($,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((H)=>{if(typeof H==="object"&&H!==null)return K(H);return!1})};if(Array.isArray($.value))q=$.value.some((W)=>typeof W==="string"&&W.includes("{")||typeof W==="object"&&W!==null&&Object.values(W).some((H)=>typeof H==="string"&&H.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((A)=>{if(typeof A==="string"&&A.startsWith("{")&&A.endsWith("}")){let z=A.slice(1,-1);if(!z.includes("#dark")&&!z.includes("@dark"))return`{${z}#dark}`;return A}else if(typeof A==="object"&&A!==null){let z={};for(let[L,E]of Object.entries(A))if(typeof E==="string"&&E.startsWith("{")&&E.endsWith("}")){let B=E.slice(1,-1),_=`${B}#dark`,J=Y?.get(B),Q=Y?.has(_)||J?.extensions?.mode?.dark!==void 0||J&&(Array.isArray(J.value)||typeof J.value==="object"&&J.value!==null);if(!B.includes("#dark")&&!B.includes("@dark")&&Q)z[L]=`{${_}}`;else z[L]=E}else z[L]=E;return z}return A});else if(typeof $.value==="object"&&$.value!==null){G={};let A=(z)=>{if(typeof z==="string"){if(z.startsWith("{")&&z.endsWith("}")){let L=z.slice(1,-1),E=`${L}#dark`,B=(J,Q=new Set)=>{if(Q.has(J))return!1;Q.add(J);let O=Y?.get(J);if(!O){let w=J.match(/^(.+)@([^@]+)$/);if(w){let[,I,j]=w,l=Y?.get(I);if(l){if(l.extensions?.mode?.dark!==void 0)return!0;if(l.extensions?.generators)return!0;return B(I,Q)}}return!1}if(O.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${J}#dark`))return!0;if(typeof O.value==="string"&&O.value.startsWith("{")&&O.value.endsWith("}")){let w=O.value.slice(1,-1);return B(w,Q)}if(Array.isArray(O.value)||typeof O.value==="object"&&O.value!==null){let w=(I)=>{if(typeof I!=="object"||I===null)return!1;if(I.$extensions?.mode)return!0;return Object.values(I).some((j)=>{if(typeof j==="object"&&j!==null)return w(j);return!1})};if(Array.isArray(O.value))return O.value.some((I)=>typeof I==="string"&&I.includes("{")&&B(I.slice(1,-1),new Set(Q))||typeof I==="object"&&I!==null&&(Object.values(I).some((j)=>typeof j==="string"&&j.includes("{")&&B(j.slice(1,-1),new Set(Q)))||w(I)));else if(typeof O.value==="object")return Object.values(O.value).some((I)=>typeof I==="string"&&I.includes("{")&&B(I.slice(1,-1),new Set(Q)))||w(O.value)}return!1},_=B(L);if(!L.includes("#dark")&&!L.includes("@dark")&&_)return`{${E}}`}return z}if(typeof z==="object"&&z!==null){if(z.$extensions?.mode?.dark)return z.$extensions.mode.dark;let L={};for(let[E,B]of Object.entries(z))L[E]=A(B);return L}return z};for(let[z,L]of Object.entries($.value))G[z]=A(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=(A,z=new Set)=>{if(z.has(A))return!1;z.add(A);let L=Y?.get(A);if(!L){let E=A.match(/^(.+)@([^@]+)$/);if(E){let[,B,_]=E,J=Y?.get(B);if(J){if(J.extensions?.mode?.dark!==void 0)return!0;if(J.extensions?.generators)return!0;return U(B,z)}}return!1}if(L.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${A}#dark`))return!0;if(typeof L.value==="string"&&L.value.startsWith("{")&&L.value.endsWith("}")){let E=L.value.slice(1,-1);return U(E,z)}if(Array.isArray(L.value)||typeof L.value==="object"&&L.value!==null){let E=(B)=>{if(typeof B!=="object"||B===null)return!1;if(B.$extensions?.mode)return!0;return Object.values(B).some((_)=>{if(typeof _==="object"&&_!==null)return E(_);return!1})};if(Array.isArray(L.value))return L.value.some((B)=>typeof B==="string"&&B.includes("{")&&U(B.slice(1,-1),new Set(z))||typeof B==="object"&&B!==null&&(Object.values(B).some((_)=>typeof _==="string"&&_.includes("{")&&U(_.slice(1,-1),new Set(z)))||E(B)));else if(typeof L.value==="object")return Object.values(L.value).some((B)=>typeof B==="string"&&B.includes("{")&&U(B.slice(1,-1),new Set(z)))||E(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 A=`{${q}#dark}`;Z.push({...$,name:`${$.name}#dark`,value:A,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=B2($.name,U),{generators:H,...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{...A}=U;if(Object.keys(A).length>0)W=A}let H=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,...H?{mode:H.mode||H.$mode,generators:H.generators||H.$generators,...Object.fromEntries(Object.entries(H).filter(([A])=>!["mode","$mode","generators","$generators"].includes(A)))}:{}}})}return Z}function gY($,X){let Y=r($.value,X),Z=$.type;if(typeof $.value==="string"&&B$($.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"&&_$(K.value)){let W=S$(K.value),H=new Set;for(let G of W)if(G.type==="reference"&&G.ref&&typeof G.ref==="string"){let A=G.ref.slice(1,-1),z=X.tokens.get(A);if(z&&["border","shadow","typography","composition"].includes(z.type))H.add(z.type)}if(H.size===1)Z=Array.from(H)[0]}}}if(typeof $.value==="string"&&_$($.value)){let U=S$($.value),K=new Set;for(let W of U)if(W.type==="reference"&&W.ref&&typeof W.ref==="string"){let H=W.ref.slice(1,-1),G=X.tokens.get(H);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=D$($.value,$.extensions.generator.type,$.extensions.generator.value,X);let q=TY($.name,X.options);if(Z==="color"&&typeof Y==="string"&&h(Y))Y=F(Y,$);if(typeof Y==="string"&&p(Y))Y=Q$(Y);return{...$,type:Z,value:Y,cssVar:q}}function c($,X){if(typeof $==="string"){if(B$($))return _0($,X);else if(_$($))return x2($,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 r($,X){if(typeof $==="string"){if(_$($))return x2($,X);else if(B$($))return _0($,X)}else if(typeof $==="object"&&$!==null&&"$ref"in $)return F2($,X);return $}function _0($,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 H=Y.slice(0,-W.length-1)+`#${W}`;if(Z=X.tokens.get(H),Z)return A0(Z,X);break}}let K=Y.match(/#([^#@]+)$/);if(K){let W=Y.substring(0,K.index),H=K[1];if(Z=X.tokens.get(W),Z){if(Z.extensions?.mode?.[H]){let G=Z.extensions.mode[H],A=r(G,{...X,mode:H});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)A=D$(A,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof A==="string"&&h(A))A=F(A,Z);if(typeof A==="string"&&p(A))A=Q$(A);return A}}}if(q.length>0)for(let W of q){let H=new RegExp(`(@[^@]+)@${W}$`);if(H.test(Y)){let G=Y.replace(H,`$1#${W}`);if(Z=X.tokens.get(G),!Z){let A=G.match(/#([^#@]+)$/);if(A){let z=G.substring(0,A.index),L=A[1];if(Z=X.tokens.get(z),Z&&Z.extensions?.mode?.[L]){let E=Z.extensions.mode[L],B=r(E,{...X,mode:L});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)B=D$(B,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof B==="string"&&h(B))B=F(B,Z);if(typeof B==="string"&&p(B))B=Q$(B);return B}}}else return A0(Z,X);break}}}if(!Z)return console.warn(`Token reference not found: ${$}`),X.brokenReferences.push($),$;return A0(Z,X)}function A0($,X){let Y;if($.extensions?.generator&&typeof $.extensions.generator==="object"&&"type"in $.extensions.generator&&"value"in $.extensions.generator)Y=D$($.value,$.extensions.generator.type,$.extensions.generator.value,X);else if(X.mode&&$.extensions?.mode?.[X.mode])Y=r($.extensions.mode[X.mode],X);else Y=r($.value,X);if($.type==="color"&&typeof Y==="string"&&h(Y))Y=F(Y,$);if(typeof Y==="string"&&p(Y))Y=Q$(Y);return Y}function F2($,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 r(q.value,X)}function x2($,X){let Y=S$($),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"&&B$(K.ref)){W=_0(K.ref,X);let H=K.ref.slice(1,-1),G=X.tokens.get(H);if(!G||!["border","shadow","typography","composition"].includes(G.type))q=!1}else if(typeof K.ref==="object"&&"$ref"in K.ref)W=F2(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 D$($,X,Y,Z){let q=r($,Z);switch(X){case"alpha":if(typeof q==="string")return yY(q,Number(Y)/100);break;case"scale":if(typeof q==="string"&&q.match(/[\d.]+/))return fY(q,Number(Y));break;case"hue":if(typeof q==="string")return hY(q,Number(Y));break;default:return console.warn(`Unknown generator type: ${X}`),q}return q}function TY($,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,H=Y?`-${Y}`:"";return`--${W}${H}`.replace(/[^a-zA-Z0-9-_]/g,"-")}function yY($,X){try{if(!h($))return $;let Y=new M2($);return Y.alpha=X,F(Y)}catch(Y){return console.warn(`Failed to apply alpha to color "${$}": ${Y}`),$}}function fY($,X){let Y=$.match(/([\d.]+)(\w+)/);if(Y){let[,Z,q]=Y;return`${parseFloat(Z)*X}${q}`}return $}function hY($,X){try{if(!h($))return $;let Z=new M2($).to("oklch");return Z.h=(Z.h+X)%360,F(Z)}catch(Y){return console.warn(`Failed to shift hue for color "${$}": ${Y}`),$}}var Q0=S(()=>{w2();W$()});function w0($){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 P$($,X={}){let{rootSelector:Y=":root",separateThemeFiles:Z=!1,generateMediaQueries:q=!1,customHeader:U,modes:K=["light","dark"]}=X;if(Z)return pY($,X);let W=new Map,H=new Map;for(let Q of K)W.set(Q,[]);let G=K.join("|"),A=new RegExp(`#(${G})$`);for(let Q of $){if(typeof Q.value==="string"&&p(Q.value))continue;if(w0(Q))continue;let O=` ${Q.cssVar}: ${f(Q.value,Q.type)};`;if(q&&Q.name.includes("@media")){let I=C$(Q);if(I){if(!H.has(I))H.set(I,[]);H.get(I).push(O);continue}}let w=Q.name.match(A);if(w){let I=w[1];if(!W.has(I))W.set(I,[]);W.get(I).push(O)}else{let I=K[0]||"light";W.get(I).push(O)}}let z="";if(U)z+=`${U}
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((A)=>{if(typeof A==="object"&&A!==null)return K(A);return!1})};if(Array.isArray($.value))q=$.value.some((W)=>typeof W==="string"&&W.includes("{")||typeof W==="object"&&W!==null&&Object.values(W).some((A)=>typeof A==="string"&&A.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 z=E.slice(1,-1);if(!z.includes("#dark")&&!z.includes("@dark"))return`{${z}#dark}`;return E}else if(typeof E==="object"&&E!==null){let z={};for(let[H,_]of Object.entries(E))if(typeof _==="string"&&_.startsWith("{")&&_.endsWith("}")){let L=_.slice(1,-1),Q=`${L}#dark`,B=Y?.get(L),w=Y?.has(Q)||B?.extensions?.mode?.dark!==void 0||B&&(Array.isArray(B.value)||typeof B.value==="object"&&B.value!==null);if(!L.includes("#dark")&&!L.includes("@dark")&&w)z[H]=`{${Q}}`;else z[H]=_}else z[H]=_;return z}return E});else if(typeof $.value==="object"&&$.value!==null){G={};let E=(z)=>{if(typeof z==="string"){if(z.startsWith("{")&&z.endsWith("}")){let H=z.slice(1,-1),_=`${H}#dark`,L=(B,w=new Set)=>{if(w.has(B))return!1;w.add(B);let O=Y?.get(B);if(!O){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 L(J,w)}}return!1}if(O.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${B}#dark`))return!0;if(typeof O.value==="string"&&O.value.startsWith("{")&&O.value.endsWith("}")){let I=O.value.slice(1,-1);return L(I,w)}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("{")&&L(J.slice(1,-1),new Set(w))||typeof J==="object"&&J!==null&&(Object.values(J).some((R)=>typeof R==="string"&&R.includes("{")&&L(R.slice(1,-1),new Set(w)))||I(J)));else if(typeof O.value==="object")return Object.values(O.value).some((J)=>typeof J==="string"&&J.includes("{")&&L(J.slice(1,-1),new Set(w)))||I(O.value)}return!1},Q=L(H);if(!H.includes("#dark")&&!H.includes("@dark")&&Q)return`{${_}}`}return z}if(typeof z==="object"&&z!==null){if(z.$extensions?.mode?.dark)return z.$extensions.mode.dark;let H={};for(let[_,L]of Object.entries(z))H[_]=E(L);return H}return z};for(let[z,H]of Object.entries($.value))G[z]=E(H)}Z.push({...$,name:`${$.name}#dark`,value:G,path:[...$.path,"#dark"],extensions:{...$.extensions,autoGenerated:!0}})}}}if(X.generateModes&&!$.extensions?.mode&&typeof $.value==="string"&&$.value.startsWith("{")&&$.value.endsWith("}")){let q=$.value.slice(1,-1),U=(E,z=new Set)=>{if(z.has(E))return!1;z.add(E);let H=Y?.get(E);if(!H){let _=E.match(/^(.+)@([^@]+)$/);if(_){let[,L,Q]=_,B=Y?.get(L);if(B){if(B.extensions?.mode?.dark!==void 0)return!0;if(B.extensions?.generators)return!0;return U(L,z)}}return!1}if(H.extensions?.mode?.dark!==void 0)return!0;if(Y?.has(`${E}#dark`))return!0;if(typeof H.value==="string"&&H.value.startsWith("{")&&H.value.endsWith("}")){let _=H.value.slice(1,-1);return U(_,z)}if(Array.isArray(H.value)||typeof H.value==="object"&&H.value!==null){let _=(L)=>{if(typeof L!=="object"||L===null)return!1;if(L.$extensions?.mode)return!0;return Object.values(L).some((Q)=>{if(typeof Q==="object"&&Q!==null)return _(Q);return!1})};if(Array.isArray(H.value))return H.value.some((L)=>typeof L==="string"&&L.includes("{")&&U(L.slice(1,-1),new Set(z))||typeof L==="object"&&L!==null&&(Object.values(L).some((Q)=>typeof Q==="string"&&Q.includes("{")&&U(Q.slice(1,-1),new Set(z)))||_(L)));else if(typeof H.value==="object")return Object.values(H.value).some((L)=>typeof L==="string"&&L.includes("{")&&U(L.slice(1,-1),new Set(z)))||_(H.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:A,...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 A=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,...A?{mode:A.mode||A.$mode,generators:A.generators||A.$generators,...Object.fromEntries(Object.entries(A).filter(([E])=>!["mode","$mode","generators","$generators"].includes(E)))}:{}}})}return Z}function uY($,X){let Y=a($.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"&&O$(K.value)){let W=D$(K.value),A=new Set;for(let G of W)if(G.type==="reference"&&G.ref&&typeof G.ref==="string"){let E=G.ref.slice(1,-1),z=X.tokens.get(E);if(z&&["border","shadow","typography","composition"].includes(z.type))A.add(z.type)}if(A.size===1)Z=Array.from(A)[0]}}}if(typeof $.value==="string"&&O$($.value)){let U=D$($.value),K=new Set;for(let W of U)if(W.type==="reference"&&W.ref&&typeof W.ref==="string"){let A=W.ref.slice(1,-1),G=X.tokens.get(A);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=l(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"&&d(Y))Y=B$(Y);return{...$,type:Z,value:Y,cssVar:q}}function l($,X){if(typeof $==="string"){if(Q$($))return J0($,X);else if(O$($))return V2($,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((K)=>l(K,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(O$($))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 A=Y.slice(0,-W.length-1)+`#${W}`;if(Z=X.tokens.get(A),Z)return O0(Z,X);break}}let K=Y.match(/#([^#@]+)$/);if(K){let W=Y.substring(0,K.index),A=K[1];if(Z=X.tokens.get(W),Z){if(Z.extensions?.mode?.[A]){let G=Z.extensions.mode[A],E=a(G,{...X,mode:A});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"&&d(E))E=B$(E);return E}}}if(q.length>0)for(let W of q){let A=new RegExp(`(@[^@]+)@${W}$`);if(A.test(Y)){let G=Y.replace(A,`$1#${W}`);if(Z=X.tokens.get(G),!Z){let E=G.match(/#([^#@]+)$/);if(E){let z=G.substring(0,E.index),H=E[1];if(Z=X.tokens.get(z),Z&&Z.extensions?.mode?.[H]){let _=Z.extensions.mode[H],L=a(_,{...X,mode:H});if(Z.extensions?.generator&&typeof Z.extensions.generator==="object"&&"type"in Z.extensions.generator&&"value"in Z.extensions.generator)L=b$(L,Z.extensions.generator.type,Z.extensions.generator.value,X);if(Z.type==="color"&&typeof L==="string"&&p(L))L=F(L,Z);if(typeof L==="string"&&d(L))L=B$(L);return L}}}else return O0(Z,X);break}}}if(!Z)return console.warn(`Token reference not found: ${$}`),X.brokenReferences.push($),$;return O0(Z,X)}function O0($,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=a($.extensions.mode[X.mode],X);else Y=a($.value,X);if($.type==="color"&&typeof Y==="string"&&p(Y))Y=F(Y,$);if(typeof Y==="string"&&d(Y))Y=B$(Y);return Y}function 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 a(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 A=K.ref.slice(1,-1),G=X.tokens.get(A);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=a($,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,A=Y?`-${Y}`:"";return`--${W}${A}`.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();K$()});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 n($,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,A=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"&&d(O.value))continue;if(M0(O))continue;let I=` ${O.cssVar}: ${h(O.value,O.type)};`;if(q&&O.name.includes("@media")){let R=T$(O);if(R){if(!A.has(R))A.set(R,[]);A.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 z="";if(U)z+=`${U}
35
35
 
36
- `;let L=K[0]||"light",E=W.get(L)||[];if(E.length>0){E.sort(),z+=`${Y} {
37
- ${E.join(`
36
+ `;let H=X.defaultMode||K[0]||"light",_=X.isHost||!1,L=W.get(H)||[];if(L.length>0){L.sort();let O=n(H,H,_);z+=`${O} {
37
+ ${L.join(`
38
38
  `)}
39
- `;for(let Q of K){if(Q===L)continue;let O=W.get(Q)||[];if(O.length>0){O.sort();let w=X.themeSelector||"[data-theme]",I;if(w.startsWith("."))if(w===".")I=`.${Q}`;else I=`${w}-${Q}`;else if(w.startsWith("[")&&w.endsWith("]"))if(w.includes("="))I=w.replace(/="[^"]*"/,`="${Q}"`);else I=w.replace("]",`="${Q}"]`);else I=`${w}-${Q}`;z+=`
40
- &${I} {
41
- ${O.map((j)=>` ${j}`).join(`
39
+ `;for(let I of K){if(I===H)continue;let J=W.get(I)||[];if(J.length>0){J.sort();let R=n(I,H,_);if(_)z+=`}
40
+
41
+ ${R} {
42
+ ${J.join(`
43
+ `)}
44
+ `;else{let f=R.replace("[data-theme=","&[data-theme=");z+=`
45
+ ${f} {
46
+ ${J.map((p$)=>` ${p$}`).join(`
42
47
  `)}
43
48
  }
44
- `}}z+=`}
45
- `}if(q&&H.size>0)for(let[Q,O]of H)O.sort(),z+=`
46
- ${Q} {
47
- ${Y} {
48
- ${O.map((w)=>` ${w}`).join(`
49
+ `}}}z+=`}
50
+ `}if(q&&A.size>0){let O=n(H,H,_);for(let[I,J]of A)J.sort(),z+=`
51
+ ${I} {
52
+ ${O} {
53
+ ${J.map((R)=>` ${R}`).join(`
49
54
  `)}
50
55
  }
51
56
  }
52
- `;let B=[{fileName:"tokens.css",content:z}],_=D2($,X);B.push(..._);let J=b2($,X);return B.push(...J),B}function vY($,X){let Y=[];for(let q of $){let K=` ${q.cssVar||b$(q,X)}: ${f(q.value,q.type)};`;Y.push(K)}let Z="";if(X.customHeader)Z+=`${X.customHeader}
57
+ `}let Q=[{fileName:"tokens.css",content:z}],B=v2($,X);Q.push(...B);let w=h2($,X);return Q.push(...w),Q}function iY($,X){let Y=[];for(let q of $){let K=` ${q.cssVar||V$(q,X)}: ${h(q.value,q.type)};`;Y.push(K)}let Z="";if(X.customHeader)Z+=`${X.customHeader}
53
58
 
54
59
  `;if(Y.length>0)Y.sort(),Z+=`${X.rootSelector||":root"} {
55
60
  ${Y.join(`
56
61
  `)}
57
62
  }
58
- `;return{fileName:"theme.css",content:Z}}function pY($,X){let Y=[],Z=new Map,q=[],U=X.modes||["light","dark"],K=new Set(U),W=U.join("|"),H=new RegExp(`#(${W})$`);for(let E of $){if(C$(E))continue;if(typeof E.value==="string"&&p(E.value))continue;if(w0(E))continue;let B=E.name.match(H);if(B){let _=B[1];if(K.has(_)){if(!Z.has(_))Z.set(_,[]);Z.get(_).push(E)}else q.push(E)}else q.push(E)}if(q.length>0){let E=P$(q,{...X,separateThemeFiles:!1})[0];Y.push({...E,fileName:"tokens.css"})}let G=U.length>0?U[0]:"default";for(let[E,B]of Z){let _=E===G?":root":`[data-theme="${E}"]`,J=vY(B,{...X,separateThemeFiles:!1,rootSelector:_});Y.push({...J,fileName:`tokens.${E}.css`,theme:E})}let A=mY($,X);Y.push(...A);let z=D2($,X);Y.push(...z);let L=b2($,X);return Y.push(...L),Y}function mY($,X){let Y=new Map;for(let U of $){let K=C$(U);if(K){let W=U.name.match(/@(dark|light)$/),H=W?W[1]:"light";if(!Y.has(K))Y.set(K,new Map);let G=Y.get(K);if(!G.has(H))G.set(H,[]);G.get(H).push(U)}}if(Y.size===0)return[];let Z=`/**
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("|"),A=new RegExp(`#(${W})$`);for(let L of $){if(T$(L))continue;if(typeof L.value==="string"&&d(L.value))continue;if(M0(L))continue;let Q=L.name.match(A);if(Q){let B=Q[1];if(K.has(B)){if(!Z.has(B))Z.set(B,[]);Z.get(B).push(L)}else q.push(L)}else q.push(L)}if(q.length>0){let L=C$(q,{...X,separateThemeFiles:!1})[0];Y.push({...L,fileName:"tokens.css"})}let G=X.defaultMode||(U.length>0?U[0]:"default"),E=X.isHost||!1;for(let[L,Q]of Z){let B=n(L,G,E),w=iY(Q,{...X,separateThemeFiles:!1,rootSelector:B});Y.push({...w,fileName:`tokens.${L}.css`,theme:L})}let z=aY($,X);Y.push(...z);let H=v2($,X);Y.push(...H);let _=h2($,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)$/),A=W?W[1]:"light";if(!Y.has(K))Y.set(K,new Map);let G=Y.get(K);if(!G.has(A))G.set(A,[]);G.get(A).push(U)}}if(Y.size===0)return[];let Z=`/**
59
64
  * Design System Tokens - Responsive Breakpoints
60
65
  * Generated: ${new Date().toISOString()}
61
66
  *
@@ -63,14 +68,14 @@ ${Y.join(`
63
68
  * Each media query section overrides tokens for specific screen sizes.
64
69
  */
65
70
 
66
- `,q=Array.from(Y.keys()).sort();for(let U of q){let K=Y.get(U);for(let[W,H]of K){let G=[];for(let A of H){let L=` ${A.cssVar||b$(A,X)}: ${f(A.value,A.type)};`;G.push(L)}if(G.length>0)G.sort(),Z+=`${U} {
67
- [data-theme="${W}"] {
68
- ${G.join(`
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"),A=X.isHost||!1;for(let[G,E]of K){let z=[];for(let H of E){let L=` ${H.cssVar||V$(H,X)}: ${h(H.value,H.type)};`;z.push(L)}if(z.length>0){z.sort();let H=n(G,W,A);Z+=`${U} {
72
+ ${H} {
73
+ ${z.join(`
69
74
  `)}
70
75
  }
71
76
  }
72
77
 
73
- `}}return[{fileName:"tokens.breakpoints.css",content:Z.trim()}]}function D2($,X){let Y=new Map;for(let q of $)if(typeof q.value==="string"&&p(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=j2(U,q,X);Z.push({fileName:"tokens.icons.css",content:K})}else for(let[q,U]of Y){let K=j2(U,q,X);Z.push({fileName:`tokens.icons.${q}.css`,content:K})}return Z}function j2($,X,Y){let Z=`/**
78
+ `}}}return[{fileName:"tokens.breakpoints.css",content:Z.trim()}]}function v2($,X){let Y=new Map;for(let q of $)if(typeof q.value==="string"&&d(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=`/**
74
79
  * Design System Tokens - Icons (${X})
75
80
  * Generated: ${new Date().toISOString()}
76
81
  *
@@ -78,11 +83,11 @@ ${G.join(`
78
83
  * Icons are provided as data URIs for direct embedding.
79
84
  */
80
85
 
81
- `,q=[];for(let U of $){let W=` ${U.cssVar||b$(U,Y)}: ${f(U.value,U.type)};`;q.push(W)}if(q.length>0){q.sort();let U=X==="light"?":root":`[data-theme="${X}"]`;Z+=`${U} {
86
+ `,q=[];for(let U of $){let W=` ${U.cssVar||V$(U,Y)}: ${h(U.value,U.type)};`;q.push(W)}if(q.length>0){q.sort();let U=Y.defaultMode||"light",K=Y.isHost||!1,W=n(X,U,K);Z+=`${W} {
82
87
  ${q.join(`
83
88
  `)}
84
89
  }
85
- `}return Z}function b$($,X){let Z=$.name.split("@")[0].replace(/\.$/,"").replace(/\.+/g,"."),q=P2(Z,X.hooks);return`--${X.prefix||w$}-${q.replace(/\./g,"-")}`}function P2($,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 b2($,X){let Y=new Map,Z=X.modes||[];for(let U of $)if(w0(U)){if(C$(U))continue;let W=Z.length>0?Z[0]:"default";if(U.name.includes("#")){let H=U.name.split("#"),G=H[H.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=dY(K,U,X,Z);q.push({fileName:`tokens.typography.${U}.css`,content:W})}return q}function dY($,X,Y,Z){let q=`/**
90
+ `}return Z}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 h2($,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 A=U.name.split("#"),G=A[A.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=`/**
86
91
  * Design System Tokens - Typography (${X})
87
92
  * Generated: ${new Date().toISOString()}
88
93
  *
@@ -90,26 +95,26 @@ ${q.join(`
90
95
  * Includes fontSize, fontWeight, fontFamily, lineHeight, and typography compositions.
91
96
  */
92
97
 
93
- `,U=new Map;for(let K of $){let W="default";if(K.name.includes("@")){let H=K.name.split("@");for(let G of H)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 H=[];for(let G of W){let z=` ${G.cssVar||b$(G,Y)}: ${f(G.value,G.type)};`;H.push(z)}if(H.length>0)if(K==="default"){let G=X==="light"?":root":`[data-theme="${X}"]`;H.sort(),q+=`${G} {
94
- ${H.join(`
98
+ `,U=new Map;for(let K of $){let W="default";if(K.name.includes("@")){let A=K.name.split("@");for(let G of A)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 A=[];for(let G of W){let z=` ${G.cssVar||V$(G,Y)}: ${h(G.value,G.type)};`;A.push(z)}if(A.length>0){let G=Y.defaultMode||"light",E=Y.isHost||!1,z=n(X,G,E);if(K==="default")A.sort(),q+=`${z} {
99
+ ${A.join(`
95
100
  `)}
96
101
  }
97
102
 
98
- `}else{let G=K.startsWith("(")?K:`(${K})`;q+=`@media ${G} {
99
- `;let A=X==="light"?":root":`[data-theme="${X}"]`;q+=` ${A} {
100
- ${H.sort().map((z)=>` ${z}`).join(`
103
+ `;else{let H=K.startsWith("(")?K:`(${K})`;q+=`@media ${H} {
104
+ `,q+=` ${z} {
105
+ ${A.sort().map((_)=>` ${_}`).join(`
101
106
  `)}
102
107
  }
103
108
  `,q+=`}
104
109
 
105
- `}}return q}function f($,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 f(Z.$value,Z.$type||X)}}let Y=String($);switch(X){case"color":return uY(Y);case"dimension":return kY(Y);case"duration":return cY(Y);case"fontFamily":return lY(Y);case"fontWeight":return sY(Y);case"cubicBezier":return iY($);case"shadow":return rY($);case"border":return aY($);case"typography":return nY($);case"composition":return O0($);default:if(Y.startsWith("data:"))return`"${Y}"`;return Y}}function uY($){if($.startsWith("oklch(")||$.startsWith("rgb(")||$.startsWith("rgba(")||$.startsWith("hsl(")||$.startsWith("hsla(")||$.startsWith("#"))return $;return $}function kY($){if(/^\d+(\.\d+)?(px|rem|em|%|vh|vw|vmin|vmax)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}rem`;return $}function cY($){if(/^\d+(\.\d+)?(s|ms)$/.test($))return $;if(/^\d+(\.\d+)?$/.test($))return`${$}ms`;return $}function lY($){if(($.includes(",")||$.includes(" "))&&!$.startsWith('"')&&!$.startsWith("'"))return`"${$}"`;return $}function sY($){return{thin:"100","extra-light":"200",light:"300",normal:"400",medium:"500","semi-bold":"600",bold:"700","extra-bold":"800",black:"900"}[$]||$}function iY($){if(Array.isArray($)&&$.length===4)return`cubic-bezier(${$.join(", ")})`;return String($)}function rY($){if(Array.isArray($))return $.map((X)=>S2(X)).join(", ");return S2($)}function S2($){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 aY($){if(typeof $==="object"&&$!==null){let X=$;return`${X.width||"1px"} ${X.style||"solid"} ${X.color||"transparent"}`}return String($)}function nY($){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 O0($){if(typeof $!=="object"||$===null)return String($);if(Array.isArray($))return $.map((Y)=>O0(Y)).join(", ");let X=$;if(X.offsetX!==void 0&&X.offsetY!==void 0)return C2(X);if(X.width!==void 0&&X.style!==void 0&&X.color!==void 0)return tY(X);if(X.blur!==void 0||X.saturate!==void 0||X.brightness!==void 0)return oY(X);if(X.fontSize!==void 0||X.fontFamily!==void 0)return eY(X);return $1(X)}function C2($){let X=[N($.offsetX)||"0",N($.offsetY)||"0",N($.blur)||"0",N($.spread)||"0",N($.color)||"transparent"];if($.inset&&N($.inset)==="true")X.unshift("inset");return X.join(" ")}function tY($){let X=N($.width)||"1px",Y=N($.style)||"solid",Z=N($.color)||"transparent";return`${X} ${Y} ${Z}`}function oY($){let X=[];if($.blur)X.push(N($.blur)||"blur(0)");if($.saturate)X.push(N($.saturate)||"saturate(100%)");if($.brightness)X.push(N($.brightness)||"brightness(100%)");if($.contrast)X.push(N($.contrast)||"contrast(100%)");if($.hueRotate)X.push(N($.hueRotate)||"hue-rotate(0deg)");return X.join(" ")||"none"}function eY($){let X=N($.fontWeight)||"normal",Y=N($.fontSize)||"1rem",Z=N($.lineHeight),q=N($.fontFamily)||"sans-serif";if(q.includes(" ")&&!q.startsWith('"')&&!q.startsWith("'"))q=`'${q}'`;if(Y.includes("/"))return`${X} ${Y} ${q}`;else return`${X} ${Y}/${Z||"normal"} ${q}`}function N($){if($===null||$===void 0)return"";if(typeof $==="string")return $;if(typeof $==="object"&&$.value!==void 0)return String($.value);return String($)}function $1($){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=C2(K);if(W)X.push(W)}else{let W=O0(K);if(W)X.push(W)}}else{let K=N(q);if(K)X.push(K)}}let Z=X.some((q)=>/^\d/.test(q)&&q.includes(" "))?", ":" ";return X.join(Z)||String($)}function C$($){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`/**
110
+ `}}}return q}function h($,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 h(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`/**
106
111
  * ${X} - CSS Custom Properties
107
112
  * Version: ${Y}
108
113
  * Generated: ${Z}
109
114
  *
110
115
  * This file contains CSS custom properties (CSS variables) generated from design tokens.
111
116
  * Do not edit this file directly - it will be overwritten.
112
- */`}function Y1($){let X=$.replace(/\r?\n|\r/g,"").replace(/\s+/g," ").trim();return`data:image/svg+xml;base64,${Buffer.from(X,"utf8").toString("base64")}`}function I0($,X={}){let{customHeader:Y,objectPath:Z="universe.custom.path.icons"}=X,q="--"+Z.replace(/\./g,"-"),U="";if(Y)U+=Y+`
117
+ */`}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+`
113
118
 
114
119
  `;else U+=`/**
115
120
  * Icon CSS - Base64 Encoded SVG Icons as CSS Custom Properties
@@ -126,28 +131,28 @@ ${H.sort().map((z)=>` ${z}`).join(`
126
131
  */
127
132
 
128
133
  `;U+=`:root {
129
- `;let K=[...$].sort((W,H)=>W.name.localeCompare(H.name));for(let W of K){let H=W.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),G=`${q}-${W.category}-${H}`;if(X.hooks?.shortenName?.enabled)G=P2(G,X.hooks);let A=Y1(W.value);U+=` ${G}: url("${A}");
134
+ `;let K=[...$].sort((W,A)=>W.name.localeCompare(A.name));for(let W of K){let A=W.name.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),G=`${q}-${W.category}-${A}`;if(X.hooks?.shortenName?.enabled)G=N0(G,X.hooks);let E=z1(W.value);U+=` ${G}: url("${E}");
130
135
  `}return U+=`}
131
- `,{fileName:"tokens.icons.css",content:U.trim()}}var g$=S(()=>{V()});import{readFileSync as X1}from"fs";import{join as V2}from"path";async function J0(){try{let{assets:$}=await v(!0),{icons:X}=await b(),Y=await i(),Z=$?.icons?.distDir??"build",q=V2(Y,Z),U=V2(q,"tokens",await Y$("json")),K=JSON.parse(X1(U,"utf8")),W=X?.objectPath??"universe.icons",H=W.split("."),G=K;for(let z of H)if(G&&typeof G==="object"&&z in G)G=G[z];else throw Error(`Icon path ${W} not found in icons file`);let A=[];for(let[z,L]of Object.entries(G))if(typeof L==="object"&&L!==null){for(let[E,B]of Object.entries(L))if(typeof B==="object"&&B!==null){let _=B;A.push({name:E,category:z,value:_.$value||"",description:_.$description||"",style:_.$style||"",dimensions:_.$dimensions})}}return A}catch($){return console.warn("Could not load icon data:",$),[]}}async function R0($,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:Z1($,U),type:"types"});if(Z)K.push({fileName:"tokens.constants.ts",content:q1($,U),type:"constants"});return K.push({fileName:"index.ts",content:U1(K),type:"index"}),K}function Z1($,X){let{tokenInterface:Y="DesignTokens",includeJSDoc:Z=!0,icons:q=[]}=X,U=M0("Type Definitions");if(U+=W1($,Z),U+=K1($,Z),q.length>0)U+=G1(q,Z);return U+=H1($,Y,Z),U+=A1($,Z),U}function q1($,X){let{includeJSDoc:Y=!0,icons:Z=[]}=X,q=M0("Token Constants"),U="TokenPaths, CSSVariableNames";if(Z.length>0)U+=", IconNames, IconCategories, Icon";if(q+=`import type { ${U} } from './tokens.types';
136
+ `,{fileName:"tokens.icons.css",content:U.trim()}}var y$=P(()=>{T()});import{readFileSync as A1,existsSync as E1}from"fs";import{join as p2,relative as H1}from"path";async function j0(){try{let{assets:$}=await m(!0),{icons:X}=await C(),Y=await s(),Z=$?.icons?.distDir??"build",q=p2(Y,Z),U=p2(q,"tokens",await Z$("json"));if(!E1(U)){let z=H1(process.cwd(),U);return console.log(`ℹ️ Icon data not found (skipping icon types): ${z}`),console.log(" Run icon build first if you need icon types generated."),[]}let K=JSON.parse(A1(U,"utf8")),W=X?.objectPath??"universe.icons",A=W.split("."),G=K;for(let z of A)if(G&&typeof G==="object"&&z in G)G=G[z];else throw Error(`Icon path ${W} not found in icons file`);let E=[];for(let[z,H]of Object.entries(G))if(typeof H==="object"&&H!==null){for(let[_,L]of Object.entries(H))if(typeof L==="object"&&L!==null){let Q=L;E.push({name:_,category:z,value:Q.$value||"",description:Q.$description||"",style:Q.$style||"",dimensions:Q.$dimensions})}}return E}catch($){if($ instanceof Error){if("code"in $&&$.code!=="ENOENT")console.warn(`⚠️ Could not load icon data: ${$.message}`)}return[]}}async function 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:L1($,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 L1($,X){let{tokenInterface:Y="DesignTokens",includeJSDoc:Z=!0,icons:q=[]}=X,U=S0("Type Definitions");if(U+=O1($,Z),U+=B1($,Z),q.length>0)U+=w1(q,Z);return U+=I1($,Y,Z),U+=R1($,Z),U}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';
132
137
 
133
- `,q+=L1($,Y),q+=B1($,Y),Z.length>0)q+=E1(Z,Y);return q+=_1($,Y),q}function U1($){let X=M0("Main Export");if($.some((Y)=>Y.type==="types"))X+=`export type * from './tokens.types';
138
+ `,q+=M1($,Y),q+=x1($,Y),Z.length>0)q+=N1(Z,Y);return q+=F1($,Y),q}function Q1($){let X=S0("Main Export");if($.some((Y)=>Y.type==="types"))X+=`export type * from './tokens.types';
134
139
  `;if($.some((Y)=>Y.type==="constants"))X+=`export * from './tokens.constants';
135
140
  `;return X+=`
136
- `,X}function W1($,X){let Y=$.map((q)=>`"${q.name}"`).join(`
141
+ `,X}function O1($,X){let Y=$.map((q)=>`"${q.name}"`).join(`
137
142
  | `),Z="";if(X)Z+=`/**
138
143
  * All available token paths as string literals
139
144
  */
140
145
  `;return Z+=`export type TokenPaths =
141
146
  | ${Y};
142
147
 
143
- `,Z}function K1($,X){let Y=Q1($),Z="";for(let[q,U]of Y){let K=`${O1(q)}TokenValue`,W=new Set(U.map((G)=>O$(G.value))),H=Array.from(W).join(`
148
+ `,Z}function B1($,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))),A=Array.from(W).join(`
144
149
  | `);if(X)Z+=`/**
145
150
  * Possible values for ${q} tokens
146
151
  */
147
152
  `;Z+=`export type ${K} =
148
- | ${H};
153
+ | ${A};
149
154
 
150
- `}return Z}function G1($,X){let Y="",Z=$.map((K)=>`"${K.name}"`).join(`
155
+ `}return Z}function w1($,X){let Y="",Z=$.map((K)=>`"${K.name}"`).join(`
151
156
  | `);if(X)Y+=`/**
152
157
  * All available icon names as string literals
153
158
  */
@@ -182,28 +187,28 @@ ${H.sort().map((z)=>` ${z}`).join(`
182
187
  `,Y+=` };
183
188
  `,Y+=`}
184
189
 
185
- `,Y}function H1($,X,Y){let Z="";if(Y)Z+=`/**
190
+ `,Y}function I1($,X,Y){let Z="";if(Y)Z+=`/**
186
191
  * Design tokens interface with all token paths and their values
187
192
  */
188
193
  `;Z+=`export interface ${X} {
189
194
  `;for(let q of $){if(Y&&q.description)Z+=` /** ${q.description} */
190
- `;Z+=` "${q.name}": ${O$(q.value)};
195
+ `;Z+=` "${q.name}": ${I$(q.value)};
191
196
  `}return Z+=`}
192
197
 
193
- `,Z+=z1($,`${X}Nested`,Y),Z}function z1($,X,Y){let Z=w1($),q="";if(Y)q+=`/**
198
+ `,Z+=J1($,`${X}Nested`,Y),Z}function J1($,X,Y){let Z=P1($),q="";if(Y)q+=`/**
194
199
  * Design tokens interface with nested structure
195
200
  */
196
201
  `;return q+=`export interface ${X} {
197
- `,q+=g2(Z,1),q+=`}
202
+ `,q+=m2(Z,1),q+=`}
198
203
 
199
- `,q}function A1($,X){let Z=Array.from(new Set($.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
204
+ `,q}function R1($,X){let Z=Array.from(new Set($.map((U)=>U.cssVar))).map((U)=>`"${U}"`).join(`
200
205
  | `),q="";if(X)q+=`/**
201
206
  * All available CSS variable names
202
207
  */
203
208
  `;return q+=`export type CSSVariableNames =
204
209
  | ${Z};
205
210
 
206
- `,q}function L1($,X){let Y="";if(X)Y+=`/**
211
+ `,q}function M1($,X){let Y="";if(X)Y+=`/**
207
212
  * Object containing all token values
208
213
  */
209
214
  `;Y+=`export const tokenValues = {
@@ -211,7 +216,7 @@ ${H.sort().map((z)=>` ${z}`).join(`
211
216
  `;Y+=` "${Z.name}": ${JSON.stringify(Z.value)},
212
217
  `}return Y+=`} as const;
213
218
 
214
- `,Y}function E1($,X){let Y="";if(X)Y+=`/**
219
+ `,Y}function N1($,X){let Y="";if(X)Y+=`/**
215
220
  * Array of all available icons
216
221
  */
217
222
  `;Y+=`export const icons: Icon[] = [
@@ -253,14 +258,14 @@ ${H.sort().map((z)=>` ${z}`).join(`
253
258
  `,Y+=` return icons.filter(icon => icon.category === category);
254
259
  `,Y+=`}
255
260
 
256
- `,Y}function B1($,X){let Y="";if(X)Y+=`/**
261
+ `,Y}function x1($,X){let Y="";if(X)Y+=`/**
257
262
  * Object mapping token paths to CSS variable names
258
263
  */
259
264
  `;Y+=`export const cssVariableNames = {
260
265
  `;for(let Z of $)Y+=` "${Z.name}": "${Z.cssVar}",
261
266
  `;return Y+=`} as const;
262
267
 
263
- `,Y}function _1($,X){let Y="";if(X)Y+=`/**
268
+ `,Y}function F1($,X){let Y="";if(X)Y+=`/**
264
269
  * Get the value of a design token
265
270
  */
266
271
  `;if(Y+=`export function getTokenValue<T extends TokenPaths>(tokenPath: T): typeof tokenValues[T] {
@@ -288,10 +293,10 @@ ${H.sort().map((z)=>` ${z}`).join(`
288
293
  return tokenPath in tokenValues;
289
294
  }
290
295
 
291
- `,Y}function Q1($){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 w1($){let X={};for(let Y of $){if(Y.path.some((H)=>H.includes("@")||H.includes("#")||H.includes("-")||H.includes(".")))continue;let q=X,U=[...Y.path];for(let H=0;H<U.length-1;H++){let G=U[H];if(!q[G])q[G]={};q=q[G]}let K=U[U.length-1],W=O$(Y.value);q[K]=W}return X}function g2($,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}: {
292
- `,Y+=g2(U,X+1),Y+=`${Z}};
296
+ `,Y}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((A)=>A.includes("@")||A.includes("#")||A.includes("-")||A.includes(".")))continue;let q=X,U=[...Y.path];for(let A=0;A<U.length-1;A++){let G=U[A];if(!q[G])q[G]={};q=q[G]}let 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}: {
297
+ `,Y+=m2(U,X+1),Y+=`${Z}};
293
298
  `;else Y+=`${Z}${K}: ${U};
294
- `}return Y}function O$($){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)=>O$(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}: ${O$(q)}`).join("; ")} }`;else return"unknown"}function O1($){if(!$||typeof $!=="string")return"";return $.charAt(0).toUpperCase()+$.slice(1)}function M0($){let X=new Date().toISOString();return`/**
299
+ `}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`/**
295
300
  * ${$}
296
301
  * Generated: ${X}
297
302
  *
@@ -299,7 +304,7 @@ ${H.sort().map((z)=>` ${z}`).join(`
299
304
  * Do not edit this file directly - it will be overwritten.
300
305
  */
301
306
 
302
- `}var N0=S(()=>{V()});import{readFileSync as I1,mkdirSync as J1}from"fs";import{writeFile as T2,readdir as R1,mkdir as M1}from"fs/promises";import{resolve as N1,relative as y2,join as T$,dirname as F1}from"path";import x1 from"lodash";async function f2($){let X=await R1($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=N1($,Z.name);return Z.isDirectory()?f2(q):q}));return Array.prototype.concat(...Y)}async function x0(){let{assets:$,icons:X,tokenNamespace:Y,__dirname:Z,buildDir:q}=await k(),U=T$(Z,$?.icons?.sourceDir??"icons"),K="build",W=$?.icons?.distDir??"build",H=T$(Z,W),G=T$(Z,q,"icons");if(!$?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}s(T$(Z,q));let A=(await f2(U)).filter((O)=>O.endsWith(".svg")),E=(await Promise.all(A.map(async(O)=>{let w=I1(O,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";w=await G0(w);let I=y2(U,O).split("/").pop(),j=(w.match(/name="(.*?)"/)??[])[1]??I?.replace(".svg",""),l=(w.match(/data-style="(.*?)"/)??[])[1],a2=(w.match(/description="(.*?)"/)??[])[1],[C0]=w.match(/<svg[^>]*>/)??[],[,n2]=C0?.match(/width="([\d.]+)(px)?"/)??[],[,t2]=C0?.match(/height="([\d.]+)(px)?"/)??[];if(l!=="animated"&&l!=="custom")return{path:O,folder:y2(U,O).split("/").slice(0,-1).concat(j),file:I,style:l,content:w,name:j,dimensions:{width:Number(n2),height:Number(t2)},description:a2??""};return}))).filter((O)=>O!==void 0).reduce((O,w)=>{if(w?.style!=="animated"&&w?.style!=="custom"&&w)F0(O,w.folder.join("."),{$type:"icon",$name:w.name,$description:w.description,$style:w.style,$value:w.content,$dimensions:w.dimensions,...j1(O,w.folder.join("."))});return O},{}),B=X?.objectPath??`${Y}.icons`;Object.keys(E).forEach(async(O)=>{let w=`${G}/${O}`,I=`${w}/svg.${O}.tokens.json`;await M1(w,{recursive:!0});let j=F0({},`${B}${B?".":""}${O}`,E[O]);await T2(I,JSON.stringify(j,null,2),{flag:"w",encoding:"utf-8"})});let _=`${H}/tokens/${await Y$("json")}`,J=F1(_);J1(J,{recursive:!0});let Q=F0({},B,E);await T2(_,JSON.stringify(Q,null,2),{flag:"w",encoding:"utf-8"})}var F0,j1,c4;var h2=S(()=>{V();({set:F0,get:j1}=x1);c4=x0().catch(($)=>{console.error($),process.exit(1)})});function m2($,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("|"),H=new RegExp(`#(${W})$`),G=new Map;for(let A of q)G.set(A,[]);for(let A of K){let z=A.name.match(H);if(z){let L=z[1];G.get(L).push(A)}else{let L=q[0];G.get(L).push(A)}}for(let A of q){let z=G.get(A)||[];if(z.length>0){if(X.typescript){let L=d2(z,A);Y.push({fileName:`${A}.d.ts`,content:V1(L,X,A),theme:A})}Y.push({fileName:`${A}.${Z}`,content:p2(z,{...X,theme:A}),theme:A})}}}else Y.push({fileName:`tokens.${Z}`,content:p2(K,X)});if(U.length>0)Y.push({fileName:`breakpoints.${Z}`,content:S1(U,$,X)});if(X.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${Z}`,content:T1(Y,X)});return Y}function S1($,X,Y={}){let{typescript:Z,includeJSDoc:q,moduleType:U="es",customHeader:K,modes:W=[]}=Y,H=new Map(X.map((L)=>[L.name,L])),G={};for(let L of $){let E=L.extensions?.mediaQuery||D1(L.name),B=W.length>0?W[0]:"default";for(let Q of W)if(L.name.includes(`#${Q}`)){B=Q;break}if(typeof E==="string"&&E.includes("{")&&E.includes("}"))E=b1(E,H);if(!G[E])G[E]={};if(!G[E][B])G[E][B]={};let _=P1(L.name),J=C1(_,y$(L.value,H));G[E][B]={...G[E][B],...J}}let A=Object.keys(G).sort((L,E)=>{let B=v2(L),_=v2(E);return B-_}).reduce((L,E)=>{return L[E]=G[E],L},{}),z="";if(K)z+=`${K}
307
+ `}var D0=P(()=>{T()});import{readFileSync as D1,mkdirSync as b1}from"fs";import{writeFile as d2,readdir as C1,mkdir as V1}from"fs/promises";import{resolve as T1,relative as u2,join as v$,dirname as g1}from"path";import y1 from"lodash";async function k2($){let X=await C1($,{withFileTypes:!0}),Y=await Promise.all(X.map((Z)=>{let q=T1($,Z.name);return Z.isDirectory()?k2(q):q}));return Array.prototype.concat(...Y)}async function C0(){let{assets:$,icons:X,tokenNamespace:Y,__dirname:Z,buildDir:q}=await c(),U=v$(Z,$?.icons?.sourceDir??"icons"),K="build",W=$?.icons?.distDir??"build",A=v$(Z,W),G=v$(Z,q,"icons");if(!$?.icons?.sourceDir){console.warn("Skipping icon build: iconsDir is not defined in the project paths.");return}i(v$(Z,q));let E=(await k2(U)).filter((O)=>O.endsWith(".svg")),_=(await Promise.all(E.map(async(O)=>{let I=D1(O,"utf8").replace(/(\s+(?=(?:[^"]*"[^"]*")*[^"]*$))/g," ").trim()??"";I=await L0(I);let J=u2(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:u2(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)b0(O,I.folder.join("."),{$type:"icon",$name:I.name,$description:I.description,$style:I.style,$value:I.content,$dimensions:I.dimensions,...v1(O,I.folder.join("."))});return O},{}),L=X?.objectPath??`${Y}.icons`;Object.keys(_).forEach(async(O)=>{let I=`${G}/${O}`,J=`${I}/svg.${O}.tokens.json`;await V1(I,{recursive:!0});let R=b0({},`${L}${L?".":""}${O}`,_[O]);await d2(J,JSON.stringify(R,null,2),{flag:"w",encoding:"utf-8"})});let Q=`${A}/tokens/${await Z$("json")}`,B=g1(Q);b1(B,{recursive:!0});let w=b0({},L,_);await d2(Q,JSON.stringify(w,null,2),{flag:"w",encoding:"utf-8"})}var b0,v1,KX;var c2=P(()=>{T();({set:b0,get:v1}=y1);KX=C0().catch(($)=>{console.error($),process.exit(1)})});function i2($,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("|"),A=new RegExp(`#(${W})$`),G=new Map;for(let E of q)G.set(E,[]);for(let E of K){let z=E.name.match(A);if(z){let H=z[1];G.get(H).push(E)}else{let H=q[0];G.get(H).push(E)}}for(let E of q){let z=G.get(E)||[];if(z.length>0){if(X.typescript){let H=s2(z,E);Y.push({fileName:`${E}.d.ts`,content:u1(H,X,E),theme:E})}Y.push({fileName:`${E}.${Z}`,content:r2(z,{...X,theme:E}),theme:E})}}}else Y.push({fileName:`tokens.${Z}`,content:r2(K,X)});if(U.length>0)Y.push({fileName:`breakpoints.${Z}`,content:h1(U,$,X)});if(X.separateThemeFiles&&Y.length>1)Y.push({fileName:`index.${Z}`,content:c1(Y,X)});return Y}function h1($,X,Y={}){let{typescript:Z,includeJSDoc:q,moduleType:U="es",customHeader:K,modes:W=[]}=Y,A=new Map(X.map((H)=>[H.name,H])),G={};for(let H of $){let _=H.extensions?.mediaQuery||f1(H.name),L=W.length>0?W[0]:"default";for(let w of W)if(H.name.includes(`#${w}`)){L=w;break}if(typeof _==="string"&&_.includes("{")&&_.includes("}"))_=m1(_,A);if(!G[_])G[_]={};if(!G[_][L])G[_][L]={};let Q=p1(H.name),B=d1(Q,h$(H.value,A));G[_][L]={...G[_][L],...B}}let E=Object.keys(G).sort((H,_)=>{let L=l2(H),Q=l2(_);return L-Q}).reduce((H,_)=>{return H[_]=G[_],H},{}),z="";if(K)z+=`${K}
303
308
 
304
309
  `;else z+=`/**
305
310
  `,z+=` * Design Tokens - Breakpoints
@@ -307,17 +312,17 @@ ${H.sort().map((z)=>` ${z}`).join(`
307
312
  `,z+=` * Do not edit this file directly
308
313
  `,z+=` */
309
314
 
310
- `;if(Z)z+=u2(A,q),z+=`
311
- `;if(U==="es"){if(Z)z+=`const breakpoints: Tokens = ${a(A,q,0)};
315
+ `;if(Z)z+=a2(E,q),z+=`
316
+ `;if(U==="es"){if(Z)z+=`const breakpoints: Tokens = ${t(E,q,0)};
312
317
 
313
- `;else z+=`const breakpoints = ${a(A,q,0)};
318
+ `;else z+=`const breakpoints = ${t(E,q,0)};
314
319
 
315
320
  `;z+=`export default breakpoints;
316
- `}else z+=`const breakpoints = ${a(A,q,0)};
321
+ `}else z+=`const breakpoints = ${t(E,q,0)};
317
322
 
318
323
  `,z+=`module.exports = breakpoints;
319
324
  `,z+=`module.exports.default = breakpoints;
320
- `;return z}function D1($){if($.includes("@_max_width_")){let X=$.match(/@_max_width___(.+?)__/);if(X)return`screen and (max-width: {${X[1].replace(/_/g,".")}})`}if($.includes("@_min_width_")){let X=$.match(/@_min_width___(.+?)__/);if(X)return`screen and (min-width: {${X[1].replace(/_/g,".")}})`}return"screen"}function P1($){let X=$.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return X=X.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),X}function v2($){let X=$.match(/(\d+(?:\.\d+)?)/);return X?parseFloat(X[1]):0}function b1($,X){return $.replace(/\{([^}]+)\}/g,(Y,Z)=>{let q=X.get(Z);if(q){let U=q.value;if(typeof U==="object"&&U!==null&&"$value"in U)U=U.$value;return String(U)}return Y})}function C1($,X){let Y=$.split("."),Z={},q=Z;for(let U=0;U<Y.length-1;U++)q[Y[U]]={},q=q[Y[U]];return q[Y[Y.length-1]]=X,Z}function p2($,X={}){let{typescript:Y,includeJSDoc:Z,moduleType:q="es",customHeader:U,theme:K}=X,W="";if(U)W+=`${U}
325
+ `;return z}function f1($){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 p1($){let X=$.replace(/@_.*?__/,"").replace(/@screen.*/,"").replace(/#[^#]*$/,"").replace(/^universe\./,"");return X=X.replace(/_universe_foundation_breakpoint_screen_width_[^_]+__?$/,""),X}function l2($){let X=$.match(/(\d+(?:\.\d+)?)/);return X?parseFloat(X[1]):0}function m1($,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 d1($,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 r2($,X={}){let{typescript:Y,includeJSDoc:Z,moduleType:q="es",customHeader:U,theme:K}=X,W="";if(U)W+=`${U}
321
326
 
322
327
  `;else W+=`/**
323
328
  `,W+=` * Design Tokens - ${K?`${K.charAt(0).toUpperCase()+K.slice(1)} Theme`:"All Tokens"}
@@ -325,26 +330,26 @@ ${H.sort().map((z)=>` ${z}`).join(`
325
330
  `,W+=` * Do not edit this file directly
326
331
  `,W+=` */
327
332
 
328
- `;let H=d2($,K);if(Y)if(X.separateThemeFiles&&K)W+=`import type { Tokens } from "./${K}.d";
333
+ `;let A=s2($,K);if(Y)if(X.separateThemeFiles&&K)W+=`import type { Tokens } from "./${K}.d";
329
334
 
330
- `;else W+=u2(H,Z),W+=`
331
- `;if(q==="es"){if(Y)W+=`const tokens: Tokens = ${a(H,Z,0)};
335
+ `;else W+=a2(A,Z),W+=`
336
+ `;if(q==="es"){if(Y)W+=`const tokens: Tokens = ${t(A,Z,0)};
332
337
 
333
- `;else W+=`const tokens = ${a(H,Z,0)};
338
+ `;else W+=`const tokens = ${t(A,Z,0)};
334
339
 
335
340
  `;W+=`export default tokens;
336
- `;let G=Object.keys(H);if(G.length>0){W+=`
341
+ `;let G=Object.keys(A);if(G.length>0){W+=`
337
342
  // Named exports for convenience
338
- `;for(let A of G)W+=`export const ${A} = tokens.${A};
339
- `}}else W+=`const tokens = ${a(H,Z,0)};
343
+ `;for(let E of G)W+=`export const ${E} = tokens.${E};
344
+ `}}else W+=`const tokens = ${t(A,Z,0)};
340
345
 
341
346
  `,W+=`module.exports = tokens;
342
347
  `,W+=`module.exports.default = tokens;
343
- `;return W}function d2($,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 A=K[G];if(!W[A])W[A]={};W=W[A]}let H=K[K.length-1];W[H]=y$(q.value,Z)}return Y}function y$($,X){if(typeof $==="object"&&$!==null&&!Array.isArray($)){let Y=$;if(Y.color&&typeof Y.color==="string"&&Y.color.includes("{")&&Y.color.includes("}")){let Z=f($,"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=f(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=f($,"color");if(q!==$)return q}return $}if(Array.isArray($))return $.map((Y)=>y$(Y,X));if(typeof $==="object"&&$!==null){let Y={};for(let[Z,q]of Object.entries($))Y[Z]=y$(q,X);return Y}return $}function u2($,X){let Y="";if(X)Y+=`/**
348
+ `;return W}function s2($,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 A=K[K.length-1];W[A]=h$(q.value,Z)}return Y}function h$($,X){if(typeof $==="object"&&$!==null&&!Array.isArray($)){let Y=$;if(Y.color&&typeof Y.color==="string"&&Y.color.includes("{")&&Y.color.includes("}")){let Z=h($,"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=h(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=h($,"color");if(q!==$)return q}return $}if(Array.isArray($))return $.map((Y)=>h$(Y,X));if(typeof $==="object"&&$!==null){let Y={};for(let[Z,q]of Object.entries($))Y[Z]=h$(q,X);return Y}return $}function a2($,X){let Y="";if(X)Y+=`/**
344
349
  * Token object type definition
345
350
  */
346
- `;return Y+=`type Tokens = ${j0($,0)};
347
- `,Y}function V1($,X,Y){let{customHeader:Z,includeJSDoc:q}=X,U="";if(Z)U+=`${Z}
351
+ `;return Y+=`type Tokens = ${V0($,0)};
352
+ `,Y}function u1($,X,Y){let{customHeader:Z,includeJSDoc:q}=X,U="";if(Z)U+=`${Z}
348
353
 
349
354
  `;else{let K=Y?` - ${Y.charAt(0).toUpperCase()+Y.slice(1)} Theme`:"";U+=`/**
350
355
  `,U+=` * Universe Design System Tokens - Type Definitions${K}
@@ -355,30 +360,30 @@ ${H.sort().map((z)=>` ${z}`).join(`
355
360
  `}if(q)U+=`/**
356
361
  * Token object type definition
357
362
  */
358
- `;return U+=`export type Tokens = ${j0($,0)};
359
- `,U}function j0($,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=`{
360
- `;for(let[U,K]of Z){let W=g1(U)?`"${U}"`:U;q+=`${Y}${W}: ${j0(K,X+1)};
361
- `}return q+=" ".repeat(X)+"}",q}function g1($){return $.startsWith("@")||$.includes(" ")||$.includes("-")||$.includes("(")||$.includes(")")||$.includes("@")||$.includes(":")||!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($)}function a($,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=`{
362
- `;for(let W=0;W<U.length;W++){let[H,G]=U[W],A=W===U.length-1;if(X&&typeof G==="string")K+=`${q}/** Token value: ${JSON.stringify(G)} */
363
- `;let z=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)?H:JSON.stringify(H),L=a(G,X,Y+1);K+=`${q}${z}: ${L}${A?"":","}
364
- `}return K+=`${Z}}`,K}function T1($,X){let Y=X.typescript?"ts":"js",{moduleType:Z="es",customHeader:q}=X,U=(W)=>{return W.replace(/-([a-z])/g,(H,G)=>G.toUpperCase())},K="";if(q)K+=`${q}
363
+ `;return U+=`export type Tokens = ${V0($,0)};
364
+ `,U}function V0($,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=`{
365
+ `;for(let[U,K]of Z){let W=k1(U)?`"${U}"`:U;q+=`${Y}${W}: ${V0(K,X+1)};
366
+ `}return q+=" ".repeat(X)+"}",q}function k1($){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 K=`{
367
+ `;for(let W=0;W<U.length;W++){let[A,G]=U[W],E=W===U.length-1;if(X&&typeof G==="string")K+=`${q}/** Token value: ${JSON.stringify(G)} */
368
+ `;let z=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(A)?A:JSON.stringify(A),H=t(G,X,Y+1);K+=`${q}${z}: ${H}${E?"":","}
369
+ `}return K+=`${Z}}`,K}function c1($,X){let Y=X.typescript?"ts":"js",{moduleType:Z="es",customHeader:q}=X,U=(W)=>{return W.replace(/-([a-z])/g,(A,G)=>G.toUpperCase())},K="";if(q)K+=`${q}
365
370
 
366
371
  `;else K+=`/**
367
372
  `,K+=` * Design Tokens - Index
368
373
  `,K+=` * Exports all token themes for convenient importing
369
374
  `,K+=` */
370
375
 
371
- `;if(Z==="es"){for(let W of $){if(W.fileName===`index.${Y}`)continue;if(!W.fileName.endsWith(".d.ts"))continue;let H=W.fileName.replace(".d.ts",""),G=U(W.theme||H);K+=`export type { Tokens as ${G.charAt(0).toUpperCase()+G.slice(1)}Tokens } from './${H}.d';
376
+ `;if(Z==="es"){for(let W of $){if(W.fileName===`index.${Y}`)continue;if(!W.fileName.endsWith(".d.ts"))continue;let A=W.fileName.replace(".d.ts",""),G=U(W.theme||A);K+=`export type { Tokens as ${G.charAt(0).toUpperCase()+G.slice(1)}Tokens } from './${A}.d';
372
377
  `}K+=`
373
- `;for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let H=W.fileName.replace(`.${Y}`,""),G=U(W.theme||H);K+=`export { default as ${G} } from './${H}${X.typescript?"":".js"}';
378
+ `;for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let A=W.fileName.replace(`.${Y}`,""),G=U(W.theme||A);K+=`export { default as ${G} } from './${A}${X.typescript?"":".js"}';
374
379
  `}K+=`
375
380
  // Convenience re-exports
376
381
  `,K+=`export { default } from './light${X.typescript?"":".js"}';
377
- `}else{for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let H=W.fileName.replace(`.${Y}`,""),G=U(W.theme||H);K+=`exports.${G} = require('./${H}');
382
+ `}else{for(let W of $){if(W.fileName===`index.${Y}`)continue;if(W.fileName.endsWith(".d.ts"))continue;let A=W.fileName.replace(`.${Y}`,""),G=U(W.theme||A);K+=`exports.${G} = require('./${A}');
378
383
  `}K+=`
379
384
  // Default export points to light theme
380
385
  `,K+=`module.exports = require('./light');
381
- `}return K}var k2=S(()=>{g$()});var c2={};h$(c2,{validateCSSFiles:()=>y1,printValidationResults:()=>f1});import{readFileSync as S0,existsSync as Z$}from"fs";import{join as m}from"path";function y1($,X){let Y={isValid:!0,errors:[],warnings:[],checks:[]},Z=m($,"css"),q=m(Z,"tokens.css"),U=Z$(q);if(Y.checks.push({name:"CSS file exists: tokens.css",passed:U,message:U?void 0:"Missing required CSS file: tokens.css"}),!U)Y.errors.push("Missing required CSS file: tokens.css"),Y.isValid=!1;if(X.$metaData?.tokens?.css?.mediaQuery?.separateThemeFiles??!1){let z=m(Z,"tokens.dark.css"),L=Z$(z);if(Y.checks.push({name:"CSS file exists: tokens.dark.css",passed:L,message:L?void 0:"Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"}),!L)Y.errors.push("Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"),Y.isValid=!1}let W=m(Z,"tokens.breakpoints.css");if(Z$(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&&Z$(m(Z,"tokens.css"))){let z=S0(m(Z,"tokens.css"),"utf8");if(G.prefix)for(let{find:L,replace:E}of G.prefix){let B=`--${w$}-${L}`,_=`--${E}`,J=z.includes(B),Q=z.includes(_);if(Y.checks.push({name:`Prefix hook applied: ${L} → ${E}`,passed:!J&&Q,message:J?`Old prefix "${B}" still found in CSS, should be "${_}"`:void 0}),J)Y.errors.push(`Prefix transformation failed: "${B}" should be replaced with "${_}"`),Y.isValid=!1}if(G.suffix)for(let{find:L,replace:E}of G.suffix){let _=new RegExp(`--[^:]+${L.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"g").test(z);if(Y.checks.push({name:`Suffix hook applied: ${L} → ${E}`,passed:!_,message:_?`Old suffix "${L}" still found in CSS variable names`:void 0}),_)Y.errors.push(`Suffix transformation failed: "${L}" should be removed/replaced with "${E}"`),Y.isValid=!1}}if(Z$(m(Z,"tokens.css"))){let L=S0(m(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 A=["tokens.css","tokens.dark.css","tokens.breakpoints.css"];for(let z of A){let L=m(Z,z);if(Z$(L)){let E=S0(L,"utf8"),B=(E.match(/\{/g)||[]).length-(E.match(/\}/g)||[]).length;if(Y.checks.push({name:`CSS syntax valid: ${z}`,passed:B===0,message:B!==0?`Mismatched braces in ${z}`:void 0}),B!==0)Y.errors.push(`CSS syntax error in ${z}: mismatched braces`),Y.isValid=!1}}return Y}function f1($){console.log(`
386
+ `}return K}var n2=P(()=>{y$()});var t2={};d$(t2,{validateCSSFiles:()=>l1,printValidationResults:()=>r1});import{readFileSync as T0,existsSync as U$}from"fs";import{join as u}from"path";function l1($,X){let Y={isValid:!0,errors:[],warnings:[],checks:[]},Z=u($,"css"),q=u(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 z=u(Z,"tokens.dark.css"),H=U$(z);if(Y.checks.push({name:"CSS file exists: tokens.dark.css",passed:H,message:H?void 0:"Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"}),!H)Y.errors.push("Missing required CSS file: tokens.dark.css (separateThemeFiles is enabled)"),Y.isValid=!1}let W=u(Z,"tokens.breakpoints.css");if(U$(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&&U$(u(Z,"tokens.css"))){let z=T0(u(Z,"tokens.css"),"utf8");if(G.prefix)for(let{find:H,replace:_}of G.prefix){let L=`--${w$}-${H}`,Q=`--${_}`,B=z.includes(L),w=z.includes(Q);if(Y.checks.push({name:`Prefix hook applied: ${H} → ${_}`,passed:!B&&w,message:B?`Old prefix "${L}" still found in CSS, should be "${Q}"`:void 0}),B)Y.errors.push(`Prefix transformation failed: "${L}" should be replaced with "${Q}"`),Y.isValid=!1}if(G.suffix)for(let{find:H,replace:_}of G.suffix){let Q=new RegExp(`--[^:]+${H.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"g").test(z);if(Y.checks.push({name:`Suffix hook applied: ${H} → ${_}`,passed:!Q,message:Q?`Old suffix "${H}" still found in CSS variable names`:void 0}),Q)Y.errors.push(`Suffix transformation failed: "${H}" should be removed/replaced with "${_}"`),Y.isValid=!1}}if(U$(u(Z,"tokens.css"))){let H=T0(u(Z,"tokens.css"),"utf8").match(/:\s*{[^}]+}/g);if(Y.checks.push({name:"No unresolved token references",passed:!H,message:H?`Found unresolved references: ${H.join(", ")}`:void 0}),H)Y.errors.push(`Unresolved token references found: ${H.join(", ")}`),Y.isValid=!1}let E=["tokens.css","tokens.dark.css","tokens.breakpoints.css"];for(let z of E){let H=u(Z,z);if(U$(H)){let _=T0(H,"utf8"),L=(_.match(/\{/g)||[]).length-(_.match(/\}/g)||[]).length;if(Y.checks.push({name:`CSS syntax valid: ${z}`,passed:L===0,message:L!==0?`Mismatched braces in ${z}`:void 0}),L!==0)Y.errors.push(`CSS syntax error in ${z}: mismatched braces`),Y.isValid=!1}}return Y}function r1($){console.log(`
382
387
 
383
388
  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(`
384
389
  ⚠️ Warnings:`);for(let X of $.warnings)console.log(` ${X}`)}if($.errors.length>0){console.log(`
@@ -386,7 +391,7 @@ Build Validation Results:`),console.log("=======================================
386
391
  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(`
387
392
  ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
388
393
  ========================================================
389
- `)}var l2=S(()=>{V()});import{writeFileSync as h1,mkdirSync as v1,existsSync as p1}from"fs";import{join as d,dirname as D0}from"path";function m1($,X,Y=!1,Z=!1){let q=[],U=[],K=[];for(let H of $)if(H.fileName.includes("breakpoint"))U.push(`@import url("./css/${H.fileName}");`);else K.push(`@import url("./css/${H.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=`/**
394
+ `)}var o2=P(()=>{T()});import{writeFileSync as i1,mkdirSync as s1,existsSync as y0,readFileSync as g0,readdirSync as a1,statSync as e2}from"fs";import{join as b,dirname as J$}from"path";function n1($,X,Y=!1,Z=!1){let q=[],U=[],K=[];for(let A of $)if(A.fileName.includes("breakpoint"))U.push(`@import url("./css/${A.fileName}");`);else K.push(`@import url("./css/${A.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=`/**
390
395
  * ${X} Design System - Main CSS Entry Point
391
396
  * Generated: ${new Date().toISOString()}
392
397
  *
@@ -398,18 +403,40 @@ ${$.isValid?"✅":"❌"} Build ${$.isValid?"passed":"failed"}`),console.log(`
398
403
 
399
404
  ${q.join(`
400
405
  `)}
401
- `;return{fileName:`${X}.design-system.tokens.css`,content:W,theme:void 0}}async function i2($){let X=Date.now(),Y={tokenCount:0,cssFiles:[],typescriptFiles:[],javascriptFiles:[],jsonFiles:[],duration:0,warnings:[],errors:[]};try{M(`
402
- Starting token build process...`,$.verbose);let{initializeColorspace:Z}=await Promise.resolve().then(() => (W$(),T0));await Z(),M("Loading token files...",$.verbose);let q=L0($.tokensDir);M("Parsing tokens...",$.verbose);let U=d1($.config),K=E0(q,U);if(M(`Found ${K.length} tokens`,$.verbose),Y.tokenCount=K.length,K.length===0&&U.namespace){let G=Object.keys(q).filter((A)=>!A.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=B0(K,U);if(M(`Resolved ${W.length} tokens`,$.verbose),$.generateCSS!==!1){M(`
403
- Generating CSS files...`,$.verbose);let G=s2($.config,$.cssOptions),A=P$(W,G);for(let z of A){let L=d($.outputDir,"css",z.fileName);q$(L,z.content),M(` ✓ ${z.fileName}`,$.verbose)}Y.cssFiles=A}if($.generateCSS!==!1)try{await x0(),M(`
404
- 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 A=s2($.config,$.cssOptions),z=I0(G,{customHeader:V$($.config),objectPath:$.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:A.hooks}),L=d($.outputDir,"css",z.fileName);if(q$(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose),Y.cssFiles)Y.cssFiles.push(z);else Y.cssFiles=[z]}}catch(G){if($.verbose)console.warn("Could not generate icon CSS:",G)}let H=!1;if($.generateCSS!==!1)try{let G=$.config.$fonts;if(G&&G.length>0){await H0(G,$.outputDir),M(" ✓ Generated fonts.css",$.verbose),H=!0;let A={fileName:"fonts.css",content:"Generated by appendTypographyTokens",theme:void 0};if(Y.cssFiles)Y.cssFiles.push(A);else Y.cssFiles=[A]}}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",A=Y.cssFiles.some((E)=>E.fileName==="tokens.icons.css"),z=m1(Y.cssFiles.filter((E)=>E.fileName!=="tokens.icons.css"&&E.fileName!=="fonts.css"),G,A,H),L=d($.outputDir,z.fileName);q$(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose),Y.cssFiles.push(z)}if($.generateTypeScript!==!1){M(`
405
- Generating TypeScript files...`,$.verbose);let G=u1($.config,$.typescriptOptions),A=await R0(W,G);for(let z of A){let L=d($.outputDir,"typescript",z.fileName);q$(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.typescriptFiles=A}if($.generateJavaScript!==!1){M(`
406
- Generating JavaScript files...`,$.verbose);let G=k1($.config,$.javascriptOptions),A=m2(W,G);for(let z of A){let L=d($.outputDir,"js",z.fileName);q$(L,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.javascriptFiles=A}if($.generateJSON!==!1){M(`
407
- Generating JSON files...`,$.verbose);let G=c1(W,K,$.config);for(let A of G){let z=d($.outputDir,"json",A.fileName);q$(z,A.content),M(` ✓ Generated ${A.fileName}`,$.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-X,M(`
406
+ `;return{fileName:`${X}.design-system.tokens.css`,content:W,theme:void 0}}function t1($,X,Y=!1,Z=!1,q){let{readFileSync:U}=u$("fs"),{join:K}=u$("path"),W=[],A=(z)=>{try{let H=K(q,"css",z);return U(H,"utf-8")}catch(H){return console.warn(`Could not read ${z}:`,H),""}},G=[];for(let z of $){let H=A(z.fileName);if(!H)continue;if(z.fileName.includes("breakpoint"))G.push(H);else W.push(H)}if(Y){let z=A("tokens.icons.css");if(z)W.push(z)}if(Z){let z=A("fonts.css");if(z)W.push(z)}W.push(...G);let E=`/**
407
+ * ${X} Design System - Raw/Inline CSS
408
+ * Generated: ${new Date().toISOString()}
409
+ *
410
+ * This file contains all CSS inlined (no @import statements).
411
+ * Use this file when you need to import CSS as a raw string (e.g., import styles from './styles.css?raw')
412
+ * Perfect for web components that need CSS inlined in their shadow DOM.
413
+ *
414
+ * Do not edit this file directly - it will be overwritten.
415
+ */
416
+
417
+ ${W.join(`
418
+
419
+ `)}
420
+ `;return{fileName:`${X}.design-system.tokens.raw.css`,content:E,theme:void 0}}function o1($,X){let Y=$.replace(/\\/g,"/");if(X.replace(/\\/g,"/").startsWith(Y))return{valid:!1,error:`⚠️ Compositions directory cannot be inside tokens directory.
421
+ `+` Tokens dir: ${$}
422
+ Compositions dir: ${X}
423
+ Please move compositions to a separate directory (e.g., './compositions')`};return{valid:!0}}function e1($,X){let Y=[];if(y0($)){let Z=e2($);if(Z.isDirectory())try{let q=a1($);for(let U of q){if(!U.endsWith(".json"))continue;let K=b($,U);if(e2(K).isFile())try{let A=g0(K,"utf-8"),G=JSON.parse(A);if(Array.isArray(G))Y.push(...G);else Y.push(G)}catch(A){console.warn(`⚠️ Failed to parse composition file ${U}:`,A)}}}catch(q){console.warn("⚠️ Failed to read compositions directory:",q)}else if(Z.isFile()&&$.endsWith(".json"))try{let q=g0($,"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(y0(Z))try{let q=g0(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 $4($,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 Y4($,X){let Y=$.match(/^\{(.+)\}$/);if(!Y)return $;let q=Y[1].replace(/\./g,"-");return q=$4(q,X),`var(--${q})`}function X4($,X,Y,Z){let q=[],U=$.filter((A)=>A.platform==="css");if(U.length===0)return q;let K=new Map,W="compositions.css";for(let A of U){let G=A.fileName||"";if(G.endsWith(".css"))G=G.slice(0,-4);let E=G?`${G}.css`:W;if(!K.has(E))K.set(E,[]);K.get(E).push(A)}for(let[A,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: ${A}`),E.push(` */
424
+ `),G.length===0)E.push("/* No compositions defined */");else for(let H of G){E.push(`/* ${H.name} */`),E.push(`${H.selector} {`);for(let _ of H.properties){let L=Y4(_.token,X);E.push(` ${_.property}: ${L};`)}E.push(`}
425
+ `)}let z=E.join(`
426
+ `);q.push({fileName:A,content:z,theme:void 0})}return q}async function YY($){let X=Date.now(),Y={tokenCount:0,cssFiles:[],typescriptFiles:[],javascriptFiles:[],jsonFiles:[],duration:0,warnings:[],errors:[]};try{M(`
427
+ Starting token build process...`,$.verbose);let{initializeColorspace:Z}=await Promise.resolve().then(() => (K$(),d0));await Z(),M("Loading token files...",$.verbose);let q=B0($.tokensDir);M("Parsing tokens...",$.verbose);let U=Z4($.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(`
428
+ Generating CSS files...`,$.verbose);let G=$Y($.config,$.cssOptions),E=C$(W,G);for(let z of E){let H=b($.outputDir,"css",z.fileName);r(H,z.content),M(` ✓ ${z.fileName}`,$.verbose)}Y.cssFiles=E}if($.generateCSS!==!1)try{await C0(),M(`
429
+ 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=$Y($.config,$.cssOptions),z=F0(G,{customHeader:g$($.config),objectPath:$.config.$metaData?.icons?.objectPath||"universe.custom.path.icons",hooks:E.hooks}),H=b($.outputDir,"css",z.fileName);if(r(H,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose),Y.cssFiles)Y.cssFiles.push(z);else Y.cssFiles=[z]}}catch(G){if($.verbose)console.warn("Could not generate icon CSS:",G)}let A=!1;if($.generateCSS!==!1)try{let G=$.config.$fonts;if(G&&G.length>0){await _0(G,$.outputDir),M(" ✓ Generated fonts.css",$.verbose),A=!0;let E={fileName:"fonts.css",content:"Generated by appendTypographyTokens",theme:void 0};if(Y.cssFiles)Y.cssFiles.push(E);else Y.cssFiles=[E]}}catch(G){if($.verbose)console.warn("Could not generate font CSS:",G)}if($.generateCSS!==!1&&Y.cssFiles.length>0){let G=$.config.$metaData?.tokenNamespace||"tokens",E=Y.cssFiles.some((L)=>L.fileName==="tokens.icons.css"),z=$.config.$metaData?.modes?.isHost||!1,H=n1(Y.cssFiles.filter((L)=>L.fileName!=="tokens.icons.css"&&L.fileName!=="fonts.css"),G,E,A),_=b($.outputDir,H.fileName);if(r(_,H.content),M(` ✓ Generated ${H.fileName}`,$.verbose),Y.cssFiles.push(H),z){let L=t1(Y.cssFiles.filter((B)=>B.fileName!=="tokens.icons.css"&&B.fileName!=="fonts.css"&&!B.fileName.includes(".design-system.tokens.css")),G,E,A,$.outputDir),Q=b($.outputDir,L.fileName);r(Q,L.content),M(` ✓ Generated ${L.fileName} (raw/inline for web components)`,$.verbose),Y.cssFiles.push(L)}}if($.generateCSS!==!1&&$.config.$paths.compositionsDir)try{let G=$.config.$paths.baseDir,E=$.config.$paths.tokensDir,z=$.tokensDir,H=E.split("/").filter((w)=>w&&w!=="."&&w!=="..");for(let w=0;w<H.length;w++)z=J$(z);let _=G.split("/").filter((w)=>w&&w!=="."&&w!=="..");for(let w=0;w<_.length;w++)z=J$(z);let L=b(z,G,$.config.$paths.compositionsDir),Q=b(z,G);if($.verbose)console.log(` Project root: ${z}`),console.log(` Base dir: ${Q}`),console.log(` Compositions dir: ${L}`);let B=o1($.tokensDir,L);if(!B.valid)console.error(B.error),Y.errors.push(B.error);else{M(`
430
+ Processing composition files...`,$.verbose);let w=e1(L,Q);if(w.length>0){M(` Found ${w.length} composition(s)`,$.verbose);let O=new Map;for(let J of W)O.set(J.path,J);let I=X4(w,$.config,O,$.outputDir);for(let J of I){let R=b($.outputDir,"css",J.fileName);r(R,J.content),M(` ✓ Generated ${J.fileName}`,$.verbose),Y.cssFiles.push(J)}}else M(` No compositions found in ${L}`,$.verbose)}}catch(G){if($.verbose)console.warn("Could not generate composition CSS:",G)}if($.generateTypeScript!==!1){M(`
431
+ Generating TypeScript files...`,$.verbose);let G=q4($.config,$.typescriptOptions),E=await P0(W,G);for(let z of E){let H=b($.outputDir,"typescript",z.fileName);r(H,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.typescriptFiles=E}if($.generateJavaScript!==!1){M(`
432
+ Generating JavaScript files...`,$.verbose);let G=U4($.config,$.javascriptOptions),E=i2(W,G);for(let z of E){let H=b($.outputDir,"js",z.fileName);r(H,z.content),M(` ✓ Generated ${z.fileName}`,$.verbose)}Y.javascriptFiles=E}if($.generateJSON!==!1){M(`
433
+ Generating JSON files...`,$.verbose);let G=W4(W,K,$.config);for(let E of G){let z=b($.outputDir,"json",E.fileName);r(z,E.content),M(` ✓ Generated ${E.fileName}`,$.verbose)}Y.jsonFiles=G}Y.duration=Date.now()-X,M(`
408
434
  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(`
409
- Validating build output...`,$.verbose);let{validateCSSFiles:Z,printValidationResults:q}=await Promise.resolve().then(() => (l2(),c2)),U=Z($.outputDir,$.config);if($.verbose||!U.isValid)q(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function d1($){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 H=K.replace(/\./g,"-").replace(/-$/,""),G=W.replace(/\./g,"-").replace(/-$/,"");U=U.replace(H,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 s2($,X){let Z=$.$metaData.tokens?.css,q=$.$modes?[...Object.values($.$modes)]:["light","dark"];return{...X,separateThemeFiles:Z?.mediaQuery?.separateThemeFiles??!1,rootSelector:":root",generateMediaQueries:!0,customHeader:V$($),themeSelector:Z?.mediaQuery?.match||"[data-theme]",modes:q,hooks:Z?.hooks}}function u1($,X){let Y=$.$metaData;return{...X,tokenInterface:"DesignTokens",exportNamespace:Y.dsNamespace||Y.tokenNamespace,generateTypes:!0,generateConsts:!0,generateCSSVarMappings:!0,includeJSDoc:!0}}function k1($,X){let Y=$.$modes?[...Object.values($.$modes)]:["light","dark"];return{...X,modes:Y,typescript:!0,separateThemeFiles:!0,includeJSDoc:!1,moduleType:"es",customHeader:`/**
435
+ Validating build output...`,$.verbose);let{validateCSSFiles:Z,printValidationResults:q}=await Promise.resolve().then(() => (o2(),t2)),U=Z($.outputDir,$.config);if($.verbose||!U.isValid)q(U);if(!U.isValid)Y.errors.push(...U.errors)}return Y}function Z4($){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 A=K.replace(/\./g,"-").replace(/-$/,""),G=W.replace(/\./g,"-").replace(/-$/,"");U=U.replace(A,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 $Y($,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 q4($,X){let Y=$.$metaData;return{...X,tokenInterface:"DesignTokens",exportNamespace:Y.dsNamespace||Y.tokenNamespace,generateTypes:!0,generateConsts:!0,generateCSSVarMappings:!0,includeJSDoc:!0}}function U4($,X){let Y=$.$modes?[...Object.values($.$modes)]:["light","dark"];return{...X,modes:Y,typescript:!0,separateThemeFiles:!0,includeJSDoc:!1,moduleType:"es",customHeader:`/**
410
436
  * ${$.$name}
411
437
  * Generated: ${new Date().toISOString()}
412
- */`}}function c1($,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,H)=>{return W[H.name]={$type:H.type,$value:H.value,$description:H.description,$extensions:H.extensions},W},{})},null,2);Z.push({fileName:"tokens.raw.json",content:q});let U=JSON.stringify({$name:Y.$name,$version:Y.$version,tokens:$.reduce((W,H)=>{return W[H.name]={$type:H.type,$value:H.value,$description:H.description,cssVar:H.cssVar},W},{})},null,2);Z.push({fileName:"tokens.resolved.json",content:U});let K=JSON.stringify({$name:`${Y.$name} - CSS Variables`,$version:Y.$version,variables:$.reduce((W,H)=>{return W[H.cssVar]=H.value,W},{})},null,2);return Z.push({fileName:"css-variables.json",content:K}),Z}function q$($,X){let Y=D0($);if(!p1(Y))v1(Y,{recursive:!0});h1($,X,"utf-8")}function M($,X){if(X!==!1)console.log($)}async function P0($,X){let Y=typeof globalThis.Bun<"u",Z=$,q=null;if($.endsWith(".ts")&&!Y){let{compileConfigFile:z,getDistConfigFile:L}=await Promise.resolve().then(() => (E$(),W2)),E=D0($);await z(E),Z=L(E),q=Z}let K=(await import(Z)).default,W=D0($),H=(z)=>{if(z.startsWith("../"))return d(W,z);return d(W,K.$paths.baseDir,z)},G=d(W,K.$paths.baseDir,K.$paths.tokensDir),A=X||H(K.$paths.distDir);try{return await i2({config:K,tokensDir:G,outputDir:A,verbose:!0})}finally{if(q){let{existsSync:z,unlinkSync:L}=await import("fs");if(z(q))try{L(q)}catch(E){}}}}var b0=S(()=>{h2();g$();k2();Q0();N0();z0()});function l1($,X,Y){let Z=P($,{isIncludedOriginalValue:!0}),q=g($,Y);if(!q||!u($,"mode",{isIncludedOriginalValue:!1}))q=Z;return R$($,q,X,Y)}function F$($,X,Y){let Z=l1($,X,Y),q=typeof Z==="string"?o(Z):null;if(q&&(q?.length??0)>=1)return t(Z,q,X,Y);else return s1($,X,Y)}function s1($,X,Y){return R$($,d$($,X,Y),X,Y)}function R$($,X,Y,Z){if(!$)return null;if($.$type==="color")X=J$(X,$,Y,Z);else if($.$type==="composition"||$.$type==="typography")X=n($,Y,Z);return X}var w$="did";var V=S(()=>{W$();p$();c$();W$();E$();K2();G2();H2();p$();c$();z0();Q0();g$();N0();b0()});V();b0();import{existsSync as i1}from"fs";import{resolve as r1,join as r2}from"path";import a1 from"chokidar";if(process.argv.includes("--help")||process.argv.includes("-h"))console.log(`
438
+ */`}}function W4($,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,A)=>{return W[A.name]={$type:A.type,$value:A.value,$description:A.description,$extensions:A.extensions},W},{})},null,2);Z.push({fileName:"tokens.raw.json",content:q});let U=JSON.stringify({$name:Y.$name,$version:Y.$version,tokens:$.reduce((W,A)=>{return W[A.name]={$type:A.type,$value:A.value,$description:A.description,cssVar:A.cssVar},W},{})},null,2);Z.push({fileName:"tokens.resolved.json",content:U});let K=JSON.stringify({$name:`${Y.$name} - CSS Variables`,$version:Y.$version,variables:$.reduce((W,A)=>{return W[A.cssVar]=A.value,W},{})},null,2);return Z.push({fileName:"css-variables.json",content:K}),Z}function r($,X){let Y=J$($);if(!y0(Y))s1(Y,{recursive:!0});i1($,X,"utf-8")}function M($,X){if(X!==!1)console.log($)}async function v0($,X){let Y=typeof globalThis.Bun<"u",Z=$,q=null;if($.endsWith(".ts")&&!Y){let{compileConfigFile:z,getDistConfigFile:H}=await Promise.resolve().then(() => (_$(),L2)),_=J$($);await z(_),Z=H(_),q=Z}let K=(await import(Z)).default,W=J$($),A=(z)=>{if(z.startsWith("../"))return b(W,z);return b(W,K.$paths.baseDir,z)},G=b(W,K.$paths.baseDir,K.$paths.tokensDir),E=X||A(K.$paths.distDir);try{return await YY({config:K,tokensDir:G,outputDir:E,verbose:!0})}finally{if(q){let{existsSync:z,unlinkSync:H}=await import("fs");if(z(q))try{H(q)}catch(_){}}}}var h0=P(()=>{c2();y$();n2();R0();D0();Q0()});function K4($,X,Y){let Z=D($,{isIncludedOriginalValue:!0}),q=g($,Y);if(!q||!k($,"mode",{isIncludedOriginalValue:!1}))q=Z;return N$($,q,X,Y)}function j$($,X,Y){let Z=K4($,X,Y),q=typeof Z==="string"?$$(Z):null;if(q&&(q?.length??0)>=1)return e(Z,q,X,Y);else return G4($,X,Y)}function G4($,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=o($,Y,Z);return X}var w$="did";var T=P(()=>{K$();c$();a$();K$();_$();_2();Q2();O2();c$();a$();Q0();R0();y$();D0();h0()});T();h0();import{existsSync as A4}from"fs";import{resolve as E4,join as UY}from"path";import H4 from"chokidar";import{existsSync as f$,statSync as XY}from"fs";import{resolve as ZY}from"path";import{execSync as z4}from"child_process";async function qY($,X=!1){let Y=process.cwd(),Z=$||ZY(Y,"designid.config.ts"),q=ZY(Y,"designid.config.mjs");if(!f$(Z))return!1;if(!(!f$(q)||f$(Z)&&f$(q)&&XY(Z).mtimeMs>XY(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(z4(`bun build ${Z} --outfile ${q} --minify --target node --packages external --no-bundle`,{stdio:X?"inherit":"pipe"}),X)console.log(`✅ Config compiled successfully
439
+ `);return!0}catch(K){if(console.error("❌ Failed to compile config file"),K instanceof Error)console.error(K.message);throw K}}if(process.argv.includes("--help")||process.argv.includes("-h"))console.log(`
413
440
  Watch Tokens - File watcher for design token changes
414
441
 
415
442
  Usage:
@@ -424,12 +451,12 @@ Example:
424
451
  bun src/scripts/watch-tokens.ts
425
452
  bun src/scripts/watch-tokens.ts --config=./custom-config.ts
426
453
  bun src/scripts/watch-tokens.ts --dev
427
- `),process.exit(0);async function n1(){let $=await i(),{distDir:X,buildDir:Y}=await v(),Z=[/node_modules/,/dist/,/build/,r2($,X),r2($,Y)],q=a1.watch(["**/*.tokens.json","designid.config.ts"],{ignored:Z,persistent:!0}),U,K=300,W=!1;function H(z){let L=[z,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let E of L){let B=r1(E);if(i1(B))return B}throw Error(`Config file not found. Tried: ${L.join(", ")}`)}let G=async()=>{if(W){console.log(`[${new Date().toLocaleTimeString()}] Build already in progress, skipping...`);return}clearTimeout(U),U=setTimeout(async()=>{W=!0,console.clear(),process.stdout.write("\x1Bc"),console.log(`[${new Date().toLocaleTimeString()}] Changes detected. Re-building tokens...
428
- `);let z=(()=>{let L=process.argv.find((E)=>E.startsWith("--config="));return L?L.split("=")[1]:void 0})();try{let L=H(z);console.log(`Using config: ${L}`);let E=await P0(L);if(E.errors.length>0){console.log(`
429
- ❌ Build failed with ${E.errors.length} error${E.errors.length>1?"s":""}:`),E.errors.forEach((B)=>console.log(` - ${B}`)),W=!1;return}if(console.log(`
430
- ✅ Build completed successfully!`),console.log(`Processed ${E.tokenCount} tokens in ${E.duration}ms`),E.cssFiles.length>0)console.log(`Generated ${E.cssFiles.length} CSS files`);if(E.typescriptFiles.length>0)console.log(`Generated ${E.typescriptFiles.length} TypeScript files`);if(E.warnings.length>0)console.log(`
431
- Warnings:`),E.warnings.forEach((B)=>console.log(` - ${B}`));console.log(`
454
+ `),process.exit(0);async function L4(){let $=await s(),{distDir:X,buildDir:Y}=await m(),Z=[/node_modules/,/dist/,/build/,UY($,X),UY($,Y)],q=H4.watch(["**/*.tokens.json","designid.config.ts"],{ignored:Z,persistent:!0}),U,K=300,W=!1;function A(z){let H=[z,"./designid.config.ts","./designid.config.mjs","./designid.config.js","./tokens.config.ts","./tokens.config.js"].filter(Boolean);for(let _ of H){let L=E4(_);if(A4(L))return L}throw Error(`Config file not found. Tried: ${H.join(", ")}`)}let G=async()=>{if(W){console.log(`[${new Date().toLocaleTimeString()}] Build already in progress, skipping...`);return}clearTimeout(U),U=setTimeout(async()=>{W=!0,console.clear(),process.stdout.write("\x1Bc"),console.log(`[${new Date().toLocaleTimeString()}] Changes detected. Re-building tokens...
455
+ `);let z=(()=>{let H=process.argv.find((_)=>_.startsWith("--config="));return H?H.split("=")[1]:void 0})();try{await qY(z,!1);let H=A(z);console.log(`Using config: ${H}`);let _=await v0(H);if(_.errors.length>0){console.log(`
456
+ ❌ Build failed with ${_.errors.length} error${_.errors.length>1?"s":""}:`),_.errors.forEach((L)=>console.log(` - ${L}`)),W=!1;return}if(console.log(`
457
+ ✅ Build completed successfully!`),console.log(`Processed ${_.tokenCount} tokens in ${_.duration}ms`),_.cssFiles.length>0)console.log(`Generated ${_.cssFiles.length} CSS files`);if(_.typescriptFiles.length>0)console.log(`Generated ${_.typescriptFiles.length} TypeScript files`);if(_.warnings.length>0)console.log(`
458
+ Warnings:`),_.warnings.forEach((L)=>console.log(` - ${L}`));console.log(`
432
459
  Completed at ${new Date().toLocaleTimeString()}
433
- `)}catch(L){console.error(`
434
- ❌ Build failed:`,L)}finally{W=!1}},300)};q.on("ready",()=>{console.log("Watching for changes in .tokens.json files and designid.config.ts..."),console.log(`Working directory: ${process.cwd()}`),console.log(`Press Ctrl+C to stop watching
435
- `)}).on("change",(z)=>{console.log(`Changed: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("add",(z)=>{console.log(`Added: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("unlink",(z)=>{console.log(`Deleted: ${z}`),G().catch((L)=>{console.error("Error during token build:",L)})}).on("error",(z)=>{console.error(`Watcher error: ${z}`)});let A=()=>{clearTimeout(U),q.close().then(()=>{console.log("File watcher closed successfully"),process.exit(0)}).catch((z)=>{console.error("Error closing file watcher:",z),process.exit(1)})};process.on("SIGINT",A),process.on("SIGTERM",A),process.on("SIGHUP",A),process.on("uncaughtException",(z)=>{console.error("Uncaught Exception:",z),A()}),process.on("unhandledRejection",(z,L)=>{console.error("Unhandled Rejection at:",L,"reason:",z),A()})}var t1=process.argv[1]?.includes("tokens-watch")||process.argv[1]?.endsWith("watch.js")||import.meta.url===`file://${process.argv[1]}`;if(t1)n1().catch(($)=>{console.error("Error starting watch process:",$),process.exit(1)});export{n1 as runWatch};
460
+ `)}catch(H){console.error(`
461
+ ❌ Build failed:`,H)}finally{W=!1}},300)};q.on("ready",()=>{console.log("Watching for changes in .tokens.json files and designid.config.ts..."),console.log(`Working directory: ${process.cwd()}`),console.log(`Press Ctrl+C to stop watching
462
+ `)}).on("change",(z)=>{console.log(`Changed: ${z}`),G().catch((H)=>{console.error("Error during token build:",H)})}).on("add",(z)=>{console.log(`Added: ${z}`),G().catch((H)=>{console.error("Error during token build:",H)})}).on("unlink",(z)=>{console.log(`Deleted: ${z}`),G().catch((H)=>{console.error("Error during token build:",H)})}).on("error",(z)=>{console.error(`Watcher error: ${z}`)});let E=()=>{clearTimeout(U),q.close().then(()=>{console.log("File watcher closed successfully"),process.exit(0)}).catch((z)=>{console.error("Error closing file watcher:",z),process.exit(1)})};process.on("SIGINT",E),process.on("SIGTERM",E),process.on("SIGHUP",E),process.on("uncaughtException",(z)=>{console.error("Uncaught Exception:",z),E()}),process.on("unhandledRejection",(z,H)=>{console.error("Unhandled Rejection at:",H,"reason:",z),E()})}var _4=process.argv[1]?.includes("tokens-watch")||process.argv[1]?.endsWith("watch.js")||import.meta.url===`file://${process.argv[1]}`;if(_4)L4().catch(($)=>{console.error("Error starting watch process:",$),process.exit(1)});export{L4 as runWatch};