@razorwind/core 0.0.63 → 0.0.65

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.
@@ -52,6 +52,8 @@ declare function resolveTokenSets(tokens: Tokens | Record<string, Tokens>): Toke
52
52
  interface FlattenTokensOptions<T extends BaseFlatToken = BaseFlatToken> {
53
53
  /** When set, only tokens whose `$type` is listed are returned. */
54
54
  includeTypes?: readonly string[];
55
+ /** Return false to omit a token leaf from the flattened result. */
56
+ shouldIncludeToken?: (node: Record<string, unknown>) => boolean;
55
57
  /** Map each base row before it is appended (e.g. add `cssVar`). */
56
58
  enrichToken?: (token: BaseFlatToken) => T;
57
59
  }
@@ -61,4 +63,4 @@ interface FlattenTokensOptions<T extends BaseFlatToken = BaseFlatToken> {
61
63
  declare function flattenTokens<T extends BaseFlatToken = BaseFlatToken>(tokens: Tokens | Record<string, Tokens>, options?: FlattenTokensOptions<T>): T[];
62
64
  //#endregion
63
65
  export { TokenSet as a, isTokenLeaf as c, TOKEN_SET_THEME_PATTERN as i, resolveTokenSets as l, FlattenTokensOptions as n, flattenTokens as o, SHARED_THEME_ID as r, isSharedThemeId as s, BaseFlatToken as t };
64
- //# sourceMappingURL=flatten-tokens-Dz4e2IHx.d.mts.map
66
+ //# sourceMappingURL=flatten-tokens-C0nE3f3F.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-tokens-C0nE3f3F.d.mts","names":[],"sources":["../src/utils/flatten-tokens.ts"],"mappings":""}
@@ -52,6 +52,8 @@ declare function resolveTokenSets(tokens: Tokens | Record<string, Tokens>): Toke
52
52
  interface FlattenTokensOptions<T extends BaseFlatToken = BaseFlatToken> {
53
53
  /** When set, only tokens whose `$type` is listed are returned. */
54
54
  includeTypes?: readonly string[];
55
+ /** Return false to omit a token leaf from the flattened result. */
56
+ shouldIncludeToken?: (node: Record<string, unknown>) => boolean;
55
57
  /** Map each base row before it is appended (e.g. add `cssVar`). */
56
58
  enrichToken?: (token: BaseFlatToken) => T;
57
59
  }
@@ -61,4 +63,4 @@ interface FlattenTokensOptions<T extends BaseFlatToken = BaseFlatToken> {
61
63
  declare function flattenTokens<T extends BaseFlatToken = BaseFlatToken>(tokens: Tokens | Record<string, Tokens>, options?: FlattenTokensOptions<T>): T[];
62
64
  //#endregion
63
65
  export { TokenSet as a, isTokenLeaf as c, TOKEN_SET_THEME_PATTERN as i, resolveTokenSets as l, FlattenTokensOptions as n, flattenTokens as o, SHARED_THEME_ID as r, isSharedThemeId as s, BaseFlatToken as t };
64
- //# sourceMappingURL=flatten-tokens-DWbPW_3z.d.cts.map
66
+ //# sourceMappingURL=flatten-tokens-DnBs9dU2.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-tokens-DnBs9dU2.d.cts","names":[],"sources":["../src/utils/flatten-tokens.ts"],"mappings":";;;;;UA6BiB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;UAGe;EACf;EACA,QAAQ;;;;;;;;cASG,yBAAuB;;;;;cAOvB;;;;;iBAQG,gBAAgB;;;;iBAOhB,YAAY,MAAM;;;;;;;iBAkGlB,iBACd,QAAQ,SAAS,eAAe,UAC/B;UAqBc,qBAAqB,UAAU,gBAAgB;;EAE9D;;EAEA,sBAAsB,MAAM;;EAE5B,eAAe,OAAO,kBAAkB;;;;;iBAM1B,cAAc,UAAU,gBAAgB,eACtD,QAAQ,SAAS,eAAe,SAChC,UAAS,qBAAqB,KAC7B"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-gLQ_OAIF.cjs"),n=require("./schema-BCofDJWf.cjs"),r=require("./fonts-DdrFkdpK.cjs"),i=require("./tokens-DwwHrTLr.cjs"),a=require("./plugin.cjs");let o=require("@power-plant/core"),s=require("defu"),c=require("node:path"),l=require("@stryke/string-format/title-case"),u=require("@stryke/fs/exists"),d=require("@stryke/fs/is-file"),f=require("@stryke/fs/json"),p=require("@stryke/fs/list-files"),m=require("@stryke/path/append"),h=require("@stryke/path/file-path-fns"),g=require("@stryke/path/join"),_=require("@stryke/type-checks/is-set-object"),v=require("@stryke/type-checks/is-set-string"),y=require("node:fs/promises"),ee=require("@stryke/env/get-env-paths"),b=require("@stryke/path/find"),x=require("@stryke/path/replace"),te=require("@stryke/type-checks/is-function"),S=require("c12"),ne=require("jiti"),C=require("node:fs"),w=require("node:os");w=e.t(w,1);function T(e){let n=t._(e),r=n.filter(e=>!t.h(e.id));return r.length===0||r.length===1&&n.length===1?[]:r}function re(e,n){let r=e.find(e=>e.id===t.f);return!r||t.h(n.id)?n.tokens:t.d(n.tokens,r.tokens)}function ie(e,n,r){return{...e,theme:n.id,title:t.c(e.title,n.id)??e.title,tokens:re(r,n)}}function ae(e,n){let r=t.c(e.title,n.id);return r?{...e,title:r}:e}async function E(e,t,n=t.plugins.filter(e=>e.generate)){let r={};for(let i of n){let n=await i.generate(e,t);r=(0,s.defu)(n,r)}return r}function D(e){return e.themeGeneration===`combined`}async function O(e,n){let r=n.plugins.filter(e=>e.generate),i=r.filter(D),a=r.filter(e=>!D(e)),o={};i.length>0&&(o=(0,s.defu)(await E(e,n,i),o));let c=t._(e.tokens),l=T(e.tokens);if(a.length===0)return o;if(l.length===0)return(0,s.defu)(await E(e,n,a),o);for(let r of l){let i=await E(ie(e,r,c),ae(n,r),a);o=(0,s.defu)(t.s(i,r.id),o)}return o}async function k(e){let t={};for(let n of e)Object.assign(t,await O(n.spec,n.config));return t}function A(e){return!!((0,v.isSetString)(e)||(0,_.isSetObject)(e)&&`url`in e&&(0,v.isSetString)(e.url))}function j(e){if((0,v.isSetString)(e))return e;if((0,_.isSetObject)(e)&&`url`in e&&(0,v.isSetString)(e.url))return e.url}const oe=n.o.partial(),M=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),se=(0,s.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function ce(e,t){return(0,c.isAbsolute)(t)?t:(0,c.resolve)(e,t)}function le(e){return Array.isArray(e)?e.filter(v.isSetString):(0,v.isSetString)(e)?[e]:[]}function N(e){let t=e.toLowerCase();if(M.has(t))return t}function ue(e){let t=(0,h.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&M.has(t))}function P(e){if(!e)return;let t=n.a.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.a.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function F(e){if(!e)return;let t=n.s.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){if((0,v.isSetString)(t)){let e=(0,h.findFileName)(t,{withExtension:!1})||t,i=n.s.safeParse({name:e,path:t});i.success&&r.push(i.data);continue}let e=n.s.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function I(e){if(!(0,_.isSetObject)(e))return;let{files:t,usage:n,...r}=e,i=oe.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function L(e){return(0,_.isSetObject)(e)&&`path`in e}async function de(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}let r={};(0,v.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,v.isSetString)(n.description)&&(r.description=n.description),(0,v.isSetString)(n.version)&&(r.version=n.version),(0,v.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=j(n.repository);if(i&&(r.repository=i),(0,_.isSetObject)(n.dependencies)&&(r.dependencies=n.dependencies),(0,_.isSetObject)(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(v.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;L(a)?s=P(a):(0,_.isSetObject)(a)&&(o=I(a),`files`in a&&(s=P(a.files)),`usage`in a&&(c=F(a.usage)));let l=se(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function fe(e){let t=(0,g.joinPaths)(e,`component.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}if(L(n)||Array.isArray(n)){let e=P(n);if(e)return{files:e}}if(!(0,_.isSetObject)(n))return;let r=I(n)??{},i=`files`in n?P(n.files):void 0,a=`usage`in n?F(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function pe(e){try{return(await(0,y.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ue(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function me(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,m.appendPath)(t.path,e),r=(0,h.findFileExtensionSafe)(t.path)??``,i=t.language??N(r),a=t.name||(0,h.findFileName)(t.path,{withExtension:!1})||t.path,o=t.content??((0,u.existsSync)(n)?await(0,y.readFile)(n,`utf8`):void 0);return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=(0,g.joinPaths)(e,`usage`);if(!(0,u.existsSync)(n)||!(0,d.isDirectory)(n))return;let r=await pe(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=(0,g.joinPaths)(n,e),r=N((0,h.findFileExtensionSafe)(e)??``),i=(0,h.findFileName)(e,{withExtension:!1})||e;return{name:i,title:(0,l.titleCase)(i),path:t,content:await(0,y.readFile)(t,`utf8`),...r?{language:r}:{}}}))}async function he(e,t){let n=t??(await(0,p.listFiles)(e)).filter(e=>(0,h.findFileName)(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test((0,h.findFileExtensionSafe)(t))?`component`:`file`,path:t,content:await(0,y.readFile)((0,m.appendPath)(t,e),`utf8`)}:{type:/[tj]sx$/.test((0,h.findFileExtensionSafe)(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await(0,y.readFile)((0,m.appendPath)(t.path,e),`utf8`):void 0,path:(0,m.appendPath)(t.path,e)}))}async function ge(e){let t=await de(e),r=await fe(e);if(!t&&!r)return;let i=se(r??{},t??{}),a=(0,v.isSetString)(i.name)?i.name:(0,h.findFolderName)(e),o=(0,v.isSetString)(i.title)?i.title:(0,l.titleCase)(a),s=n.o.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await me(e,s.data.usage);return{...s.data,files:await he(e,s.data.files),...c?.length?{usage:c}:{}}}async function R(e){let t={},n=le(e.options.componentsPath);for(let r of n){let n=ce(e.cwd,r);if((0,u.existsSync)(n)&&(0,d.isDirectory)(n))try{let e=await(0,y.readdir)(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await ge((0,g.joinPaths)(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const _e=n.r.partial(),z=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),B=(0,s.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function ve(e,t){return(0,c.isAbsolute)(t)?t:(0,c.resolve)(e,t)}function ye(e){return Array.isArray(e)?e.filter(v.isSetString):(0,v.isSetString)(e)?[e]:[]}function V(e){let t=e.toLowerCase();if(z.has(t))return t}function H(e){let t=(0,h.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&z.has(t))}function be(e){return i.x.test(e)}async function U(e){try{return(await(0,y.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&H(e.name)).map(e=>e.name)}catch{return[]}}function W(e){if(!e)return;let t=n.n.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.n.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function G(e){if(!(0,_.isSetObject)(e))return;let t=_e.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function K(e){return(0,_.isSetObject)(e)&&`path`in e}async function q(e,t,n){let r=(0,m.appendPath)(e,t),i=V((0,h.findFileExtensionSafe)(e)??``)??`file`,a=i===`svg`?await(0,y.readFile)(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function xe(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}let r={};(0,v.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,v.isSetString)(n.description)&&(r.description=n.description),(0,v.isSetString)(n.version)&&(r.version=n.version),(0,v.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=j(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(v.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;K(a)?s=W(a):(0,_.isSetObject)(a)&&(o=G(a),`files`in a&&(s=W(a.files)));let c=B(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function Se(e){let t=(0,g.joinPaths)(e,`icon.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}if(K(n)||Array.isArray(n)){let e=W(n);if(e)return{files:e}}return G(n)}async function Ce(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,m.appendPath)(t.path,e),r=(0,h.findFileExtensionSafe)(t.path)??``,i=t.type??V(r)??`file`,a=t.content===void 0?i===`svg`?await(0,y.readFile)(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await U(e);return Promise.all(n.map(t=>q(t,e)))}async function we(e){let t=await xe(e),r=await Se(e),i=await U(e);if(!t&&!r&&i.length===0)return;let a=B(r??{},t??{}),o=(0,v.isSetString)(a.name)?a.name:(0,h.findFolderName)(e),s=(0,v.isSetString)(a.title)?a.title:(0,l.titleCase)(o),c=n.r.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await Ce(e,c.data.files)}}function J(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:(0,l.titleCase)(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function Te(e,t,n){let r=await U(e);for(let i of r){let r=(0,h.findFileName)(i,{withExtension:!1});r&&J(n,r,await q(i,e,t))}}async function Y(e){let t={},n=ye(e.options.iconsPath);for(let r of n){let n=ve(e.cwd,r);if((0,u.existsSync)(n)&&(0,d.isDirectory)(n))try{let e=await(0,y.readdir)(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=(0,g.joinPaths)(n,r.name);if(r.isDirectory()){if(be(r.name)){await Te(e,r.name,t);continue}let n=await we(e);if(n){let e=t[n.name];t[n.name]=e?B(n,e):n}continue}if(r.isFile()&&H(r.name)){let e=(0,h.findFileName)(r.name,{withExtension:!1});if(!e)continue;J(t,e,await q(r.name,n))}}}catch{continue}}return t}function X(e,t){let n=e[t];return(0,v.isSetString)(n)?n:void 0}function Z(e){let t={};(0,v.isSetString)(e.name)&&(t.name=e.name),(0,v.isSetString)(e.description)&&(t.description=e.description),(0,v.isSetString)(e.homepage)&&(t.homepage=e.homepage);let n=j(e.repository);n&&(t.repository=n),(0,v.isSetString)(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if((0,_.isSetObject)(r)){let t=r,n=X(t,`title`),a=X(t,`name`),o=X(t,`description`),s=X(t,`homepage`),c=X(t,`logo`),u=j(t.repository);a?i.name=a:(0,v.isSetString)(e.name)&&(i.name=e.name),n?i.title=n:(0,v.isSetString)(i.name)&&(i.title=(0,l.titleCase)(i.name)),o?i.description=o:(0,v.isSetString)(e.description)&&(i.description=e.description),s?i.homepage=s:A(e.homepage)?i.homepage=j(e.homepage):A(e.author)?i.homepage=j(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&A(e.maintainers[0])?i.homepage=j(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&A(e.contributors[0])?i.homepage=j(e.contributors[0]):A(e.bugs)&&(i.homepage=j(e.bugs)),c&&(i.logo=c),u?i.repository=u:A(e.repository)&&(i.repository=j(e.repository))}return(0,s.defu)(i,t)}function Ee(e){let t={};return(0,v.isSetString)(e.name)&&(t.name=e.name),(0,v.isSetString)(e.title)&&(t.title=e.title),(0,v.isSetString)(e.description)&&(t.description=e.description),(0,v.isSetString)(e.repository)&&(t.repository=e.repository),(0,v.isSetString)(e.homepage)&&(t.homepage=e.homepage),(0,v.isSetString)(e.logo)&&(t.logo=e.logo),t}async function De(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return{};let n;try{n=await(0,f.readJsonFile)(t)}catch{return{}}return Z(n)}async function Oe(e,t){let n=await De(e),r=Ee(t);return(0,s.defu)(r,n)}function ke(e){let t=new Set,n=new Set,r=e=>{let t=[];for(let i of e)i&&!n.has(i)&&(n.add(i),i.plugins&&t.push(...r(i.plugins)),(i.parsers?.length||i.preprocessors?.length||i.extract||i.generate||i.validate)&&t.push(i),n.delete(i));return t};return r(e).filter(e=>!e?.name||!t.has(e.name)&&(t.add(e.name),!0))}const Ae=w.default.homedir();function je(e){return Array.isArray(e)?e.filter(e=>(0,_.isSetObject)(e)):[]}function Q(e){return Array.isArray(e)||!(0,_.isSetObject)(e)?{}:{...e}}const Me=[`tokensPath`,`componentsPath`,`iconsPath`,`fontsPath`];function Ne(e,t){let n={...e};for(let e of Me)t[e]!=null&&delete n[e];return n}function Pe(e,t,n,r){let i=(0,s.defu)({cwd:e,envPaths:r.envPaths},Ne(t,n),n,r.workspaceLayer,r.environmentLayer,r.homeLayer,{componentsPath:e,iconsPath:(0,g.joinPaths)(e,`assets/icons`),fontsPath:(0,g.joinPaths)(e,`assets/fonts`),plugins:[]});if(Array.isArray(i.componentsPath)){let t=i.componentsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));i.componentsPath=t.length>0?t:e}else i.componentsPath=(0,v.isSetString)(i.componentsPath)?(0,b.findFilePath)(i.componentsPath):e;if(Array.isArray(i.iconsPath)){let t=i.iconsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));i.iconsPath=t.length>0?t:(0,g.joinPaths)(e,`assets/icons`)}else i.iconsPath=(0,v.isSetString)(i.iconsPath)?(0,b.findFilePath)(i.iconsPath):(0,g.joinPaths)(e,`assets/icons`);if(Array.isArray(i.fontsPath)){let t=i.fontsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));i.fontsPath=t.length>0?t:(0,g.joinPaths)(e,`assets/fonts`)}else i.fontsPath=(0,v.isSetString)(i.fontsPath)?(0,b.findFilePath)(i.fontsPath):(0,g.joinPaths)(e,`assets/fonts`);return i.plugins=ke(Array.isArray(i.plugins)?i.plugins:[]),i.verbose=t.verbose===!0||n.verbose===!0,i}async function $(e,t){let n=t.configFile&&(0,C.existsSync)((0,x.replacePath)(t.configFile,e))?(0,x.replacePath)(t.configFile,e):t.configFile&&(0,C.existsSync)(t.configFile)?t.configFile:(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.ts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.ts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.js`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.js`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.mts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.mts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.mjs`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.mjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.cjs`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.cjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.cts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.cts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.json`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.json`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.yaml`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.yaml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.yml`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.yml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.ts`))?(0,g.joinPaths)(e,`razorwind.config.ts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.js`))?(0,g.joinPaths)(e,`razorwind.config.js`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.mts`))?(0,g.joinPaths)(e,`razorwind.config.mts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.mjs`))?(0,g.joinPaths)(e,`razorwind.config.mjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.cjs`))?(0,g.joinPaths)(e,`razorwind.config.cjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.cts`))?(0,g.joinPaths)(e,`razorwind.config.cts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.json`))?(0,g.joinPaths)(e,`razorwind.config.json`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.yaml`))?(0,g.joinPaths)(e,`razorwind.config.yaml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.yml`))?(0,g.joinPaths)(e,`razorwind.config.yml`):void 0,r=(0,ee.getEnvPaths)({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=(0,ne.createJiti)(e,i),o=[{}];if(n){let r=(0,c.isAbsolute)(n)?n:(0,c.resolve)(e,n),i=await a.import(r,{default:!0});if(i){let r=i;if(r=(0,te.isFunction)(i)?await Promise.resolve(i({cwd:e,mode:t.mode??`development`})):await Promise.resolve(i),Array.isArray(r)){let e=je(r);if(e.length===0)throw Error(`Razorwind config array is empty. Provide at least one configuration object.`);o=e.map(e=>({...e,configFile:n}))}else(0,_.isSetObject)(r)&&(o=[{...r,configFile:n}])}}let[s,l,u]=await Promise.all([(0,S.loadConfig)({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),(0,S.loadConfig)({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),(0,S.loadConfig)({cwd:Ae,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),d=Q(s?.config),f=n?(0,c.isAbsolute)(n)?n:(0,c.resolve)(e,n):void 0,p=typeof s?.configFile==`string`?s.configFile:void 0;f&&p&&(0,c.resolve)(e,p)===f&&delete d.plugins;let m={envPaths:{...r,home:Ae},workspaceLayer:d,environmentLayer:Q(l?.config),homeLayer:Q(u?.config)};return o.map(n=>Pe(e,t,n,m))}async function Fe(e,t){let n=(await $(e,t))[0];if(!n)throw Error(`Unable to resolve Razorwind configuration.`);return n}async function Ie(e){if(e.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let t=e.options.tokens;(!t||i.t(t))&&(t=await i.n(e));let n={...await Oe(e.cwd,e.options),tokens:t??{},components:(0,s.defu)(e.options.components??{},await R(e)??{}),icons:(0,s.defu)(e.options.icons??{},await Y(e)??{}),fonts:(0,s.defu)(e.options.fonts??{},await r.a(e)??{})};for(let t of e.options.plugins.filter(e=>e.extract))n=await t.extract(n,e.options);if(n.tokens&&!i.t(n.tokens))for(let t of e.options.plugins.filter(e=>e.validate))await t.validate(n,e.options);return n}async function Le(e,t){let n=await $(e.cwd,t),r=[];for(let t of n)e.options=t,r.push({spec:await Ie(e),config:t});return r}async function Re(e,t){let n=[];for(let[r,i]of Object.entries(e??{})){let e=i?.path||r;if(!e)continue;let a=(0,c.isAbsolute)(e)?e:(0,c.resolve)(t,e),o=(i?.chunks??[]).map(e=>e.content??``).join(``);await(0,y.mkdir)((0,c.dirname)(a),{recursive:!0}),await(0,y.writeFile)(a,o,`utf8`),n.push(a)}return n}var ze=`0.0.63`;function Be(e){return e}const Ve=(0,o.defineGenerator)({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, icons, and fonts.`,version:ze,tags:[`razorwind`,`dtcg`]},schema:(0,o.defineSchema)({schema:n.t}),input:async e=>{let t=(0,o.useExecution)(),n=await Le(t,e),r=n[0];if(!r)throw Error(`Unable to resolve Razorwind configuration.`);return t.generationRuns=n,t.options=r.config,r.spec},output:async(e,t,n)=>{await Re(n,(0,o.useExecution)().cwd)},generator:async e=>{let t=(0,o.useExecution)();return k(t.generationRuns&&t.generationRuns.length>0?t.generationRuns:[{spec:e,config:t.options}])}});exports.DEFAULT_TOKEN_PATH_CANDIDATES=i.b,exports.FONT_EXTENSIONS=r.h,exports.FONT_FORMAT_FROM_EXTENSION=r.g,exports.GENERIC_FALLBACK_FROM_ROLE=r._,exports.MONO_ROLES=r.v,exports.RAZORWIND_INFER_PREPROCESSOR=i.o,exports.SANS_ROLES=r.y,exports.THEME_BASENAME_PATTERN=i.x,exports.TOKEN_DIRECTORY_GLOB=i.S,exports.TOKEN_FILE_EXTENSIONS=i.C,exports.TYPE_ALIASES=i.T,exports.TYPE_PATH_HINTS=i.E,exports.WEIGHT_FROM_SUFFIX=r.b,exports.WINDIE_PARSERS=i.w,exports.razorwindParsers=i.w,exports.canonicalizeTokenType=i.D,exports.collectCssCustomProperties=i.m,exports.copyFontFiles=r.m,exports.cssFontFamily=r.s,exports.defineConfig=Be,exports.definePlugin=a.definePlugin,exports.fontFamilyName=r.c,exports.generateAllPluginDocuments=k,exports.generatePluginDocuments=O,exports.generator=Ve,exports.getExtractionHooks=i.s,exports.getRazorwindParserHooks=i.c,exports.getRazorwindPreprocessorHooks=i.l,exports.inferTypeFromPath=i.g,exports.inferValue=i._,exports.isEmptyFonts=r.t,exports.isEmptyTokens=i.t,exports.loadComponents=R,exports.loadFonts=r.a,exports.loadIcons=Y,exports.loadSchemaMetaFromPackageJson=De,exports.loadTokens=i.n,exports.loadTokensOrThrow=i.r,exports.mergeFonts=r.n,exports.nestFlatTokens=i.v,exports.normalizeRepository=j,exports.normalizeTokenTree=i.y,exports.parseCssCustomProperties=i.h,exports.parseCssFonts=r.r,exports.parseFontFilename=r.o,exports.pickFontByRole=r.i,exports.prepareGenerationRuns=Le,exports.prepareSpec=Ie,exports.prependFontCss=r.l,exports.razorwindInferPreprocessor=i.u,exports.registerRazorwindHooks=i.d,exports.registerRazorwindParsers=i.f,exports.renderFontCss=r.u,exports.renderGoogleFontImports=r.d,exports.renderLocalFontFaces=r.f,exports.resolveConfig=Fe,exports.resolveConfigs=$,exports.resolveSchemaMeta=Oe,exports.resolveTokensSource=i.i,exports.schemaMetaFromConfig=Ee,exports.schemaMetaFromPackageJson=Z,exports.styleDictionaryLogOptions=i.p,exports.themeKeyFromPath=i.a,exports.themesForGeneration=T,exports.toGoogleFontsCssUrl=r.p,exports.uniquePlugins=ke,exports.writeGeneratedDocuments=Re;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-efWdm4QC.cjs"),n=require("./schema-BCofDJWf.cjs"),r=require("./fonts-DdrFkdpK.cjs"),i=require("./tokens-DHm5lWak.cjs"),a=require("./plugin.cjs");let o=require("@power-plant/core"),s=require("defu"),c=require("node:path"),l=require("@stryke/string-format/title-case"),u=require("@stryke/fs/exists"),d=require("@stryke/fs/is-file"),f=require("@stryke/fs/json"),p=require("@stryke/fs/list-files"),m=require("@stryke/path/append"),h=require("@stryke/path/file-path-fns"),g=require("@stryke/path/join"),_=require("@stryke/type-checks/is-set-object"),v=require("@stryke/type-checks/is-set-string"),y=require("node:fs/promises"),ee=require("@stryke/env/get-env-paths"),b=require("@stryke/path/find"),x=require("@stryke/path/replace"),te=require("@stryke/type-checks/is-function"),S=require("c12"),ne=require("jiti"),C=require("node:fs"),w=require("node:os");w=e.t(w,1);function T(e){let n=t._(e),r=n.filter(e=>!t.h(e.id));return r.length===0||r.length===1&&n.length===1?[]:r}function re(e,n){let r=e.find(e=>e.id===t.f);return!r||t.h(n.id)?n.tokens:t.d(n.tokens,r.tokens)}function ie(e,n,r){return{...e,theme:n.id,title:t.c(e.title,n.id)??e.title,tokens:re(r,n)}}function ae(e,n){let r=t.c(e.title,n.id);return r?{...e,title:r}:e}async function E(e,t,n=t.plugins.filter(e=>e.generate)){let r={};for(let i of n){let n=await i.generate(e,t);r=(0,s.defu)(n,r)}return r}function D(e){return e.themeGeneration===`combined`}async function oe(e,n){let r=n.plugins.filter(e=>e.generate),i=r.filter(D),a=r.filter(e=>!D(e)),o={};i.length>0&&(o=(0,s.defu)(await E(e,n,i),o));let c=t._(e.tokens),l=T(e.tokens);if(a.length===0)return o;if(l.length===0)return(0,s.defu)(await E(e,n,a),o);for(let r of l){let i=await E(ie(e,r,c),ae(n,r),a);o=(0,s.defu)(t.s(i,r.id),o)}return o}async function se(e){let t={};for(let n of e)Object.assign(t,await oe(n.spec,n.config));return t}function O(e){return!!((0,v.isSetString)(e)||(0,_.isSetObject)(e)&&`url`in e&&(0,v.isSetString)(e.url))}function k(e){if((0,v.isSetString)(e))return e;if((0,_.isSetObject)(e)&&`url`in e&&(0,v.isSetString)(e.url))return e.url}const ce=n.o.partial(),A=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),j=(0,s.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function le(e,t){return(0,c.isAbsolute)(t)?t:(0,c.resolve)(e,t)}function ue(e){return Array.isArray(e)?e.filter(v.isSetString):(0,v.isSetString)(e)?[e]:[]}function M(e){let t=e.toLowerCase();if(A.has(t))return t}function de(e){let t=(0,h.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&A.has(t))}function N(e){if(!e)return;let t=n.a.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.a.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function P(e){if(!e)return;let t=n.s.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){if((0,v.isSetString)(t)){let e=(0,h.findFileName)(t,{withExtension:!1})||t,i=n.s.safeParse({name:e,path:t});i.success&&r.push(i.data);continue}let e=n.s.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function F(e){if(!(0,_.isSetObject)(e))return;let{files:t,usage:n,...r}=e,i=ce.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function I(e){return(0,_.isSetObject)(e)&&`path`in e}async function fe(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}let r={};(0,v.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,v.isSetString)(n.description)&&(r.description=n.description),(0,v.isSetString)(n.version)&&(r.version=n.version),(0,v.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=k(n.repository);if(i&&(r.repository=i),(0,_.isSetObject)(n.dependencies)&&(r.dependencies=n.dependencies),(0,_.isSetObject)(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(v.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;I(a)?s=N(a):(0,_.isSetObject)(a)&&(o=F(a),`files`in a&&(s=N(a.files)),`usage`in a&&(c=P(a.usage)));let l=j(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function pe(e){let t=(0,g.joinPaths)(e,`component.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}if(I(n)||Array.isArray(n)){let e=N(n);if(e)return{files:e}}if(!(0,_.isSetObject)(n))return;let r=F(n)??{},i=`files`in n?N(n.files):void 0,a=`usage`in n?P(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function me(e){try{return(await(0,y.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&de(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function he(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,m.appendPath)(t.path,e),r=(0,h.findFileExtensionSafe)(t.path)??``,i=t.language??M(r),a=t.name||(0,h.findFileName)(t.path,{withExtension:!1})||t.path,o=t.content??((0,u.existsSync)(n)?await(0,y.readFile)(n,`utf8`):void 0);return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=(0,g.joinPaths)(e,`usage`);if(!(0,u.existsSync)(n)||!(0,d.isDirectory)(n))return;let r=await me(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=(0,g.joinPaths)(n,e),r=M((0,h.findFileExtensionSafe)(e)??``),i=(0,h.findFileName)(e,{withExtension:!1})||e;return{name:i,title:(0,l.titleCase)(i),path:t,content:await(0,y.readFile)(t,`utf8`),...r?{language:r}:{}}}))}async function ge(e,t){let n=t??(await(0,p.listFiles)(e)).filter(e=>(0,h.findFileName)(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test((0,h.findFileExtensionSafe)(t))?`component`:`file`,path:t,content:await(0,y.readFile)((0,m.appendPath)(t,e),`utf8`)}:{type:/[tj]sx$/.test((0,h.findFileExtensionSafe)(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await(0,y.readFile)((0,m.appendPath)(t.path,e),`utf8`):void 0,path:(0,m.appendPath)(t.path,e)}))}async function _e(e){let t=await fe(e),r=await pe(e);if(!t&&!r)return;let i=j(r??{},t??{}),a=(0,v.isSetString)(i.name)?i.name:(0,h.findFolderName)(e),o=(0,v.isSetString)(i.title)?i.title:(0,l.titleCase)(a),s=n.o.safeParse({...i,name:a,title:o});if(!s.success)return;let c=await he(e,s.data.usage);return{...s.data,files:await ge(e,s.data.files),...c?.length?{usage:c}:{}}}async function L(e){let t={},n=ue(e.options.componentsPath);for(let r of n){let n=le(e.cwd,r);if((0,u.existsSync)(n)&&(0,d.isDirectory)(n))try{let e=await(0,y.readdir)(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await _e((0,g.joinPaths)(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const ve=n.r.partial(),R=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),z=(0,s.createDefu)((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function ye(e,t){return(0,c.isAbsolute)(t)?t:(0,c.resolve)(e,t)}function be(e){return Array.isArray(e)?e.filter(v.isSetString):(0,v.isSetString)(e)?[e]:[]}function B(e){let t=e.toLowerCase();if(R.has(t))return t}function V(e){let t=(0,h.findFileExtensionSafe)(e)?.toLowerCase();return!!(t&&R.has(t))}function xe(e){return i.x.test(e)}async function H(e){try{return(await(0,y.readdir)(e,{withFileTypes:!0})).filter(e=>e.isFile()&&V(e.name)).map(e=>e.name)}catch{return[]}}function U(e){if(!e)return;let t=n.n.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let r=[];for(let t of e){let e=n.n.safeParse(t);e.success&&r.push(e.data)}return r.length>0?r:void 0}function W(e){if(!(0,_.isSetObject)(e))return;let t=ve.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function G(e){return(0,_.isSetObject)(e)&&`path`in e}async function K(e,t,n){let r=(0,m.appendPath)(e,t),i=B((0,h.findFileExtensionSafe)(e)??``)??`file`,a=i===`svg`?await(0,y.readFile)(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function Se(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}let r={};(0,v.isSetString)(n.name)&&(r.name=n.name,r.title=n.name),(0,v.isSetString)(n.description)&&(r.description=n.description),(0,v.isSetString)(n.version)&&(r.version=n.version),(0,v.isSetString)(n.homepage)&&(r.homepage=n.homepage);let i=k(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(v.isSetString);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;G(a)?s=U(a):(0,_.isSetObject)(a)&&(o=W(a),`files`in a&&(s=U(a.files)));let c=z(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function Ce(e){let t=(0,g.joinPaths)(e,`icon.json`);if(!(0,u.existsSync)(t))return;let n;try{n=await(0,f.readJsonFile)(t)}catch{return}if(G(n)||Array.isArray(n)){let e=U(n);if(e)return{files:e}}return W(n)}async function we(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=(0,m.appendPath)(t.path,e),r=(0,h.findFileExtensionSafe)(t.path)??``,i=t.type??B(r)??`file`,a=t.content===void 0?i===`svg`?await(0,y.readFile)(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await H(e);return Promise.all(n.map(t=>K(t,e)))}async function Te(e){let t=await Se(e),r=await Ce(e),i=await H(e);if(!t&&!r&&i.length===0)return;let a=z(r??{},t??{}),o=(0,v.isSetString)(a.name)?a.name:(0,h.findFolderName)(e),s=(0,v.isSetString)(a.title)?a.title:(0,l.titleCase)(o),c=n.r.safeParse({...a,name:o,title:s});if(c.success)return{...c.data,files:await we(e,c.data.files)}}function q(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:(0,l.titleCase)(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function Ee(e,t,n){let r=await H(e);for(let i of r){let r=(0,h.findFileName)(i,{withExtension:!1});r&&q(n,r,await K(i,e,t))}}async function J(e){let t={},n=be(e.options.iconsPath);for(let r of n){let n=ye(e.cwd,r);if((0,u.existsSync)(n)&&(0,d.isDirectory)(n))try{let e=await(0,y.readdir)(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=(0,g.joinPaths)(n,r.name);if(r.isDirectory()){if(xe(r.name)){await Ee(e,r.name,t);continue}let n=await Te(e);if(n){let e=t[n.name];t[n.name]=e?z(n,e):n}continue}if(r.isFile()&&V(r.name)){let e=(0,h.findFileName)(r.name,{withExtension:!1});if(!e)continue;q(t,e,await K(r.name,n))}}}catch{continue}}return t}function Y(e,t){let n=e[t];return(0,v.isSetString)(n)?n:void 0}function X(e){let t={};(0,v.isSetString)(e.name)&&(t.name=e.name),(0,v.isSetString)(e.description)&&(t.description=e.description),(0,v.isSetString)(e.homepage)&&(t.homepage=e.homepage);let n=k(e.repository);n&&(t.repository=n),(0,v.isSetString)(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if((0,_.isSetObject)(r)){let t=r,n=Y(t,`title`),a=Y(t,`name`),o=Y(t,`description`),s=Y(t,`homepage`),c=Y(t,`logo`),u=k(t.repository);a?i.name=a:(0,v.isSetString)(e.name)&&(i.name=e.name),n?i.title=n:(0,v.isSetString)(i.name)&&(i.title=(0,l.titleCase)(i.name)),o?i.description=o:(0,v.isSetString)(e.description)&&(i.description=e.description),s?i.homepage=s:O(e.homepage)?i.homepage=k(e.homepage):O(e.author)?i.homepage=k(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&O(e.maintainers[0])?i.homepage=k(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&O(e.contributors[0])?i.homepage=k(e.contributors[0]):O(e.bugs)&&(i.homepage=k(e.bugs)),c&&(i.logo=c),u?i.repository=u:O(e.repository)&&(i.repository=k(e.repository))}return(0,s.defu)(i,t)}function Z(e){let t={};return(0,v.isSetString)(e.name)&&(t.name=e.name),(0,v.isSetString)(e.title)&&(t.title=e.title),(0,v.isSetString)(e.description)&&(t.description=e.description),(0,v.isSetString)(e.repository)&&(t.repository=e.repository),(0,v.isSetString)(e.homepage)&&(t.homepage=e.homepage),(0,v.isSetString)(e.logo)&&(t.logo=e.logo),t}async function De(e){let t=(0,g.joinPaths)(e,`package.json`);if(!(0,u.existsSync)(t))return{};let n;try{n=await(0,f.readJsonFile)(t)}catch{return{}}return X(n)}async function Oe(e,t){let n=await De(e),r=Z(t);return(0,s.defu)(r,n)}function ke(e){let t=new Set,n=new Set,r=e=>{let t=[];for(let i of e)i&&!n.has(i)&&(n.add(i),i.plugins&&t.push(...r(i.plugins)),(i.parsers?.length||i.preprocessors?.length||i.extract||i.generate||i.validate)&&t.push(i),n.delete(i));return t};return r(e).filter(e=>!e?.name||!t.has(e.name)&&(t.add(e.name),!0))}const Ae=w.default.homedir();function je(e){if(!(0,C.existsSync)(e))return!1;try{return(0,C.readdirSync)(e,{withFileTypes:!0}).some(e=>e.isFile())}catch{return!1}}function Me(e){return Array.isArray(e)?e.filter(e=>(0,_.isSetObject)(e)):[]}function Q(e){return Array.isArray(e)||!(0,_.isSetObject)(e)?{}:{...e}}const Ne=[`tokensPath`,`componentsPath`,`iconsPath`,`fontsPath`];function Pe(e,t){let n={...e};for(let e of Ne)t[e]!=null&&delete n[e];return n}function Fe(e,t,n,r){let i=(0,g.joinPaths)(e,`assets/icons`),a=(0,g.joinPaths)(e,`assets/fonts`),o=je(i),c=je(a),l=(0,s.defu)({cwd:e,envPaths:r.envPaths},Pe(t,n),n,r.workspaceLayer,r.environmentLayer,r.homeLayer,{componentsPath:e,...o?{iconsPath:i}:{},...c?{fontsPath:a}:{},plugins:[]});if(Array.isArray(l.componentsPath)){let t=l.componentsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));l.componentsPath=t.length>0?t:e}else l.componentsPath=(0,v.isSetString)(l.componentsPath)?(0,b.findFilePath)(l.componentsPath):e;if(Array.isArray(l.iconsPath)){let e=l.iconsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));l.iconsPath=e.length>0?e:o?i:void 0}else l.iconsPath=(0,v.isSetString)(l.iconsPath)?l.iconsPath===i?i:(0,b.findFilePath)(l.iconsPath):o?i:void 0;if(Array.isArray(l.fontsPath)){let e=l.fontsPath.filter(v.isSetString).map(e=>(0,b.findFilePath)(e));l.fontsPath=e.length>0?e:c?a:void 0}else l.fontsPath=(0,v.isSetString)(l.fontsPath)?l.fontsPath===a?a:(0,b.findFilePath)(l.fontsPath):c?a:void 0;return l.plugins=ke(Array.isArray(l.plugins)?l.plugins:[]),l.verbose=t.verbose===!0||n.verbose===!0,l}async function $(e,t){let n=t.configFile&&(0,C.existsSync)((0,x.replacePath)(t.configFile,e))?(0,x.replacePath)(t.configFile,e):t.configFile&&(0,C.existsSync)(t.configFile)?t.configFile:(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.ts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.ts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.js`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.js`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.mts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.mts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.mjs`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.mjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.cjs`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.cjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.cts`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.cts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.json`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.json`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.yaml`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.yaml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.${t.mode}.yml`))?(0,g.joinPaths)(e,`razorwind.${t.mode}.yml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.ts`))?(0,g.joinPaths)(e,`razorwind.config.ts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.js`))?(0,g.joinPaths)(e,`razorwind.config.js`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.mts`))?(0,g.joinPaths)(e,`razorwind.config.mts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.mjs`))?(0,g.joinPaths)(e,`razorwind.config.mjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.cjs`))?(0,g.joinPaths)(e,`razorwind.config.cjs`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.cts`))?(0,g.joinPaths)(e,`razorwind.config.cts`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.json`))?(0,g.joinPaths)(e,`razorwind.config.json`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.yaml`))?(0,g.joinPaths)(e,`razorwind.config.yaml`):(0,C.existsSync)((0,g.joinPaths)(e,`razorwind.config.yml`))?(0,g.joinPaths)(e,`razorwind.config.yml`):void 0,r=(0,ee.getEnvPaths)({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=(0,ne.createJiti)(e,i),o=[{}];if(n){let r=(0,c.isAbsolute)(n)?n:(0,c.resolve)(e,n),i=await a.import(r,{default:!0});if(i){let r=i;if(r=(0,te.isFunction)(i)?await Promise.resolve(i({cwd:e,mode:t.mode??`development`})):await Promise.resolve(i),Array.isArray(r)){let e=Me(r);if(e.length===0)throw Error(`Razorwind config array is empty. Provide at least one configuration object.`);o=e.map(e=>({...e,configFile:n}))}else(0,_.isSetObject)(r)&&(o=[{...r,configFile:n}])}}let[s,l,u]=await Promise.all([(0,S.loadConfig)({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),(0,S.loadConfig)({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),(0,S.loadConfig)({cwd:Ae,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),d=Q(s?.config),f=n?(0,c.isAbsolute)(n)?n:(0,c.resolve)(e,n):void 0,p=typeof s?.configFile==`string`?s.configFile:void 0;f&&p&&(0,c.resolve)(e,p)===f&&delete d.plugins;let m={envPaths:{...r,home:Ae},workspaceLayer:d,environmentLayer:Q(l?.config),homeLayer:Q(u?.config)};return o.map(n=>Fe(e,t,n,m))}async function Ie(e,t){let n=(await $(e,t))[0];if(!n)throw Error(`Unable to resolve Razorwind configuration.`);return n}async function Le(e){if(e.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let t=e.options.tokens;(!t||i.t(t))&&(t=await i.n(e));let n={...await Oe(e.cwd,e.options),tokens:t??{},components:(0,s.defu)(e.options.components??{},await L(e)??{}),icons:(0,s.defu)(e.options.icons??{},await J(e)??{}),fonts:(0,s.defu)(e.options.fonts??{},await r.a(e)??{})};for(let t of e.options.plugins.filter(e=>e.extract))n=await t.extract(n,e.options);if(n.tokens&&!i.t(n.tokens))for(let t of e.options.plugins.filter(e=>e.validate))await t.validate(n,e.options);return n}async function Re(e,t){let n=await $(e.cwd,t),r=[];for(let t of n)e.options=t,r.push({spec:await Le(e),config:t});return r}async function ze(e,t){let n=[];for(let[r,i]of Object.entries(e??{})){let e=i?.path||r;if(!e)continue;let a=(0,c.isAbsolute)(e)?e:(0,c.resolve)(t,e),o=(i?.chunks??[]).map(e=>e.content??``).join(``);await(0,y.mkdir)((0,c.dirname)(a),{recursive:!0}),await(0,y.writeFile)(a,o,`utf8`),n.push(a)}return n}var Be=`0.0.65`;function Ve(e){return e}const He=(0,o.defineGenerator)({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, icons, and fonts.`,version:Be,tags:[`razorwind`,`dtcg`]},schema:(0,o.defineSchema)({schema:n.t}),input:async e=>{let t=(0,o.useExecution)(),n=await Re(t,e),r=n[0];if(!r)throw Error(`Unable to resolve Razorwind configuration.`);return t.generationRuns=n,t.options=r.config,r.spec},output:async(e,t,n)=>{await ze(n,(0,o.useExecution)().cwd)},generator:async e=>{let t=(0,o.useExecution)();return se(t.generationRuns&&t.generationRuns.length>0?t.generationRuns:[{spec:e,config:t.options}])}});exports.DEFAULT_TOKEN_PATH_CANDIDATES=i.b,exports.FONT_EXTENSIONS=r.h,exports.FONT_FORMAT_FROM_EXTENSION=r.g,exports.GENERIC_FALLBACK_FROM_ROLE=r._,exports.MONO_ROLES=r.v,exports.RAZORWIND_INFER_PREPROCESSOR=i.o,exports.SANS_ROLES=r.y,exports.THEME_BASENAME_PATTERN=i.x,exports.TOKEN_DIRECTORY_GLOB=i.S,exports.TOKEN_FILE_EXTENSIONS=i.C,exports.TYPE_ALIASES=i.T,exports.TYPE_PATH_HINTS=i.E,exports.WEIGHT_FROM_SUFFIX=r.b,exports.WINDIE_PARSERS=i.w,exports.razorwindParsers=i.w,exports.canonicalizeTokenType=i.D,exports.collectCssCustomProperties=i.m,exports.copyFontFiles=r.m,exports.cssFontFamily=r.s,exports.defineConfig=Ve,exports.definePlugin=a.definePlugin,exports.fontFamilyName=r.c,exports.generateAllPluginDocuments=se,exports.generatePluginDocuments=oe,exports.generator=He,exports.getExtractionHooks=i.s,exports.getRazorwindParserHooks=i.c,exports.getRazorwindPreprocessorHooks=i.l,exports.inferTypeFromPath=i.g,exports.inferValue=i._,exports.isEmptyFonts=r.t,exports.isEmptyTokens=i.t,exports.loadComponents=L,exports.loadFonts=r.a,exports.loadIcons=J,exports.loadSchemaMetaFromPackageJson=De,exports.loadTokens=i.n,exports.loadTokensOrThrow=i.r,exports.mergeFonts=r.n,exports.nestFlatTokens=i.v,exports.normalizeRepository=k,exports.normalizeTokenTree=i.y,exports.parseCssCustomProperties=i.h,exports.parseCssFonts=r.r,exports.parseFontFilename=r.o,exports.pickFontByRole=r.i,exports.prepareGenerationRuns=Re,exports.prepareSpec=Le,exports.prependFontCss=r.l,exports.razorwindInferPreprocessor=i.u,exports.registerRazorwindHooks=i.d,exports.registerRazorwindParsers=i.f,exports.renderFontCss=r.u,exports.renderGoogleFontImports=r.d,exports.renderLocalFontFaces=r.f,exports.resolveConfig=Ie,exports.resolveConfigs=$,exports.resolveSchemaMeta=Oe,exports.resolveTokensSource=i.i,exports.schemaMetaFromConfig=Z,exports.schemaMetaFromPackageJson=X,exports.styleDictionaryLogOptions=i.p,exports.themeKeyFromPath=i.a,exports.themesForGeneration=T,exports.toGoogleFontsCssUrl=r.p,exports.uniquePlugins=ke,exports.writeGeneratedDocuments=ze;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { O as Components, a as Icons, t as Schema } from "./schema-BwOBgJIM.cjs";
2
2
  import "./index-CwN0c1Q4.cjs";
3
3
  import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-DXVZRs_4.cjs";
4
- import { a as TokenSet } from "./flatten-tokens-DWbPW_3z.cjs";
4
+ import { a as TokenSet } from "./flatten-tokens-DnBs9dU2.cjs";
5
5
  import { t as definePlugin } from "./plugin-D_0ERu16.cjs";
6
6
  import { S as WEIGHT_FROM_SUFFIX, _ as FONT_EXTENSIONS, a as ParsedFontFilename, b as MONO_ROLES, c as RenderFontCssOptions, d as prependFontCss, f as renderFontCss, g as copyFontFiles, h as toGoogleFontsCssUrl, i as pickFontByRole, l as cssFontFamily, m as renderLocalFontFaces, n as mergeFonts, o as loadFonts, p as renderGoogleFontImports, r as parseCssFonts, s as parseFontFilename, t as isEmptyFonts, u as fontFamilyName, v as FONT_FORMAT_FROM_EXTENSION, x as SANS_ROLES, y as GENERIC_FALLBACK_FROM_ROLE } from "./index-B4SIQTrM.cjs";
7
7
  import { A as TOKEN_DIRECTORY_GLOB, C as nestFlatTokens, D as DEFAULT_TOKEN_PATH_CANDIDATES, E as parseCssCustomProperties, F as canonicalizeTokenType, M as TOKEN_PARSER_NAMES, N as TYPE_ALIASES, O as RazorwindParserName, P as TYPE_PATH_HINTS, S as inferValue, T as collectCssCustomProperties, _ as ResolvedTokensSource, a as getRazorwindParserHooks, b as InferredTokenType, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolveTokensPathOptions, h as loadTokensOrThrow, i as getExtractionHooks, j as TOKEN_FILE_EXTENSIONS, k as THEME_BASENAME_PATTERN, l as registerRazorwindParsers, m as loadTokens, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as isEmptyTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as resolveTokensSource, w as normalizeTokenTree, x as inferTypeFromPath, y as themeKeyFromPath } from "./index-BbvA_F58.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/generate.ts","../src/lib/resolve-config.ts","../src/config.ts","../src/lib/components/load.ts","../src/lib/icons/load.ts","../src/lib/meta/load.ts","../src/lib/meta/normalize-url.ts","../src/lib/prepare.ts","../src/lib/write-documents.ts","../src/types/base.ts","../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;UAyCiB;EACf,MAAM;EACN,QAAQ;;;;;;;;;;;;;iBAcM,oBAAoB,QAAQ,mBAAmB;;;;;;;;;;;;iBAqEzC,wBACpB,MAAM,QACN,QAAQ,SACP,QAAQ,eAAe;;;;;;;;;iBA6CJ,2BACpB,MAAM,kBACL,QAAQ,eAAe;;;;;;;;;iBCnIV,cAAc,SAAS,WAAW;;;;;;;;;;;iBAkL5B,eACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;iBA6MW,cACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;iBC/XK,aAAa,QAAQ,aAAa;iBAClC,aAAa,QAAQ,eAAe;iBACpC,aAAa,QAAQ,QAAQ,cAAc,QAAQ;iBACnD,aACd,QAAQ,QAAQ,gBACf,QAAQ;iBACK,aAAa,QAAQ,qBAAqB;iBAC1C,aAAa,QAAQ,sBAAsB;iBAC3C,aAAa,QAAQ,eAAe;iBACpC,aAAa,QAAQ,mBAAmB;;;;;;;;;;;;;iBCsalC,eACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;;iBClGW,UACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;KCtWC,aAAa,KACvB;;;;;iBAgBc,0BACd,KAAK,0BACJ;;;;iBAqFa,qBAAqB,QAAQ,aAAa;;;;iBA4BpC,8BACpB,cACC,QAAQ;;;;iBAmBW,kBACpB,aACA,QAAQ,aACP,QAAQ;;;;;;iBCtJK,aAAa;;;;;;;iBCCP,YACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;iBA6CW,sBACpB,SAAS,iBAAiB,QAAQ,eAClC,SAAS,UACR,QAAQ;;;;;;;;;;;;;iBCvDW,wBACpB,WAAW,eAAe,gCAC1B,cACC;;;KCdS,UAAU,oCAAoC,gBACxD,QACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;YCAU;IACR,IAAI;IACJ,iBAAiB;;;;;;;;;;;cAgBR,uCAAS,sBAAA,QAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/generate.ts","../src/lib/resolve-config.ts","../src/config.ts","../src/lib/components/load.ts","../src/lib/icons/load.ts","../src/lib/meta/load.ts","../src/lib/meta/normalize-url.ts","../src/lib/prepare.ts","../src/lib/write-documents.ts","../src/types/base.ts","../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;UAyCiB;EACf,MAAM;EACN,QAAQ;;;;;;;;;;;;;iBAcM,oBAAoB,QAAQ,mBAAmB;;;;;;;;;;;;iBAqEzC,wBACpB,MAAM,QACN,QAAQ,SACP,QAAQ,eAAe;;;;;;;;;iBA6CJ,2BACpB,MAAM,kBACL,QAAQ,eAAe;;;;;;;;;iBCnIV,cAAc,SAAS,WAAW;;;;;;;;;;;iBA0M5B,eACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;iBA6MW,cACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;iBCvZK,aAAa,QAAQ,aAAa;iBAClC,aAAa,QAAQ,eAAe;iBACpC,aAAa,QAAQ,QAAQ,cAAc,QAAQ;iBACnD,aACd,QAAQ,QAAQ,gBACf,QAAQ;iBACK,aAAa,QAAQ,qBAAqB;iBAC1C,aAAa,QAAQ,sBAAsB;iBAC3C,aAAa,QAAQ,eAAe;iBACpC,aAAa,QAAQ,mBAAmB;;;;;;;;;;;;;iBCsalC,eACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;;iBClGW,UACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;KCtWC,aAAa,KACvB;;;;;iBAgBc,0BACd,KAAK,0BACJ;;;;iBAqFa,qBAAqB,QAAQ,aAAa;;;;iBA4BpC,8BACpB,cACC,QAAQ;;;;iBAmBW,kBACpB,aACA,QAAQ,aACP,QAAQ;;;;;;iBCtJK,aAAa;;;;;;;iBCCP,YACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;iBA6CW,sBACpB,SAAS,iBAAiB,QAAQ,eAClC,SAAS,UACR,QAAQ;;;;;;;;;;;;;iBCvDW,wBACpB,WAAW,eAAe,gCAC1B,cACC;;;KCdS,UAAU,oCAAoC,gBACxD,QACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;YCAU;IACR,IAAI;IACJ,iBAAiB;;;;;;;;;;;cAgBR,uCAAS,sBAAA,QAAA"}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { O as Components, a as Icons, t as Schema } from "./schema-BwOBgJIM.mjs";
2
2
  import "./index-D5L2WXYk.mjs";
3
3
  import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as UserConfigExport, l as Plugin, n as Options, o as UserConfigFnObject, r as UserConfig, s as UserConfigFnPromise, t as Config, u as TokensParser } from "./config-DgupyeYc.mjs";
4
- import { a as TokenSet } from "./flatten-tokens-Dz4e2IHx.mjs";
4
+ import { a as TokenSet } from "./flatten-tokens-C0nE3f3F.mjs";
5
5
  import { t as definePlugin } from "./plugin-DxwKGfH3.mjs";
6
6
  import { S as WEIGHT_FROM_SUFFIX, _ as FONT_EXTENSIONS, a as ParsedFontFilename, b as MONO_ROLES, c as RenderFontCssOptions, d as prependFontCss, f as renderFontCss, g as copyFontFiles, h as toGoogleFontsCssUrl, i as pickFontByRole, l as cssFontFamily, m as renderLocalFontFaces, n as mergeFonts, o as loadFonts, p as renderGoogleFontImports, r as parseCssFonts, s as parseFontFilename, t as isEmptyFonts, u as fontFamilyName, v as FONT_FORMAT_FROM_EXTENSION, x as SANS_ROLES, y as GENERIC_FALLBACK_FROM_ROLE } from "./index-C9wskjJW.mjs";
7
7
  import { A as TOKEN_DIRECTORY_GLOB, C as nestFlatTokens, D as DEFAULT_TOKEN_PATH_CANDIDATES, E as parseCssCustomProperties, F as canonicalizeTokenType, M as TOKEN_PARSER_NAMES, N as TYPE_ALIASES, O as RazorwindParserName, P as TYPE_PATH_HINTS, S as inferValue, T as collectCssCustomProperties, _ as ResolvedTokensSource, a as getRazorwindParserHooks, b as InferredTokenType, c as registerRazorwindHooks, d as LoadTokensOptions, f as LoadedTokens, g as ResolveTokensPathOptions, h as loadTokensOrThrow, i as getExtractionHooks, j as TOKEN_FILE_EXTENSIONS, k as THEME_BASENAME_PATTERN, l as registerRazorwindParsers, m as loadTokens, n as RAZORWIND_INFER_PREPROCESSOR, o as getRazorwindPreprocessorHooks, p as isEmptyTokens, r as StyleDictionaryRegisterTarget, s as razorwindInferPreprocessor, t as ExtractionHooks, u as styleDictionaryLogOptions, v as resolveTokensSource, w as normalizeTokenTree, x as inferTypeFromPath, y as themeKeyFromPath } from "./index-BOd3NVcu.mjs";
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{_ as e,c as t,d as n,f as r,h as i,s as a}from"./utils-KDezR5p2.mjs";import{a as o,c as s,i as c,l,r as u,s as d}from"./schema-CXK5pVmJ.mjs";import{_ as f,a as p,b as ee,c as te,d as ne,f as re,g as ie,h as ae,i as oe,l as se,m as ce,n as le,o as ue,p as de,r as fe,s as pe,t as me,u as he,v as ge,y as _e}from"./fonts-MHh4zaC3.mjs";import{C as ve,D as ye,E as be,S as xe,T as Se,_ as Ce,a as we,b as Te,c as Ee,d as De,f as Oe,g as ke,h as Ae,i as je,l as Me,m as Ne,n as m,o as Pe,p as Fe,r as Ie,s as Le,t as h,u as Re,v as ze,w as g,x as _,y as Be}from"./tokens-CuiCo40i.mjs";import{definePlugin as Ve}from"./plugin.mjs";import{defineGenerator as He,defineSchema as Ue,useExecution as v}from"@power-plant/core";import{createDefu as y,defu as b}from"defu";import{dirname as We,isAbsolute as x,resolve as S}from"node:path";import{titleCase as C}from"@stryke/string-format/title-case";import{existsSync as w}from"@stryke/fs/exists";import{isDirectory as T}from"@stryke/fs/is-file";import{readJsonFile as E}from"@stryke/fs/json";import{listFiles as Ge}from"@stryke/fs/list-files";import{appendPath as D}from"@stryke/path/append";import{findFileExtensionSafe as O,findFileName as k,findFolderName as A}from"@stryke/path/file-path-fns";import{joinPaths as j}from"@stryke/path/join";import{isSetObject as M}from"@stryke/type-checks/is-set-object";import{isSetString as N}from"@stryke/type-checks/is-set-string";import{mkdir as Ke,readFile as P,readdir as F,writeFile as qe}from"node:fs/promises";import{getEnvPaths as Je}from"@stryke/env/get-env-paths";import{findFilePath as I}from"@stryke/path/find";import{replacePath as L}from"@stryke/path/replace";import{isFunction as Ye}from"@stryke/type-checks/is-function";import{loadConfig as R}from"c12";import{createJiti as Xe}from"jiti";import{existsSync as z}from"node:fs";import Ze from"node:os";function B(t){let n=e(t),r=n.filter(e=>!i(e.id));return r.length===0||r.length===1&&n.length===1?[]:r}function Qe(e,t){let a=e.find(e=>e.id===r);return!a||i(t.id)?t.tokens:n(t.tokens,a.tokens)}function $e(e,n,r){return{...e,theme:n.id,title:t(e.title,n.id)??e.title,tokens:Qe(r,n)}}function et(e,n){let r=t(e.title,n.id);return r?{...e,title:r}:e}async function V(e,t,n=t.plugins.filter(e=>e.generate)){let r={};for(let i of n){let n=await i.generate(e,t);r=b(n,r)}return r}function tt(e){return e.themeGeneration===`combined`}async function nt(t,n){let r=n.plugins.filter(e=>e.generate),i=r.filter(tt),o=r.filter(e=>!tt(e)),s={};i.length>0&&(s=b(await V(t,n,i),s));let c=e(t.tokens),l=B(t.tokens);if(o.length===0)return s;if(l.length===0)return b(await V(t,n,o),s);for(let e of l){let r=await V($e(t,e,c),et(n,e),o);s=b(a(r,e.id),s)}return s}async function rt(e){let t={};for(let n of e)Object.assign(t,await nt(n.spec,n.config));return t}function H(e){return!!(N(e)||M(e)&&`url`in e&&N(e.url))}function U(e){if(N(e))return e;if(M(e)&&`url`in e&&N(e.url))return e.url}const it=s.partial(),at=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),ot=y((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function st(e,t){return x(t)?t:S(e,t)}function ct(e){return Array.isArray(e)?e.filter(N):N(e)?[e]:[]}function lt(e){let t=e.toLowerCase();if(at.has(t))return t}function ut(e){let t=O(e)?.toLowerCase();return!!(t&&at.has(t))}function W(e){if(!e)return;let t=d.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=d.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function G(e){if(!e)return;let t=l.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){if(N(t)){let e=k(t,{withExtension:!1})||t,r=l.safeParse({name:e,path:t});r.success&&n.push(r.data);continue}let e=l.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function dt(e){if(!M(e))return;let{files:t,usage:n,...r}=e,i=it.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function ft(e){return M(e)&&`path`in e}async function pt(e){let t=j(e,`package.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}let r={};N(n.name)&&(r.name=n.name,r.title=n.name),N(n.description)&&(r.description=n.description),N(n.version)&&(r.version=n.version),N(n.homepage)&&(r.homepage=n.homepage);let i=U(n.repository);if(i&&(r.repository=i),M(n.dependencies)&&(r.dependencies=n.dependencies),M(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(N);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;ft(a)?s=W(a):M(a)&&(o=dt(a),`files`in a&&(s=W(a.files)),`usage`in a&&(c=G(a.usage)));let l=ot(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function mt(e){let t=j(e,`component.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}if(ft(n)||Array.isArray(n)){let e=W(n);if(e)return{files:e}}if(!M(n))return;let r=dt(n)??{},i=`files`in n?W(n.files):void 0,a=`usage`in n?G(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function ht(e){try{return(await F(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ut(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function gt(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=D(t.path,e),r=O(t.path)??``,i=t.language??lt(r),a=t.name||k(t.path,{withExtension:!1})||t.path,o=t.content??(w(n)?await P(n,`utf8`):void 0);return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=j(e,`usage`);if(!w(n)||!T(n))return;let r=await ht(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=j(n,e),r=lt(O(e)??``),i=k(e,{withExtension:!1})||e;return{name:i,title:C(i),path:t,content:await P(t,`utf8`),...r?{language:r}:{}}}))}async function _t(e,t){let n=t??(await Ge(e)).filter(e=>k(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test(O(t))?`component`:`file`,path:t,content:await P(D(t,e),`utf8`)}:{type:/[tj]sx$/.test(O(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await P(D(t.path,e),`utf8`):void 0,path:D(t.path,e)}))}async function vt(e){let t=await pt(e),n=await mt(e);if(!t&&!n)return;let r=ot(n??{},t??{}),i=N(r.name)?r.name:A(e),a=N(r.title)?r.title:C(i),o=s.safeParse({...r,name:i,title:a});if(!o.success)return;let c=await gt(e,o.data.usage);return{...o.data,files:await _t(e,o.data.files),...c?.length?{usage:c}:{}}}async function yt(e){let t={},n=ct(e.options.componentsPath);for(let r of n){let n=st(e.cwd,r);if(w(n)&&T(n))try{let e=await F(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await vt(j(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const bt=o.partial(),xt=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),K=y((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function St(e,t){return x(t)?t:S(e,t)}function Ct(e){return Array.isArray(e)?e.filter(N):N(e)?[e]:[]}function wt(e){let t=e.toLowerCase();if(xt.has(t))return t}function Tt(e){let t=O(e)?.toLowerCase();return!!(t&&xt.has(t))}function Et(e){return _.test(e)}async function q(e){try{return(await F(e,{withFileTypes:!0})).filter(e=>e.isFile()&&Tt(e.name)).map(e=>e.name)}catch{return[]}}function J(e){if(!e)return;let t=c.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=c.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function Dt(e){if(!M(e))return;let t=bt.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function Ot(e){return M(e)&&`path`in e}async function Y(e,t,n){let r=D(e,t),i=wt(O(e)??``)??`file`,a=i===`svg`?await P(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function kt(e){let t=j(e,`package.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}let r={};N(n.name)&&(r.name=n.name,r.title=n.name),N(n.description)&&(r.description=n.description),N(n.version)&&(r.version=n.version),N(n.homepage)&&(r.homepage=n.homepage);let i=U(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(N);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;Ot(a)?s=J(a):M(a)&&(o=Dt(a),`files`in a&&(s=J(a.files)));let c=K(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function At(e){let t=j(e,`icon.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}if(Ot(n)||Array.isArray(n)){let e=J(n);if(e)return{files:e}}return Dt(n)}async function jt(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=D(t.path,e),r=O(t.path)??``,i=t.type??wt(r)??`file`,a=t.content===void 0?i===`svg`?await P(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await q(e);return Promise.all(n.map(t=>Y(t,e)))}async function Mt(e){let t=await kt(e),n=await At(e),r=await q(e);if(!t&&!n&&r.length===0)return;let i=K(n??{},t??{}),a=N(i.name)?i.name:A(e),s=N(i.title)?i.title:C(a),c=o.safeParse({...i,name:a,title:s});if(c.success)return{...c.data,files:await jt(e,c.data.files)}}function Nt(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:C(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function Pt(e,t,n){let r=await q(e);for(let i of r){let r=k(i,{withExtension:!1});r&&Nt(n,r,await Y(i,e,t))}}async function Ft(e){let t={},n=Ct(e.options.iconsPath);for(let r of n){let n=St(e.cwd,r);if(w(n)&&T(n))try{let e=await F(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=j(n,r.name);if(r.isDirectory()){if(Et(r.name)){await Pt(e,r.name,t);continue}let n=await Mt(e);if(n){let e=t[n.name];t[n.name]=e?K(n,e):n}continue}if(r.isFile()&&Tt(r.name)){let e=k(r.name,{withExtension:!1});if(!e)continue;Nt(t,e,await Y(r.name,n))}}}catch{continue}}return t}function X(e,t){let n=e[t];return N(n)?n:void 0}function It(e){let t={};N(e.name)&&(t.name=e.name),N(e.description)&&(t.description=e.description),N(e.homepage)&&(t.homepage=e.homepage);let n=U(e.repository);n&&(t.repository=n),N(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if(M(r)){let t=r,n=X(t,`title`),a=X(t,`name`),o=X(t,`description`),s=X(t,`homepage`),c=X(t,`logo`),l=U(t.repository);a?i.name=a:N(e.name)&&(i.name=e.name),n?i.title=n:N(i.name)&&(i.title=C(i.name)),o?i.description=o:N(e.description)&&(i.description=e.description),s?i.homepage=s:H(e.homepage)?i.homepage=U(e.homepage):H(e.author)?i.homepage=U(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&H(e.maintainers[0])?i.homepage=U(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&H(e.contributors[0])?i.homepage=U(e.contributors[0]):H(e.bugs)&&(i.homepage=U(e.bugs)),c&&(i.logo=c),l?i.repository=l:H(e.repository)&&(i.repository=U(e.repository))}return b(i,t)}function Lt(e){let t={};return N(e.name)&&(t.name=e.name),N(e.title)&&(t.title=e.title),N(e.description)&&(t.description=e.description),N(e.repository)&&(t.repository=e.repository),N(e.homepage)&&(t.homepage=e.homepage),N(e.logo)&&(t.logo=e.logo),t}async function Rt(e){let t=j(e,`package.json`);if(!w(t))return{};let n;try{n=await E(t)}catch{return{}}return It(n)}async function zt(e,t){let n=await Rt(e),r=Lt(t);return b(r,n)}function Bt(e){let t=new Set,n=new Set,r=e=>{let t=[];for(let i of e)i&&!n.has(i)&&(n.add(i),i.plugins&&t.push(...r(i.plugins)),(i.parsers?.length||i.preprocessors?.length||i.extract||i.generate||i.validate)&&t.push(i),n.delete(i));return t};return r(e).filter(e=>!e?.name||!t.has(e.name)&&(t.add(e.name),!0))}const Vt=Ze.homedir();function Ht(e){return Array.isArray(e)?e.filter(e=>M(e)):[]}function Z(e){return Array.isArray(e)||!M(e)?{}:{...e}}const Ut=[`tokensPath`,`componentsPath`,`iconsPath`,`fontsPath`];function Wt(e,t){let n={...e};for(let e of Ut)t[e]!=null&&delete n[e];return n}function Gt(e,t,n,r){let i=b({cwd:e,envPaths:r.envPaths},Wt(t,n),n,r.workspaceLayer,r.environmentLayer,r.homeLayer,{componentsPath:e,iconsPath:j(e,`assets/icons`),fontsPath:j(e,`assets/fonts`),plugins:[]});if(Array.isArray(i.componentsPath)){let t=i.componentsPath.filter(N).map(e=>I(e));i.componentsPath=t.length>0?t:e}else i.componentsPath=N(i.componentsPath)?I(i.componentsPath):e;if(Array.isArray(i.iconsPath)){let t=i.iconsPath.filter(N).map(e=>I(e));i.iconsPath=t.length>0?t:j(e,`assets/icons`)}else i.iconsPath=N(i.iconsPath)?I(i.iconsPath):j(e,`assets/icons`);if(Array.isArray(i.fontsPath)){let t=i.fontsPath.filter(N).map(e=>I(e));i.fontsPath=t.length>0?t:j(e,`assets/fonts`)}else i.fontsPath=N(i.fontsPath)?I(i.fontsPath):j(e,`assets/fonts`);return i.plugins=Bt(Array.isArray(i.plugins)?i.plugins:[]),i.verbose=t.verbose===!0||n.verbose===!0,i}async function Q(e,t){let n=t.configFile&&z(L(t.configFile,e))?L(t.configFile,e):t.configFile&&z(t.configFile)?t.configFile:z(j(e,`razorwind.${t.mode}.ts`))?j(e,`razorwind.${t.mode}.ts`):z(j(e,`razorwind.${t.mode}.js`))?j(e,`razorwind.${t.mode}.js`):z(j(e,`razorwind.${t.mode}.mts`))?j(e,`razorwind.${t.mode}.mts`):z(j(e,`razorwind.${t.mode}.mjs`))?j(e,`razorwind.${t.mode}.mjs`):z(j(e,`razorwind.${t.mode}.cjs`))?j(e,`razorwind.${t.mode}.cjs`):z(j(e,`razorwind.${t.mode}.cts`))?j(e,`razorwind.${t.mode}.cts`):z(j(e,`razorwind.${t.mode}.json`))?j(e,`razorwind.${t.mode}.json`):z(j(e,`razorwind.${t.mode}.yaml`))?j(e,`razorwind.${t.mode}.yaml`):z(j(e,`razorwind.${t.mode}.yml`))?j(e,`razorwind.${t.mode}.yml`):z(j(e,`razorwind.config.ts`))?j(e,`razorwind.config.ts`):z(j(e,`razorwind.config.js`))?j(e,`razorwind.config.js`):z(j(e,`razorwind.config.mts`))?j(e,`razorwind.config.mts`):z(j(e,`razorwind.config.mjs`))?j(e,`razorwind.config.mjs`):z(j(e,`razorwind.config.cjs`))?j(e,`razorwind.config.cjs`):z(j(e,`razorwind.config.cts`))?j(e,`razorwind.config.cts`):z(j(e,`razorwind.config.json`))?j(e,`razorwind.config.json`):z(j(e,`razorwind.config.yaml`))?j(e,`razorwind.config.yaml`):z(j(e,`razorwind.config.yml`))?j(e,`razorwind.config.yml`):void 0,r=Je({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=Xe(e,i),o=[{}];if(n){let r=x(n)?n:S(e,n),i=await a.import(r,{default:!0});if(i){let r=i;if(r=Ye(i)?await Promise.resolve(i({cwd:e,mode:t.mode??`development`})):await Promise.resolve(i),Array.isArray(r)){let e=Ht(r);if(e.length===0)throw Error(`Razorwind config array is empty. Provide at least one configuration object.`);o=e.map(e=>({...e,configFile:n}))}else M(r)&&(o=[{...r,configFile:n}])}}let[s,c,l]=await Promise.all([R({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),R({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),R({cwd:Vt,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),u=Z(s?.config),d=n?x(n)?n:S(e,n):void 0,f=typeof s?.configFile==`string`?s.configFile:void 0;d&&f&&S(e,f)===d&&delete u.plugins;let p={envPaths:{...r,home:Vt},workspaceLayer:u,environmentLayer:Z(c?.config),homeLayer:Z(l?.config)};return o.map(n=>Gt(e,t,n,p))}async function Kt(e,t){let n=(await Q(e,t))[0];if(!n)throw Error(`Unable to resolve Razorwind configuration.`);return n}async function qt(e){if(e.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let t=e.options.tokens;(!t||h(t))&&(t=await m(e));let n={...await zt(e.cwd,e.options),tokens:t??{},components:b(e.options.components??{},await yt(e)??{}),icons:b(e.options.icons??{},await Ft(e)??{}),fonts:b(e.options.fonts??{},await p(e)??{})};for(let t of e.options.plugins.filter(e=>e.extract))n=await t.extract(n,e.options);if(n.tokens&&!h(n.tokens))for(let t of e.options.plugins.filter(e=>e.validate))await t.validate(n,e.options);return n}async function Jt(e,t){let n=await Q(e.cwd,t),r=[];for(let t of n)e.options=t,r.push({spec:await qt(e),config:t});return r}async function $(e,t){let n=[];for(let[r,i]of Object.entries(e??{})){let e=i?.path||r;if(!e)continue;let a=x(e)?e:S(t,e),o=(i?.chunks??[]).map(e=>e.content??``).join(``);await Ke(We(a),{recursive:!0}),await qe(a,o,`utf8`),n.push(a)}return n}var Yt=`0.0.63`;function Xt(e){return e}const Zt=He({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, icons, and fonts.`,version:Yt,tags:[`razorwind`,`dtcg`]},schema:Ue({schema:u}),input:async e=>{let t=v(),n=await Jt(t,e),r=n[0];if(!r)throw Error(`Unable to resolve Razorwind configuration.`);return t.generationRuns=n,t.options=r.config,r.spec},output:async(e,t,n)=>{await $(n,v().cwd)},generator:async e=>{let t=v();return rt(t.generationRuns&&t.generationRuns.length>0?t.generationRuns:[{spec:e,config:t.options}])}});export{Te as DEFAULT_TOKEN_PATH_CANDIDATES,ae as FONT_EXTENSIONS,ie as FONT_FORMAT_FROM_EXTENSION,f as GENERIC_FALLBACK_FROM_ROLE,ge as MONO_ROLES,Pe as RAZORWIND_INFER_PREPROCESSOR,_e as SANS_ROLES,_ as THEME_BASENAME_PATTERN,xe as TOKEN_DIRECTORY_GLOB,ve as TOKEN_FILE_EXTENSIONS,Se as TYPE_ALIASES,be as TYPE_PATH_HINTS,ee as WEIGHT_FROM_SUFFIX,g as WINDIE_PARSERS,g as razorwindParsers,ye as canonicalizeTokenType,Ne as collectCssCustomProperties,ce as copyFontFiles,pe as cssFontFamily,Xt as defineConfig,Ve as definePlugin,te as fontFamilyName,rt as generateAllPluginDocuments,nt as generatePluginDocuments,Zt as generator,Le as getExtractionHooks,Ee as getRazorwindParserHooks,Me as getRazorwindPreprocessorHooks,ke as inferTypeFromPath,Ce as inferValue,me as isEmptyFonts,h as isEmptyTokens,yt as loadComponents,p as loadFonts,Ft as loadIcons,Rt as loadSchemaMetaFromPackageJson,m as loadTokens,Ie as loadTokensOrThrow,le as mergeFonts,ze as nestFlatTokens,U as normalizeRepository,Be as normalizeTokenTree,Ae as parseCssCustomProperties,fe as parseCssFonts,ue as parseFontFilename,oe as pickFontByRole,Jt as prepareGenerationRuns,qt as prepareSpec,se as prependFontCss,Re as razorwindInferPreprocessor,De as registerRazorwindHooks,Oe as registerRazorwindParsers,he as renderFontCss,ne as renderGoogleFontImports,re as renderLocalFontFaces,Kt as resolveConfig,Q as resolveConfigs,zt as resolveSchemaMeta,je as resolveTokensSource,Lt as schemaMetaFromConfig,It as schemaMetaFromPackageJson,Fe as styleDictionaryLogOptions,we as themeKeyFromPath,B as themesForGeneration,de as toGoogleFontsCssUrl,Bt as uniquePlugins,$ as writeGeneratedDocuments};
1
+ import{_ as e,c as t,d as n,f as r,h as i,s as a}from"./utils-BMXBJR4A.mjs";import{a as o,c as s,i as c,l,r as u,s as d}from"./schema-CXK5pVmJ.mjs";import{_ as f,a as p,b as ee,c as te,d as ne,f as re,g as ie,h as ae,i as oe,l as se,m as ce,n as le,o as ue,p as de,r as fe,s as pe,t as me,u as he,v as ge,y as _e}from"./fonts-MHh4zaC3.mjs";import{C as ve,D as ye,E as be,S as xe,T as Se,_ as Ce,a as we,b as Te,c as Ee,d as De,f as Oe,g as ke,h as Ae,i as je,l as Me,m as Ne,n as m,o as Pe,p as Fe,r as Ie,s as Le,t as h,u as Re,v as ze,w as g,x as _,y as Be}from"./tokens-ymopyrS0.mjs";import{definePlugin as Ve}from"./plugin.mjs";import{defineGenerator as He,defineSchema as Ue,useExecution as v}from"@power-plant/core";import{createDefu as y,defu as b}from"defu";import{dirname as We,isAbsolute as x,resolve as S}from"node:path";import{titleCase as C}from"@stryke/string-format/title-case";import{existsSync as w}from"@stryke/fs/exists";import{isDirectory as T}from"@stryke/fs/is-file";import{readJsonFile as E}from"@stryke/fs/json";import{listFiles as Ge}from"@stryke/fs/list-files";import{appendPath as D}from"@stryke/path/append";import{findFileExtensionSafe as O,findFileName as k,findFolderName as A}from"@stryke/path/file-path-fns";import{joinPaths as j}from"@stryke/path/join";import{isSetObject as M}from"@stryke/type-checks/is-set-object";import{isSetString as N}from"@stryke/type-checks/is-set-string";import{mkdir as Ke,readFile as P,readdir as F,writeFile as qe}from"node:fs/promises";import{getEnvPaths as Je}from"@stryke/env/get-env-paths";import{findFilePath as I}from"@stryke/path/find";import{replacePath as L}from"@stryke/path/replace";import{isFunction as Ye}from"@stryke/type-checks/is-function";import{loadConfig as R}from"c12";import{createJiti as Xe}from"jiti";import{existsSync as z,readdirSync as Ze}from"node:fs";import Qe from"node:os";function B(t){let n=e(t),r=n.filter(e=>!i(e.id));return r.length===0||r.length===1&&n.length===1?[]:r}function $e(e,t){let a=e.find(e=>e.id===r);return!a||i(t.id)?t.tokens:n(t.tokens,a.tokens)}function et(e,n,r){return{...e,theme:n.id,title:t(e.title,n.id)??e.title,tokens:$e(r,n)}}function tt(e,n){let r=t(e.title,n.id);return r?{...e,title:r}:e}async function V(e,t,n=t.plugins.filter(e=>e.generate)){let r={};for(let i of n){let n=await i.generate(e,t);r=b(n,r)}return r}function H(e){return e.themeGeneration===`combined`}async function nt(t,n){let r=n.plugins.filter(e=>e.generate),i=r.filter(H),o=r.filter(e=>!H(e)),s={};i.length>0&&(s=b(await V(t,n,i),s));let c=e(t.tokens),l=B(t.tokens);if(o.length===0)return s;if(l.length===0)return b(await V(t,n,o),s);for(let e of l){let r=await V(et(t,e,c),tt(n,e),o);s=b(a(r,e.id),s)}return s}async function rt(e){let t={};for(let n of e)Object.assign(t,await nt(n.spec,n.config));return t}function U(e){return!!(N(e)||M(e)&&`url`in e&&N(e.url))}function W(e){if(N(e))return e;if(M(e)&&`url`in e&&N(e.url))return e.url}const it=s.partial(),at=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),ot=y((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function st(e,t){return x(t)?t:S(e,t)}function ct(e){return Array.isArray(e)?e.filter(N):N(e)?[e]:[]}function lt(e){let t=e.toLowerCase();if(at.has(t))return t}function ut(e){let t=O(e)?.toLowerCase();return!!(t&&at.has(t))}function G(e){if(!e)return;let t=d.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=d.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function dt(e){if(!e)return;let t=l.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){if(N(t)){let e=k(t,{withExtension:!1})||t,r=l.safeParse({name:e,path:t});r.success&&n.push(r.data);continue}let e=l.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function ft(e){if(!M(e))return;let{files:t,usage:n,...r}=e,i=it.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function pt(e){return M(e)&&`path`in e}async function mt(e){let t=j(e,`package.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}let r={};N(n.name)&&(r.name=n.name,r.title=n.name),N(n.description)&&(r.description=n.description),N(n.version)&&(r.version=n.version),N(n.homepage)&&(r.homepage=n.homepage);let i=W(n.repository);if(i&&(r.repository=i),M(n.dependencies)&&(r.dependencies=n.dependencies),M(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(N);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;pt(a)?s=G(a):M(a)&&(o=ft(a),`files`in a&&(s=G(a.files)),`usage`in a&&(c=dt(a.usage)));let l=ot(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function ht(e){let t=j(e,`component.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}if(pt(n)||Array.isArray(n)){let e=G(n);if(e)return{files:e}}if(!M(n))return;let r=ft(n)??{},i=`files`in n?G(n.files):void 0,a=`usage`in n?dt(n.usage):void 0;return i?.length&&(r.files=i),a?.length&&(r.usage=a),Object.keys(r).length>0?r:void 0}async function gt(e){try{return(await F(e,{withFileTypes:!0})).filter(e=>e.isFile()&&!e.name.startsWith(`.`)&&ut(e.name)).map(e=>e.name).toSorted((e,t)=>e.localeCompare(t))}catch{return[]}}async function _t(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=D(t.path,e),r=O(t.path)??``,i=t.language??lt(r),a=t.name||k(t.path,{withExtension:!1})||t.path,o=t.content??(w(n)?await P(n,`utf8`):void 0);return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=j(e,`usage`);if(!w(n)||!T(n))return;let r=await gt(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=j(n,e),r=lt(O(e)??``),i=k(e,{withExtension:!1})||e;return{name:i,title:C(i),path:t,content:await P(t,`utf8`),...r?{language:r}:{}}}))}async function vt(e,t){let n=t??(await Ge(e)).filter(e=>k(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test(O(t))?`component`:`file`,path:t,content:await P(D(t,e),`utf8`)}:{type:/[tj]sx$/.test(O(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await P(D(t.path,e),`utf8`):void 0,path:D(t.path,e)}))}async function yt(e){let t=await mt(e),n=await ht(e);if(!t&&!n)return;let r=ot(n??{},t??{}),i=N(r.name)?r.name:A(e),a=N(r.title)?r.title:C(i),o=s.safeParse({...r,name:i,title:a});if(!o.success)return;let c=await _t(e,o.data.usage);return{...o.data,files:await vt(e,o.data.files),...c?.length?{usage:c}:{}}}async function bt(e){let t={},n=ct(e.options.componentsPath);for(let r of n){let n=st(e.cwd,r);if(w(n)&&T(n))try{let e=await F(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await yt(j(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const xt=o.partial(),St=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),K=y((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function Ct(e,t){return x(t)?t:S(e,t)}function wt(e){return Array.isArray(e)?e.filter(N):N(e)?[e]:[]}function Tt(e){let t=e.toLowerCase();if(St.has(t))return t}function Et(e){let t=O(e)?.toLowerCase();return!!(t&&St.has(t))}function Dt(e){return _.test(e)}async function q(e){try{return(await F(e,{withFileTypes:!0})).filter(e=>e.isFile()&&Et(e.name)).map(e=>e.name)}catch{return[]}}function J(e){if(!e)return;let t=c.safeParse(e);if(t.success)return[t.data];if(!Array.isArray(e))return;let n=[];for(let t of e){let e=c.safeParse(t);e.success&&n.push(e.data)}return n.length>0?n:void 0}function Ot(e){if(!M(e))return;let t=xt.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function kt(e){return M(e)&&`path`in e}async function Y(e,t,n){let r=D(e,t),i=Tt(O(e)??``)??`file`,a=i===`svg`?await P(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function At(e){let t=j(e,`package.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}let r={};N(n.name)&&(r.name=n.name,r.title=n.name),N(n.description)&&(r.description=n.description),N(n.version)&&(r.version=n.version),N(n.homepage)&&(r.homepage=n.homepage);let i=W(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(N);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;kt(a)?s=J(a):M(a)&&(o=Ot(a),`files`in a&&(s=J(a.files)));let c=K(o??{},r);return s?.length&&(c.files=s),Object.keys(c).length>0?c:void 0}async function jt(e){let t=j(e,`icon.json`);if(!w(t))return;let n;try{n=await E(t)}catch{return}if(kt(n)||Array.isArray(n)){let e=J(n);if(e)return{files:e}}return Ot(n)}async function Mt(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=D(t.path,e),r=O(t.path)??``,i=t.type??Tt(r)??`file`,a=t.content===void 0?i===`svg`?await P(n,`utf8`):void 0:t.content;return{...t,type:i,path:n,...a===void 0?{}:{content:a}}}));let n=await q(e);return Promise.all(n.map(t=>Y(t,e)))}async function Nt(e){let t=await At(e),n=await jt(e),r=await q(e);if(!t&&!n&&r.length===0)return;let i=K(n??{},t??{}),a=N(i.name)?i.name:A(e),s=N(i.title)?i.title:C(a),c=o.safeParse({...i,name:a,title:s});if(c.success)return{...c.data,files:await Mt(e,c.data.files)}}function Pt(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:C(t),files:[n]};return}let i=[...r.files??[]],a=i.findIndex(e=>e.path===n.path&&e.theme===n.theme);a>=0?i[a]=n:i.push(n),e[t]={...r,files:i}}async function Ft(e,t,n){let r=await q(e);for(let i of r){let r=k(i,{withExtension:!1});r&&Pt(n,r,await Y(i,e,t))}}async function It(e){let t={},n=wt(e.options.iconsPath);for(let r of n){let n=Ct(e.cwd,r);if(w(n)&&T(n))try{let e=await F(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=j(n,r.name);if(r.isDirectory()){if(Dt(r.name)){await Ft(e,r.name,t);continue}let n=await Nt(e);if(n){let e=t[n.name];t[n.name]=e?K(n,e):n}continue}if(r.isFile()&&Et(r.name)){let e=k(r.name,{withExtension:!1});if(!e)continue;Pt(t,e,await Y(r.name,n))}}}catch{continue}}return t}function X(e,t){let n=e[t];return N(n)?n:void 0}function Lt(e){let t={};N(e.name)&&(t.name=e.name),N(e.description)&&(t.description=e.description),N(e.homepage)&&(t.homepage=e.homepage);let n=W(e.repository);n&&(t.repository=n),N(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if(M(r)){let t=r,n=X(t,`title`),a=X(t,`name`),o=X(t,`description`),s=X(t,`homepage`),c=X(t,`logo`),l=W(t.repository);a?i.name=a:N(e.name)&&(i.name=e.name),n?i.title=n:N(i.name)&&(i.title=C(i.name)),o?i.description=o:N(e.description)&&(i.description=e.description),s?i.homepage=s:U(e.homepage)?i.homepage=W(e.homepage):U(e.author)?i.homepage=W(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&U(e.maintainers[0])?i.homepage=W(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&U(e.contributors[0])?i.homepage=W(e.contributors[0]):U(e.bugs)&&(i.homepage=W(e.bugs)),c&&(i.logo=c),l?i.repository=l:U(e.repository)&&(i.repository=W(e.repository))}return b(i,t)}function Rt(e){let t={};return N(e.name)&&(t.name=e.name),N(e.title)&&(t.title=e.title),N(e.description)&&(t.description=e.description),N(e.repository)&&(t.repository=e.repository),N(e.homepage)&&(t.homepage=e.homepage),N(e.logo)&&(t.logo=e.logo),t}async function zt(e){let t=j(e,`package.json`);if(!w(t))return{};let n;try{n=await E(t)}catch{return{}}return Lt(n)}async function Bt(e,t){let n=await zt(e),r=Rt(t);return b(r,n)}function Vt(e){let t=new Set,n=new Set,r=e=>{let t=[];for(let i of e)i&&!n.has(i)&&(n.add(i),i.plugins&&t.push(...r(i.plugins)),(i.parsers?.length||i.preprocessors?.length||i.extract||i.generate||i.validate)&&t.push(i),n.delete(i));return t};return r(e).filter(e=>!e?.name||!t.has(e.name)&&(t.add(e.name),!0))}const Ht=Qe.homedir();function Z(e){if(!z(e))return!1;try{return Ze(e,{withFileTypes:!0}).some(e=>e.isFile())}catch{return!1}}function Ut(e){return Array.isArray(e)?e.filter(e=>M(e)):[]}function Q(e){return Array.isArray(e)||!M(e)?{}:{...e}}const Wt=[`tokensPath`,`componentsPath`,`iconsPath`,`fontsPath`];function Gt(e,t){let n={...e};for(let e of Wt)t[e]!=null&&delete n[e];return n}function Kt(e,t,n,r){let i=j(e,`assets/icons`),a=j(e,`assets/fonts`),o=Z(i),s=Z(a),c=b({cwd:e,envPaths:r.envPaths},Gt(t,n),n,r.workspaceLayer,r.environmentLayer,r.homeLayer,{componentsPath:e,...o?{iconsPath:i}:{},...s?{fontsPath:a}:{},plugins:[]});if(Array.isArray(c.componentsPath)){let t=c.componentsPath.filter(N).map(e=>I(e));c.componentsPath=t.length>0?t:e}else c.componentsPath=N(c.componentsPath)?I(c.componentsPath):e;if(Array.isArray(c.iconsPath)){let e=c.iconsPath.filter(N).map(e=>I(e));c.iconsPath=e.length>0?e:o?i:void 0}else c.iconsPath=N(c.iconsPath)?c.iconsPath===i?i:I(c.iconsPath):o?i:void 0;if(Array.isArray(c.fontsPath)){let e=c.fontsPath.filter(N).map(e=>I(e));c.fontsPath=e.length>0?e:s?a:void 0}else c.fontsPath=N(c.fontsPath)?c.fontsPath===a?a:I(c.fontsPath):s?a:void 0;return c.plugins=Vt(Array.isArray(c.plugins)?c.plugins:[]),c.verbose=t.verbose===!0||n.verbose===!0,c}async function $(e,t){let n=t.configFile&&z(L(t.configFile,e))?L(t.configFile,e):t.configFile&&z(t.configFile)?t.configFile:z(j(e,`razorwind.${t.mode}.ts`))?j(e,`razorwind.${t.mode}.ts`):z(j(e,`razorwind.${t.mode}.js`))?j(e,`razorwind.${t.mode}.js`):z(j(e,`razorwind.${t.mode}.mts`))?j(e,`razorwind.${t.mode}.mts`):z(j(e,`razorwind.${t.mode}.mjs`))?j(e,`razorwind.${t.mode}.mjs`):z(j(e,`razorwind.${t.mode}.cjs`))?j(e,`razorwind.${t.mode}.cjs`):z(j(e,`razorwind.${t.mode}.cts`))?j(e,`razorwind.${t.mode}.cts`):z(j(e,`razorwind.${t.mode}.json`))?j(e,`razorwind.${t.mode}.json`):z(j(e,`razorwind.${t.mode}.yaml`))?j(e,`razorwind.${t.mode}.yaml`):z(j(e,`razorwind.${t.mode}.yml`))?j(e,`razorwind.${t.mode}.yml`):z(j(e,`razorwind.config.ts`))?j(e,`razorwind.config.ts`):z(j(e,`razorwind.config.js`))?j(e,`razorwind.config.js`):z(j(e,`razorwind.config.mts`))?j(e,`razorwind.config.mts`):z(j(e,`razorwind.config.mjs`))?j(e,`razorwind.config.mjs`):z(j(e,`razorwind.config.cjs`))?j(e,`razorwind.config.cjs`):z(j(e,`razorwind.config.cts`))?j(e,`razorwind.config.cts`):z(j(e,`razorwind.config.json`))?j(e,`razorwind.config.json`):z(j(e,`razorwind.config.yaml`))?j(e,`razorwind.config.yaml`):z(j(e,`razorwind.config.yml`))?j(e,`razorwind.config.yml`):void 0,r=Je({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=Xe(e,i),o=[{}];if(n){let r=x(n)?n:S(e,n),i=await a.import(r,{default:!0});if(i){let r=i;if(r=Ye(i)?await Promise.resolve(i({cwd:e,mode:t.mode??`development`})):await Promise.resolve(i),Array.isArray(r)){let e=Ut(r);if(e.length===0)throw Error(`Razorwind config array is empty. Provide at least one configuration object.`);o=e.map(e=>({...e,configFile:n}))}else M(r)&&(o=[{...r,configFile:n}])}}let[s,c,l]=await Promise.all([R({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),R({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),R({cwd:Ht,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),u=Q(s?.config),d=n?x(n)?n:S(e,n):void 0,f=typeof s?.configFile==`string`?s.configFile:void 0;d&&f&&S(e,f)===d&&delete u.plugins;let p={envPaths:{...r,home:Ht},workspaceLayer:u,environmentLayer:Q(c?.config),homeLayer:Q(l?.config)};return o.map(n=>Kt(e,t,n,p))}async function qt(e,t){let n=(await $(e,t))[0];if(!n)throw Error(`Unable to resolve Razorwind configuration.`);return n}async function Jt(e){if(e.options.plugins.length===0)throw Error(`Razorwind will not generate any code - no plugins configured. Please add at least one plugin to the configuration.`);let t=e.options.tokens;(!t||h(t))&&(t=await m(e));let n={...await Bt(e.cwd,e.options),tokens:t??{},components:b(e.options.components??{},await bt(e)??{}),icons:b(e.options.icons??{},await It(e)??{}),fonts:b(e.options.fonts??{},await p(e)??{})};for(let t of e.options.plugins.filter(e=>e.extract))n=await t.extract(n,e.options);if(n.tokens&&!h(n.tokens))for(let t of e.options.plugins.filter(e=>e.validate))await t.validate(n,e.options);return n}async function Yt(e,t){let n=await $(e.cwd,t),r=[];for(let t of n)e.options=t,r.push({spec:await Jt(e),config:t});return r}async function Xt(e,t){let n=[];for(let[r,i]of Object.entries(e??{})){let e=i?.path||r;if(!e)continue;let a=x(e)?e:S(t,e),o=(i?.chunks??[]).map(e=>e.content??``).join(``);await Ke(We(a),{recursive:!0}),await qe(a,o,`utf8`),n.push(a)}return n}var Zt=`0.0.65`;function Qt(e){return e}const $t=He({meta:{name:`razorwind`,title:`Razorwind`,description:`A generator that uses Razorwind to generate design system code from design tokens, components, icons, and fonts.`,version:Zt,tags:[`razorwind`,`dtcg`]},schema:Ue({schema:u}),input:async e=>{let t=v(),n=await Yt(t,e),r=n[0];if(!r)throw Error(`Unable to resolve Razorwind configuration.`);return t.generationRuns=n,t.options=r.config,r.spec},output:async(e,t,n)=>{await Xt(n,v().cwd)},generator:async e=>{let t=v();return rt(t.generationRuns&&t.generationRuns.length>0?t.generationRuns:[{spec:e,config:t.options}])}});export{Te as DEFAULT_TOKEN_PATH_CANDIDATES,ae as FONT_EXTENSIONS,ie as FONT_FORMAT_FROM_EXTENSION,f as GENERIC_FALLBACK_FROM_ROLE,ge as MONO_ROLES,Pe as RAZORWIND_INFER_PREPROCESSOR,_e as SANS_ROLES,_ as THEME_BASENAME_PATTERN,xe as TOKEN_DIRECTORY_GLOB,ve as TOKEN_FILE_EXTENSIONS,Se as TYPE_ALIASES,be as TYPE_PATH_HINTS,ee as WEIGHT_FROM_SUFFIX,g as WINDIE_PARSERS,g as razorwindParsers,ye as canonicalizeTokenType,Ne as collectCssCustomProperties,ce as copyFontFiles,pe as cssFontFamily,Qt as defineConfig,Ve as definePlugin,te as fontFamilyName,rt as generateAllPluginDocuments,nt as generatePluginDocuments,$t as generator,Le as getExtractionHooks,Ee as getRazorwindParserHooks,Me as getRazorwindPreprocessorHooks,ke as inferTypeFromPath,Ce as inferValue,me as isEmptyFonts,h as isEmptyTokens,bt as loadComponents,p as loadFonts,It as loadIcons,zt as loadSchemaMetaFromPackageJson,m as loadTokens,Ie as loadTokensOrThrow,le as mergeFonts,ze as nestFlatTokens,W as normalizeRepository,Be as normalizeTokenTree,Ae as parseCssCustomProperties,fe as parseCssFonts,ue as parseFontFilename,oe as pickFontByRole,Yt as prepareGenerationRuns,Jt as prepareSpec,se as prependFontCss,Re as razorwindInferPreprocessor,De as registerRazorwindHooks,Oe as registerRazorwindParsers,he as renderFontCss,ne as renderGoogleFontImports,re as renderLocalFontFaces,qt as resolveConfig,$ as resolveConfigs,Bt as resolveSchemaMeta,je as resolveTokensSource,Rt as schemaMetaFromConfig,Lt as schemaMetaFromPackageJson,Fe as styleDictionaryLogOptions,we as themeKeyFromPath,B as themesForGeneration,de as toGoogleFontsCssUrl,Vt as uniquePlugins,Xt as writeGeneratedDocuments};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-DwwHrTLr.cjs");exports.DEFAULT_TOKEN_PATH_CANDIDATES=e.b,exports.RAZORWIND_INFER_PREPROCESSOR=e.o,exports.THEME_BASENAME_PATTERN=e.x,exports.TOKEN_DIRECTORY_GLOB=e.S,exports.TOKEN_FILE_EXTENSIONS=e.C,exports.TYPE_ALIASES=e.T,exports.TYPE_PATH_HINTS=e.E,exports.WINDIE_PARSERS=e.w,exports.razorwindParsers=e.w,exports.canonicalizeTokenType=e.D,exports.collectCssCustomProperties=e.m,exports.getExtractionHooks=e.s,exports.getRazorwindParserHooks=e.c,exports.getRazorwindPreprocessorHooks=e.l,exports.inferTypeFromPath=e.g,exports.inferValue=e._,exports.isEmptyTokens=e.t,exports.loadTokens=e.n,exports.loadTokensOrThrow=e.r,exports.nestFlatTokens=e.v,exports.normalizeTokenTree=e.y,exports.parseCssCustomProperties=e.h,exports.razorwindInferPreprocessor=e.u,exports.registerRazorwindHooks=e.d,exports.registerRazorwindParsers=e.f,exports.resolveTokensSource=e.i,exports.styleDictionaryLogOptions=e.p,exports.themeKeyFromPath=e.a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-DHm5lWak.cjs");exports.DEFAULT_TOKEN_PATH_CANDIDATES=e.b,exports.RAZORWIND_INFER_PREPROCESSOR=e.o,exports.THEME_BASENAME_PATTERN=e.x,exports.TOKEN_DIRECTORY_GLOB=e.S,exports.TOKEN_FILE_EXTENSIONS=e.C,exports.TYPE_ALIASES=e.T,exports.TYPE_PATH_HINTS=e.E,exports.WINDIE_PARSERS=e.w,exports.razorwindParsers=e.w,exports.canonicalizeTokenType=e.D,exports.collectCssCustomProperties=e.m,exports.getExtractionHooks=e.s,exports.getRazorwindParserHooks=e.c,exports.getRazorwindPreprocessorHooks=e.l,exports.inferTypeFromPath=e.g,exports.inferValue=e._,exports.isEmptyTokens=e.t,exports.loadTokens=e.n,exports.loadTokensOrThrow=e.r,exports.nestFlatTokens=e.v,exports.normalizeTokenTree=e.y,exports.parseCssCustomProperties=e.h,exports.razorwindInferPreprocessor=e.u,exports.registerRazorwindHooks=e.d,exports.registerRazorwindParsers=e.f,exports.resolveTokensSource=e.i,exports.styleDictionaryLogOptions=e.p,exports.themeKeyFromPath=e.a;
@@ -1 +1 @@
1
- import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,w,x as T,y as E}from"../../tokens-CuiCo40i.mjs";export{s as DEFAULT_TOKEN_PATH_CANDIDATES,_ as RAZORWIND_INFER_PREPROCESSOR,T as THEME_BASENAME_PATTERN,r as TOKEN_DIRECTORY_GLOB,e as TOKEN_FILE_EXTENSIONS,i as TYPE_ALIASES,n as TYPE_PATH_HINTS,w as WINDIE_PARSERS,w as razorwindParsers,t as canonicalizeTokenType,h as collectCssCustomProperties,b as getExtractionHooks,c as getRazorwindParserHooks,m as getRazorwindPreprocessorHooks,d as inferTypeFromPath,a as inferValue,x as isEmptyTokens,g as loadTokens,y as loadTokensOrThrow,C as nestFlatTokens,E as normalizeTokenTree,f as parseCssCustomProperties,S as razorwindInferPreprocessor,l as registerRazorwindHooks,u as registerRazorwindParsers,p as resolveTokensSource,v as styleDictionaryLogOptions,o as themeKeyFromPath};
1
+ import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,w,x as T,y as E}from"../../tokens-ymopyrS0.mjs";export{s as DEFAULT_TOKEN_PATH_CANDIDATES,_ as RAZORWIND_INFER_PREPROCESSOR,T as THEME_BASENAME_PATTERN,r as TOKEN_DIRECTORY_GLOB,e as TOKEN_FILE_EXTENSIONS,i as TYPE_ALIASES,n as TYPE_PATH_HINTS,w as WINDIE_PARSERS,w as razorwindParsers,t as canonicalizeTokenType,h as collectCssCustomProperties,b as getExtractionHooks,c as getRazorwindParserHooks,m as getRazorwindPreprocessorHooks,d as inferTypeFromPath,a as inferValue,x as isEmptyTokens,g as loadTokens,y as loadTokensOrThrow,C as nestFlatTokens,E as normalizeTokenTree,f as parseCssCustomProperties,S as razorwindInferPreprocessor,l as registerRazorwindHooks,u as registerRazorwindParsers,p as resolveTokensSource,v as styleDictionaryLogOptions,o as themeKeyFromPath};
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-gLQ_OAIF.cjs");let n=require("node:path"),r=require("@stryke/fs/exists"),i=require("@stryke/fs/is-file"),a=require("@stryke/path/join"),o=require("@stryke/type-checks/is-set-string"),s=require("@stryke/type-checks/is-function"),c=require("@stryke/fs/resolve"),l=require("fast-glob");l=e.t(l,1);let u=require("style-dictionary");u=e.t(u,1);let d=require("style-dictionary/enums"),f=require("json5");f=e.t(f,1);let p=require("smol-toml"),ee=require("yaml");const m=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],h=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],te=h.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${te}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},b={size:`dimension`,sizes:`dimension`,sizing:`dimension`,space:`dimension`,spacing:`dimension`,radii:`dimension`,rounded:`dimension`,colour:`color`,colours:`color`,colors:`color`,fontweight:`fontWeight`,"font-weight":`fontWeight`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadows:`shadow`,elevation:`shadow`,gradients:`gradient`,durations:`duration`,time:`duration`,delay:`duration`};function x(e){return b[e.toLowerCase()]??e}const ne=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,re=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ie=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ae=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,oe=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,se=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ce=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,le=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,ue=/^\{[^{}]+\}$/,de={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},S=new Set([`px`,`rem`]);function C(e){return Math.min(1,Math.max(0,e))}function w(e,t=100){let n=e.trim();if(n.endsWith(`%`))return C(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return C(r>1?r/255:r)}function fe(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function pe(e){let t=fe(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function me(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function T(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function E(e,n=[]){let r=T(n);if(typeof e==`string`){let i=e.trim();if(ue.test(i))return{value:i,type:r};let a=i.match(le);if(a?.[1])return{value:me(a[1]),type:r};if(ne.test(i))return{value:pe(i),type:`color`};let o=t.C(i),s=o.match(re);if(s){let e=[w(s[1]),w(s[2]),w(s[3])],t=s[4]?s[4].endsWith(`%`)?C(Number.parseFloat(s[4])/100):C(Number.parseFloat(s[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let c=o.match(ie);if(c)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(c[1]),Number.parseFloat(c[2]),Number.parseFloat(c[3])],...c[4]?{alpha:c[4].endsWith(`%`)?C(Number.parseFloat(c[4])/100):C(Number.parseFloat(c[4]))}:{}},type:`color`};let l=o.match(ae);if(l){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(l[1]),e(l[2]),e(l[3])],...l[4]?{alpha:l[4].endsWith(`%`)?C(Number.parseFloat(l[4])/100):C(Number.parseFloat(l[4]))}:{}},type:`color`}}let u=i.match(oe);if(u){let e=u[2].toLowerCase(),t=Number.parseFloat(u[1]);return S.has(e)?{value:{value:t,unit:e},type:`dimension`}:{value:i,type:r===`dimension`?void 0:r}}let d=i.match(se);if(d)return{value:{value:Number.parseFloat(d[1]),unit:d[2].toLowerCase()},type:`duration`};let f=i.match(ce);if(f)return{value:[Number.parseFloat(f[1]),Number.parseFloat(f[2]),Number.parseFloat(f[3]),Number.parseFloat(f[4])],type:`cubicBezier`};let p=de[i.toLowerCase()];return p===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?i.includes(`,`)?{value:i.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:i.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!i.startsWith(`{`)?{value:o,type:void 0}:{value:i,type:r}:{value:p,type:`fontWeight`}}if(typeof e==`number`)return r===`fontWeight`?{value:e,type:`fontWeight`}:r===`duration`?{value:{value:e,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:e,unit:`px`},type:`dimension`}:{value:e,type:r??`number`};if(Array.isArray(e))return e.length===4&&e.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:e,type:`cubicBezier`}:e.every(e=>typeof e==`string`)?{value:e,type:r??`fontFamily`}:{value:e,type:r};if(t.n(e)){if(`colorSpace`in e&&`components`in e)return{value:e,type:`color`};if(`value`in e&&`unit`in e){let t=String(e.unit).toLowerCase();return t===`ms`||t===`s`?{value:e,type:`duration`}:S.has(t)?{value:e,type:`dimension`}:{value:e,type:r}}}return{value:e,type:r}}function he(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),typeof n.$type==`string`&&(n.$type=x(n.$type)),`$value`in n){let e=E(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function D(e,n=[]){if(Array.isArray(e))return e.map((e,t)=>D(e,[...n,String(t)]));if(!t.n(e))return e;if(t.g(e))return he(e,n);let r={};for(let[t,i]of Object.entries(e)){if(t.startsWith(`$`)){r[t]=i;continue}r[t]=D(i,[...n,t])}if(typeof r.$type==`string`)r.$type=x(r.$type);else if(!(`$type`in r)){let e=T(n);e&&n.length>0&&(r.$type=e)}return r}function O(e){let n={};for(let[r,i]of Object.entries(e)){let e=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let a=n;for(let n=0;n<e.length-1;n++){let r=e[n],i=a[r];t.n(i)?t.g(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=e.at(-1),s=E(i,e),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];t.n(l)&&!t.g(l)?l.DEFAULT=c:a[o]=c}return D(n)}const ge=/^--[A-Z_][\w-]*/i,_e=/^@property\s+(--[A-Z_][\w-]*)\s*\{/i,ve=/initial-value\s*:\s*([^;]+)/i,ye=/\s*!important\s*$/i;function be(e){return e.replace(/\/\*[\s\S]*?\*\//g,``)}function k(e){return e.replace(ye,``).trim()}function A(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===n)return r+1;r+=1}return e.length}function xe(e,t){let n=t,r=0,i=0,a=0;for(;n<e.length;){let o=e[n];if(o===`"`||o===`'`){n=A(e,n);continue}if(o===`(`){r+=1,n+=1;continue}if(o===`)`){r=Math.max(0,r-1),n+=1;continue}if(o===`[`){i+=1,n+=1;continue}if(o===`]`){i=Math.max(0,i-1),n+=1;continue}if(o===`{`){a+=1,n+=1;continue}if(o===`}`){if(a===0&&r===0&&i===0)return{value:k(e.slice(t,n)),end:n};a=Math.max(0,a-1),n+=1;continue}if(o===`;`&&a===0&&r===0&&i===0)return{value:k(e.slice(t,n)),end:n+1};n+=1}return{value:k(e.slice(t)),end:e.length}}function Se(e,t){let n=t,r=0;for(;n<e.length;){let i=e[n];if(i===`"`||i===`'`){n=A(e,n);continue}if(i===`{`){r+=1,n+=1;continue}if(i===`}`){if(r===0)return{body:e.slice(t,n),end:n+1};--r,n+=1;continue}n+=1}return{body:e.slice(t),end:e.length}}function j(e,t){let n=e.slice(t).match(ge);if(!n?.[0])return null;let r=n[0],i=t+r.length;for(;i<e.length&&/\s/.test(e[i]);)i+=1;if(e[i]!==`:`)return null;i+=1;let{value:a,end:o}=xe(e,i);return a?{name:r,value:a,end:o}:{name:r,value:``,end:o}}function M(e){let t=be(e),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`"`||e===`'`){r=A(t,r);continue}if(e===`@`&&/^@property\b/i.test(t.slice(r))){let e=t.slice(r).match(_e);if(!e?.[0]||!e[1]){r+=1;continue}let i=e[1],{body:a,end:o}=Se(t,r+e[0].length),s=a.match(ve)?.[1]?.trim();s&&(n[i]=k(s)),r=o;continue}if(e===`-`&&t[r+1]===`-`){let e=j(t,r);if(e){e.value&&(n[e.name]=e.value),r=e.end;continue}}r+=1}return n}function N(e){return O(M(e))}function P(e){return e?{verbosity:d.logVerbosityLevels.verbose}:{}}const F=`razorwind-infer`;function I(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return D(e)}function Ce(e){try{return I(f.default.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function we(e){try{return I((0,ee.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function Te(e){try{return I((0,p.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const Ee=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>Ce(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>we(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>Te(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>D(N(e))}];function L(){return Object.fromEntries(Ee.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function R(e){return D(e)}function z(){return{[F]:R}}function B(e=[]){let t={...L()},n={...z()},r=[...m],i=[F],a=0,o=0;for(let c of e){for(let e of c.parsers??[]){let n=e.name??`${c.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of c.preprocessors??[]){let t=(0,s.isFunction)(e)?{name:`${c.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${c.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function V(e=[],t=u.default){let n=B(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const De=V;function H(e,t){return(0,n.isAbsolute)(t)?t:(0,n.resolve)(e,t)}function U(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function W(e){return h.includes(U(e))}function G(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function K(e){return(0,a.joinPaths)(e,_)}function Oe(e){return Array.isArray(e)?e.filter(o.isSetString):(0,o.isSetString)(e)?[e]:[]}const ke=/[*?[\]{}]/;function Ae(e){return ke.test(e)}function je(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function q(e,t){let n=H(e,t);if(Ae(t)){let e=je(n);return e&&!(0,r.existsSync)(e)?void 0:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if((0,r.existsSync)(n))return(0,i.isDirectory)(n)?{resolvedPath:n,source:[K(n)],isStyleDictionaryConfig:!1}:G(n)?{resolvedPath:n,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}function J(e){let{cwd:t,tokensPath:n,fallbackPaths:a=[]}=e,o=Oe(n);if(o.length>0){let e=o.map(e=>q(t,e)),n=e.filter(e=>e&&e.isStyleDictionaryConfig);return n.length>0?e.length>1?void 0:{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}:{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e?.source??[]),origin:`tokensPath`}}for(let e of g){let n=H(t,e);if((0,r.existsSync)(n)){if((0,i.isDirectory)(n))return{resolvedPath:n,source:[K(n)],origin:`default`};if(G(n))return{resolvedPath:n,source:[],origin:`default`};if(W(n))return{resolvedPath:n,source:[n],origin:`default`}}}for(let e of a){if(!e)continue;let n=H(t,e);if((0,r.existsSync)(n)&&!(0,i.isDirectory)(n)&&(W(n)||U(n)===`css`))return{resolvedPath:n,source:[n],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function Me(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Ne=Me(u.default);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Pe(e){let t=await(0,c.importModule)(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=B(e.plugins),r=new Ne({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},P(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Fe(e){return(await(0,l.default)(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Ie(e,t){let n=await Fe(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,[...i,...n]);return a}async function $(e){let t=J(e.options);return t.resolvedPath&&(0,r.existsSync)(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test((0,n.basename)(t.resolvedPath))?(e.sd=await Z(e.options,await Pe(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?Ie(e.options,t.source):Q(e.options,t.source)}async function Le(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:(0,o.isSetString)(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return D}});
1
+ const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-efWdm4QC.cjs");let n=require("node:path"),r=require("@stryke/fs/exists"),i=require("@stryke/fs/is-file"),a=require("@stryke/path/join"),o=require("@stryke/type-checks/is-set-string"),s=require("@stryke/type-checks/is-function"),c=require("@stryke/fs/resolve"),l=require("fast-glob");l=e.t(l,1);let u=require("style-dictionary");u=e.t(u,1);let d=require("style-dictionary/enums"),f=require("json5");f=e.t(f,1);let p=require("smol-toml"),ee=require("yaml");const m=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],h=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],te=h.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${te}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},b={size:`dimension`,sizes:`dimension`,sizing:`dimension`,space:`dimension`,spacing:`dimension`,radii:`dimension`,rounded:`dimension`,colour:`color`,colours:`color`,colors:`color`,fontweight:`fontWeight`,"font-weight":`fontWeight`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadows:`shadow`,elevation:`shadow`,gradients:`gradient`,durations:`duration`,time:`duration`,delay:`duration`};function x(e){return b[e.toLowerCase()]??e}const ne=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,re=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ie=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,ae=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,oe=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,se=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ce=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,le=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,ue=/^\{[^{}]+\}$/,de={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},S=new Set([`px`,`rem`]);function C(e){return Math.min(1,Math.max(0,e))}function w(e,t=100){let n=e.trim();if(n.endsWith(`%`))return C(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return C(r>1?r/255:r)}function fe(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function pe(e){let t=fe(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function me(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function T(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function E(e,n=[]){let r=T(n);if(typeof e==`string`){let i=e.trim();if(ue.test(i))return{value:i,type:r};let a=i.match(le);if(a?.[1])return{value:me(a[1]),type:r};if(ne.test(i))return{value:pe(i),type:`color`};let o=t.C(i),s=o.match(re);if(s){let e=[w(s[1]),w(s[2]),w(s[3])],t=s[4]?s[4].endsWith(`%`)?C(Number.parseFloat(s[4])/100):C(Number.parseFloat(s[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let c=o.match(ie);if(c)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(c[1]),Number.parseFloat(c[2]),Number.parseFloat(c[3])],...c[4]?{alpha:c[4].endsWith(`%`)?C(Number.parseFloat(c[4])/100):C(Number.parseFloat(c[4]))}:{}},type:`color`};let l=o.match(ae);if(l){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(l[1]),e(l[2]),e(l[3])],...l[4]?{alpha:l[4].endsWith(`%`)?C(Number.parseFloat(l[4])/100):C(Number.parseFloat(l[4]))}:{}},type:`color`}}let u=i.match(oe);if(u){let e=u[2].toLowerCase(),t=Number.parseFloat(u[1]);return S.has(e)?{value:{value:t,unit:e},type:`dimension`}:{value:i,type:r===`dimension`?void 0:r}}let d=i.match(se);if(d)return{value:{value:Number.parseFloat(d[1]),unit:d[2].toLowerCase()},type:`duration`};let f=i.match(ce);if(f)return{value:[Number.parseFloat(f[1]),Number.parseFloat(f[2]),Number.parseFloat(f[3]),Number.parseFloat(f[4])],type:`cubicBezier`};let p=de[i.toLowerCase()];return p===void 0?r===`fontFamily`||/family|font|typeface/i.test(n.at(-1)??``)?i.includes(`,`)?{value:i.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:i.replace(/^["']|["']$/g,``),type:`fontFamily`}:r===`color`&&!i.startsWith(`{`)?{value:o,type:void 0}:{value:i,type:r}:{value:p,type:`fontWeight`}}if(typeof e==`number`)return r===`fontWeight`?{value:e,type:`fontWeight`}:r===`duration`?{value:{value:e,unit:`ms`},type:`duration`}:r===`dimension`?{value:{value:e,unit:`px`},type:`dimension`}:{value:e,type:r??`number`};if(Array.isArray(e))return e.length===4&&e.every(e=>typeof e==`number`)&&(r===`cubicBezier`||n.some(e=>/ease|bezier/i.test(e)))?{value:e,type:`cubicBezier`}:e.every(e=>typeof e==`string`)?{value:e,type:r??`fontFamily`}:{value:e,type:r};if(t.n(e)){if(`colorSpace`in e&&`components`in e)return{value:e,type:`color`};if(`value`in e&&`unit`in e){let t=String(e.unit).toLowerCase();return t===`ms`||t===`s`?{value:e,type:`duration`}:S.has(t)?{value:e,type:`dimension`}:{value:e,type:r}}}return{value:e,type:r}}function he(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),typeof n.$type==`string`&&(n.$type=x(n.$type)),`$value`in n){let e=E(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function D(e,n=[]){if(Array.isArray(e))return e.map((e,t)=>D(e,[...n,String(t)]));if(!t.n(e))return e;if(t.g(e))return he(e,n);let r={};for(let[t,i]of Object.entries(e)){if(t.startsWith(`$`)){r[t]=i;continue}r[t]=D(i,[...n,t])}if(typeof r.$type==`string`)r.$type=x(r.$type);else if(!(`$type`in r)){let e=T(n);e&&n.length>0&&(r.$type=e)}return r}function O(e){let n={};for(let[r,i]of Object.entries(e)){let e=r.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let a=n;for(let n=0;n<e.length-1;n++){let r=e[n],i=a[r];t.n(i)?t.g(i)&&(a[r]={DEFAULT:i}):a[r]={},a=a[r]}let o=e.at(-1),s=E(i,e),c={$value:s.value,...s.type?{$type:s.type}:{}},l=a[o];t.n(l)&&!t.g(l)?l.DEFAULT=c:a[o]=c}return D(n)}const ge=/^--[A-Z_][\w-]*/i,_e=/^@property\s+(--[A-Z_][\w-]*)\s*\{/i,ve=/initial-value\s*:\s*([^;]+)/i,ye=/\s*!important\s*$/i;function be(e){return e.replace(/\/\*[\s\S]*?\*\//g,``)}function k(e){return e.replace(ye,``).trim()}function A(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===n)return r+1;r+=1}return e.length}function xe(e,t){let n=t,r=0,i=0,a=0;for(;n<e.length;){let o=e[n];if(o===`"`||o===`'`){n=A(e,n);continue}if(o===`(`){r+=1,n+=1;continue}if(o===`)`){r=Math.max(0,r-1),n+=1;continue}if(o===`[`){i+=1,n+=1;continue}if(o===`]`){i=Math.max(0,i-1),n+=1;continue}if(o===`{`){a+=1,n+=1;continue}if(o===`}`){if(a===0&&r===0&&i===0)return{value:k(e.slice(t,n)),end:n};a=Math.max(0,a-1),n+=1;continue}if(o===`;`&&a===0&&r===0&&i===0)return{value:k(e.slice(t,n)),end:n+1};n+=1}return{value:k(e.slice(t)),end:e.length}}function Se(e,t){let n=t,r=0;for(;n<e.length;){let i=e[n];if(i===`"`||i===`'`){n=A(e,n);continue}if(i===`{`){r+=1,n+=1;continue}if(i===`}`){if(r===0)return{body:e.slice(t,n),end:n+1};--r,n+=1;continue}n+=1}return{body:e.slice(t),end:e.length}}function j(e,t){let n=e.slice(t).match(ge);if(!n?.[0])return null;let r=n[0],i=t+r.length;for(;i<e.length&&/\s/.test(e[i]);)i+=1;if(e[i]!==`:`)return null;i+=1;let{value:a,end:o}=xe(e,i);return a?{name:r,value:a,end:o}:{name:r,value:``,end:o}}function M(e){let t=be(e),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`"`||e===`'`){r=A(t,r);continue}if(e===`@`&&/^@property\b/i.test(t.slice(r))){let e=t.slice(r).match(_e);if(!e?.[0]||!e[1]){r+=1;continue}let i=e[1],{body:a,end:o}=Se(t,r+e[0].length),s=a.match(ve)?.[1]?.trim();s&&(n[i]=k(s)),r=o;continue}if(e===`-`&&t[r+1]===`-`){let e=j(t,r);if(e){e.value&&(n[e.name]=e.value),r=e.end;continue}}r+=1}return n}function N(e){return O(M(e))}function P(e){return e?{verbosity:d.logVerbosityLevels.verbose}:{}}const F=`razorwind-infer`;function I(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return D(e)}function Ce(e){try{return I(f.default.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function we(e){try{return I((0,ee.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function Te(e){try{return I((0,p.parse)(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const Ee=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>Ce(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>we(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>Te(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>D(N(e))}];function L(){return Object.fromEntries(Ee.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function R(e){return D(e)}function z(){return{[F]:R}}function B(e=[]){let t={...L()},n={...z()},r=[...m],i=[F],a=0,o=0;for(let c of e){for(let e of c.parsers??[]){let n=e.name??`${c.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of c.preprocessors??[]){let t=(0,s.isFunction)(e)?{name:`${c.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${c.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function V(e=[],t=u.default){let n=B(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const De=V;function H(e,t){return(0,n.isAbsolute)(t)?t:(0,n.resolve)(e,t)}function U(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function W(e){return h.includes(U(e))}function G(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function K(e){return(0,a.joinPaths)(e,_)}function Oe(e){return Array.isArray(e)?e.filter(o.isSetString):(0,o.isSetString)(e)?[e]:[]}const ke=/[*?[\]{}]/;function Ae(e){return ke.test(e)}function je(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function q(e,t){let n=H(e,t);if(Ae(t)){let e=je(n);return e&&!(0,r.existsSync)(e)?void 0:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if((0,r.existsSync)(n))return(0,i.isDirectory)(n)?{resolvedPath:n,source:[K(n)],isStyleDictionaryConfig:!1}:G(n)?{resolvedPath:n,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}function J(e){let{cwd:t,tokensPath:n,fallbackPaths:a=[]}=e,o=Oe(n);if(o.length>0){let e=o.map(e=>q(t,e)),n=e.filter(e=>e&&e.isStyleDictionaryConfig);return n.length>0?e.length>1?void 0:{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}:{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e?.source??[]),origin:`tokensPath`}}for(let e of g){let n=H(t,e);if((0,r.existsSync)(n)){if((0,i.isDirectory)(n))return{resolvedPath:n,source:[K(n)],origin:`default`};if(G(n))return{resolvedPath:n,source:[],origin:`default`};if(W(n))return{resolvedPath:n,source:[n],origin:`default`}}}for(let e of a){if(!e)continue;let n=H(t,e);if((0,r.existsSync)(n)&&!(0,i.isDirectory)(n)&&(W(n)||U(n)===`css`))return{resolvedPath:n,source:[n],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function Me(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Ne=Me(u.default);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Pe(e){let t=await(0,c.importModule)(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=B(e.plugins),r=new Ne({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},P(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Fe(e){return(await(0,l.default)(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Ie(e,t){let n=await Fe(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,[...i,...n]);return a}async function $(e){let t=J(e.options);return t.resolvedPath&&(0,r.existsSync)(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test((0,n.basename)(t.resolvedPath))?(e.sd=await Z(e.options,await Pe(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?Ie(e.options,t.source):Q(e.options,t.source)}async function Le(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:(0,o.isSetString)(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return D}});
@@ -1,2 +1,2 @@
1
- import{C as e,g as t,n}from"./utils-KDezR5p2.mjs";import{basename as r,isAbsolute as i,resolve as a}from"node:path";import{existsSync as o}from"@stryke/fs/exists";import{isDirectory as s}from"@stryke/fs/is-file";import{joinPaths as c}from"@stryke/path/join";import{isSetString as l}from"@stryke/type-checks/is-set-string";import{isFunction as u}from"@stryke/type-checks/is-function";import{importModule as d}from"@stryke/fs/resolve";import f from"fast-glob";import p from"style-dictionary";import{logVerbosityLevels as ee}from"style-dictionary/enums";import te from"json5";import{parse as ne}from"smol-toml";import{parse as re}from"yaml";const m=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],h=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],ie=h.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${ie}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},b={size:`dimension`,sizes:`dimension`,sizing:`dimension`,space:`dimension`,spacing:`dimension`,radii:`dimension`,rounded:`dimension`,colour:`color`,colours:`color`,colors:`color`,fontweight:`fontWeight`,"font-weight":`fontWeight`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadows:`shadow`,elevation:`shadow`,gradients:`gradient`,durations:`duration`,time:`duration`,delay:`duration`};function x(e){return b[e.toLowerCase()]??e}const ae=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,oe=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,S=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,se=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,ce=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,le=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ue=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,de=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,fe=/^\{[^{}]+\}$/,C={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},w=new Set([`px`,`rem`]);function T(e){return Math.min(1,Math.max(0,e))}function E(e,t=100){let n=e.trim();if(n.endsWith(`%`))return T(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return T(r>1?r/255:r)}function pe(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function me(e){let t=pe(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function he(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function D(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function O(t,r=[]){let i=D(r);if(typeof t==`string`){let n=t.trim();if(fe.test(n))return{value:n,type:i};let a=n.match(de);if(a?.[1])return{value:he(a[1]),type:i};if(ae.test(n))return{value:me(n),type:`color`};let o=e(n),s=o.match(oe);if(s){let e=[E(s[1]),E(s[2]),E(s[3])],t=s[4]?s[4].endsWith(`%`)?T(Number.parseFloat(s[4])/100):T(Number.parseFloat(s[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let c=o.match(S);if(c)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(c[1]),Number.parseFloat(c[2]),Number.parseFloat(c[3])],...c[4]?{alpha:c[4].endsWith(`%`)?T(Number.parseFloat(c[4])/100):T(Number.parseFloat(c[4]))}:{}},type:`color`};let l=o.match(se);if(l){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(l[1]),e(l[2]),e(l[3])],...l[4]?{alpha:l[4].endsWith(`%`)?T(Number.parseFloat(l[4])/100):T(Number.parseFloat(l[4]))}:{}},type:`color`}}let u=n.match(ce);if(u){let e=u[2].toLowerCase(),t=Number.parseFloat(u[1]);return w.has(e)?{value:{value:t,unit:e},type:`dimension`}:{value:n,type:i===`dimension`?void 0:i}}let d=n.match(le);if(d)return{value:{value:Number.parseFloat(d[1]),unit:d[2].toLowerCase()},type:`duration`};let f=n.match(ue);if(f)return{value:[Number.parseFloat(f[1]),Number.parseFloat(f[2]),Number.parseFloat(f[3]),Number.parseFloat(f[4])],type:`cubicBezier`};let p=C[n.toLowerCase()];return p===void 0?i===`fontFamily`||/family|font|typeface/i.test(r.at(-1)??``)?n.includes(`,`)?{value:n.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:n.replace(/^["']|["']$/g,``),type:`fontFamily`}:i===`color`&&!n.startsWith(`{`)?{value:o,type:void 0}:{value:n,type:i}:{value:p,type:`fontWeight`}}if(typeof t==`number`)return i===`fontWeight`?{value:t,type:`fontWeight`}:i===`duration`?{value:{value:t,unit:`ms`},type:`duration`}:i===`dimension`?{value:{value:t,unit:`px`},type:`dimension`}:{value:t,type:i??`number`};if(Array.isArray(t))return t.length===4&&t.every(e=>typeof e==`number`)&&(i===`cubicBezier`||r.some(e=>/ease|bezier/i.test(e)))?{value:t,type:`cubicBezier`}:t.every(e=>typeof e==`string`)?{value:t,type:i??`fontFamily`}:{value:t,type:i};if(n(t)){if(`colorSpace`in t&&`components`in t)return{value:t,type:`color`};if(`value`in t&&`unit`in t){let e=String(t.unit).toLowerCase();return e===`ms`||e===`s`?{value:t,type:`duration`}:w.has(e)?{value:t,type:`dimension`}:{value:t,type:i}}}return{value:t,type:i}}function ge(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),typeof n.$type==`string`&&(n.$type=x(n.$type)),`$value`in n){let e=O(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function k(e,r=[]){if(Array.isArray(e))return e.map((e,t)=>k(e,[...r,String(t)]));if(!n(e))return e;if(t(e))return ge(e,r);let i={};for(let[t,n]of Object.entries(e)){if(t.startsWith(`$`)){i[t]=n;continue}i[t]=k(n,[...r,t])}if(typeof i.$type==`string`)i.$type=x(i.$type);else if(!(`$type`in i)){let e=D(r);e&&r.length>0&&(i.$type=e)}return i}function A(e){let r={};for(let[i,a]of Object.entries(e)){let e=i.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let o=r;for(let r=0;r<e.length-1;r++){let i=e[r],a=o[i];n(a)?t(a)&&(o[i]={DEFAULT:a}):o[i]={},o=o[i]}let s=e.at(-1),c=O(a,e),l={$value:c.value,...c.type?{$type:c.type}:{}},u=o[s];n(u)&&!t(u)?u.DEFAULT=l:o[s]=l}return k(r)}const _e=/^--[A-Z_][\w-]*/i,ve=/^@property\s+(--[A-Z_][\w-]*)\s*\{/i,ye=/initial-value\s*:\s*([^;]+)/i,be=/\s*!important\s*$/i;function xe(e){return e.replace(/\/\*[\s\S]*?\*\//g,``)}function j(e){return e.replace(be,``).trim()}function M(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===n)return r+1;r+=1}return e.length}function Se(e,t){let n=t,r=0,i=0,a=0;for(;n<e.length;){let o=e[n];if(o===`"`||o===`'`){n=M(e,n);continue}if(o===`(`){r+=1,n+=1;continue}if(o===`)`){r=Math.max(0,r-1),n+=1;continue}if(o===`[`){i+=1,n+=1;continue}if(o===`]`){i=Math.max(0,i-1),n+=1;continue}if(o===`{`){a+=1,n+=1;continue}if(o===`}`){if(a===0&&r===0&&i===0)return{value:j(e.slice(t,n)),end:n};a=Math.max(0,a-1),n+=1;continue}if(o===`;`&&a===0&&r===0&&i===0)return{value:j(e.slice(t,n)),end:n+1};n+=1}return{value:j(e.slice(t)),end:e.length}}function Ce(e,t){let n=t,r=0;for(;n<e.length;){let i=e[n];if(i===`"`||i===`'`){n=M(e,n);continue}if(i===`{`){r+=1,n+=1;continue}if(i===`}`){if(r===0)return{body:e.slice(t,n),end:n+1};--r,n+=1;continue}n+=1}return{body:e.slice(t),end:e.length}}function we(e,t){let n=e.slice(t).match(_e);if(!n?.[0])return null;let r=n[0],i=t+r.length;for(;i<e.length&&/\s/.test(e[i]);)i+=1;if(e[i]!==`:`)return null;i+=1;let{value:a,end:o}=Se(e,i);return a?{name:r,value:a,end:o}:{name:r,value:``,end:o}}function N(e){let t=xe(e),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`"`||e===`'`){r=M(t,r);continue}if(e===`@`&&/^@property\b/i.test(t.slice(r))){let e=t.slice(r).match(ve);if(!e?.[0]||!e[1]){r+=1;continue}let i=e[1],{body:a,end:o}=Ce(t,r+e[0].length),s=a.match(ye)?.[1]?.trim();s&&(n[i]=j(s)),r=o;continue}if(e===`-`&&t[r+1]===`-`){let e=we(t,r);if(e){e.value&&(n[e.name]=e.value),r=e.end;continue}}r+=1}return n}function P(e){return A(N(e))}function F(e){return e?{verbosity:ee.verbose}:{}}const I=`razorwind-infer`;function L(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return k(e)}function Te(e){try{return L(te.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function Ee(e){try{return L(re(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function De(e){try{return L(ne(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const Oe=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>Te(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>Ee(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>De(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>k(P(e))}];function R(){return Object.fromEntries(Oe.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return k(e)}function B(){return{[I]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...m],i=[I],a=0,o=0;for(let s of e){for(let e of s.parsers??[]){let n=e.name??`${s.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of s.preprocessors??[]){let t=u(e)?{name:`${s.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${s.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function H(e=[],t=p){let n=V(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const ke=H;function U(e,t){return i(t)?t:a(e,t)}function W(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function G(e){return h.includes(W(e))}function K(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function q(e){return c(e,_)}function Ae(e){return Array.isArray(e)?e.filter(l):l(e)?[e]:[]}const je=/[*?[\]{}]/;function Me(e){return je.test(e)}function Ne(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function Pe(e,t){let n=U(e,t);if(Me(t)){let e=Ne(n);return e&&!o(e)?void 0:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if(o(n))return s(n)?{resolvedPath:n,source:[q(n)],isStyleDictionaryConfig:!1}:K(n)?{resolvedPath:n,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}function J(e){let{cwd:t,tokensPath:n,fallbackPaths:r=[]}=e,i=Ae(n);if(i.length>0){let e=i.map(e=>Pe(t,e)),n=e.filter(e=>e&&e.isStyleDictionaryConfig);return n.length>0?e.length>1?void 0:{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}:{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e?.source??[]),origin:`tokensPath`}}for(let e of g){let n=U(t,e);if(o(n)){if(s(n))return{resolvedPath:n,source:[q(n)],origin:`default`};if(K(n))return{resolvedPath:n,source:[],origin:`default`};if(G(n))return{resolvedPath:n,source:[n],origin:`default`}}}for(let e of r){if(!e)continue;let n=U(t,e);if(o(n)&&!s(n)&&(G(n)||W(n)===`css`))return{resolvedPath:n,source:[n],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function Fe(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Ie=Fe(p);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Le(e){let t=await d(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=V(e.plugins),r=new Ie({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},F(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Re(e){return(await f(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function ze(e,t){let n=await Re(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,[...i,...n]);return a}async function $(e){let t=J(e.options);return t.resolvedPath&&o(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test(r(t.resolvedPath))?(e.sd=await Z(e.options,await Le(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?ze(e.options,t.source):Q(e.options,t.source)}async function Be(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:l(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}export{h as C,x as D,y as E,_ as S,b as T,O as _,Y as a,g as b,R as c,H as d,ke as f,D as g,P as h,J as i,B as l,N as m,$ as n,I as o,F as p,Be as r,V as s,X as t,z as u,A as v,m as w,v as x,k as y};
2
- //# sourceMappingURL=tokens-CuiCo40i.mjs.map
1
+ import{C as e,g as t,n}from"./utils-BMXBJR4A.mjs";import{basename as r,isAbsolute as i,resolve as a}from"node:path";import{existsSync as o}from"@stryke/fs/exists";import{isDirectory as s}from"@stryke/fs/is-file";import{joinPaths as c}from"@stryke/path/join";import{isSetString as l}from"@stryke/type-checks/is-set-string";import{isFunction as u}from"@stryke/type-checks/is-function";import{importModule as d}from"@stryke/fs/resolve";import f from"fast-glob";import p from"style-dictionary";import{logVerbosityLevels as ee}from"style-dictionary/enums";import te from"json5";import{parse as ne}from"smol-toml";import{parse as re}from"yaml";const m=[`razorwind-json`,`razorwind-yaml`,`razorwind-toml`,`razorwind-css`],h=[`json`,`json5`,`jsonc`,`yaml`,`yml`,`toml`,`css`,`js`,`mjs`,`cjs`,`ts`,`mts`,`cts`],ie=h.join(`,`),g=[`tokens.json`,`tokens.json5`,`tokens.jsonc`,`tokens.yaml`,`tokens.yml`,`tokens.toml`,`tokens.css`,`design-tokens.json`,`design-tokens.yaml`,`design-tokens.yml`,`tokens`,`design-tokens`,`src/tokens`,`src/design-tokens`,`packages/tokens`,`style-dictionary.config.js`,`style-dictionary.config.mjs`,`style-dictionary.config.ts`,`sd.config.js`,`sd.config.mjs`,`sd.config.ts`],_=`**/*.{${ie}}`,v=/^(light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)([._-].+)?$/i,y={color:`color`,colours:`color`,colors:`color`,colour:`color`,palette:`color`,bg:`color`,background:`color`,foreground:`color`,fg:`color`,border:`color`,fill:`color`,stroke:`color`,spacing:`dimension`,space:`dimension`,size:`dimension`,sizes:`dimension`,sizing:`dimension`,gap:`dimension`,radius:`dimension`,radii:`dimension`,rounded:`dimension`,width:`dimension`,height:`dimension`,dimension:`dimension`,dimensions:`dimension`,duration:`duration`,durations:`duration`,time:`duration`,delay:`duration`,animation:`duration`,motion:`duration`,transition:`duration`,font:`fontFamily`,fonts:`fontFamily`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,fontweight:`fontWeight`,"font-weight":`fontWeight`,weight:`fontWeight`,opacity:`number`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadow:`shadow`,shadows:`shadow`,elevation:`shadow`,gradient:`gradient`,gradients:`gradient`,typography:`typography`,text:`typography`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`},b={size:`dimension`,sizes:`dimension`,sizing:`dimension`,space:`dimension`,spacing:`dimension`,radii:`dimension`,rounded:`dimension`,colour:`color`,colours:`color`,colors:`color`,fontweight:`fontWeight`,"font-weight":`fontWeight`,fontfamily:`fontFamily`,"font-family":`fontFamily`,typeface:`fontFamily`,cubicbezier:`cubicBezier`,easing:`cubicBezier`,ease:`cubicBezier`,opacities:`number`,zindex:`number`,"z-index":`number`,lineheight:`number`,"line-height":`number`,letterspacing:`dimension`,"letter-spacing":`dimension`,shadows:`shadow`,elevation:`shadow`,gradients:`gradient`,durations:`duration`,time:`duration`,delay:`duration`};function x(e){return b[e.toLowerCase()]??e}const ae=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,oe=/^rgba?\(\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+%?)(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,S=/^hsla?\(\s*([+\d.]+)[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%[\x09-\x0D\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?: |(?: \s*)?,)\s*([+\d.]+)%(?:\s*[,/]\s*([+\d.]+%?))?\s*\)$/i,se=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,ce=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,le=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,ue=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,de=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,fe=/^\{[^{}]+\}$/,C={thin:100,hairline:100,extralight:200,"extra-light":200,ultralight:200,light:300,normal:400,regular:400,book:400,medium:500,semibold:600,"semi-bold":600,demibold:600,bold:700,extrabold:800,"extra-bold":800,ultrabold:800,black:900,heavy:900},w=new Set([`px`,`rem`]);function T(e){return Math.min(1,Math.max(0,e))}function E(e,t=100){let n=e.trim();if(n.endsWith(`%`))return T(Number.parseFloat(n)/t);let r=Number.parseFloat(n);return T(r>1?r/255:r)}function pe(e){let t=e.slice(1);return t.length===3||t.length===4?`#${[...t].map(e=>e+e).join(``)}`:(e.length===7||e.length,e)}function me(e){let t=pe(e.toLowerCase()).slice(1),n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=t.length===8?Number.parseInt(t.slice(6,8),16)/255:void 0;return{colorSpace:`srgb`,components:[n,r,i],...a===void 0||a===1?{}:{alpha:a},hex:`#${t.slice(0,6)}`}}function he(e){return`{${e.replace(/^--/,``).split(`-`).filter(Boolean).join(`.`)}}`}function D(e){for(let t=e.length-1;t>=0;t--){let n=e[t]?.toLowerCase();if(!n)continue;let r=y[n];if(r)return r}}function O(t,r=[]){let i=D(r);if(typeof t==`string`){let n=t.trim();if(fe.test(n))return{value:n,type:i};let a=n.match(de);if(a?.[1])return{value:he(a[1]),type:i};if(ae.test(n))return{value:me(n),type:`color`};let o=e(n),s=o.match(oe);if(s){let e=[E(s[1]),E(s[2]),E(s[3])],t=s[4]?s[4].endsWith(`%`)?T(Number.parseFloat(s[4])/100):T(Number.parseFloat(s[4])):void 0;return{value:{colorSpace:`srgb`,components:e,...t===void 0||Number.isNaN(t)?{}:{alpha:t}},type:`color`}}let c=o.match(S);if(c)return{value:{colorSpace:`hsl`,components:[Number.parseFloat(c[1]),Number.parseFloat(c[2]),Number.parseFloat(c[3])],...c[4]?{alpha:c[4].endsWith(`%`)?T(Number.parseFloat(c[4])/100):T(Number.parseFloat(c[4]))}:{}},type:`color`};let l=o.match(se);if(l){let e=e=>e===`none`?`none`:e.endsWith(`%`)?Number.parseFloat(e)/100:Number.parseFloat(e);return{value:{colorSpace:`oklch`,components:[e(l[1]),e(l[2]),e(l[3])],...l[4]?{alpha:l[4].endsWith(`%`)?T(Number.parseFloat(l[4])/100):T(Number.parseFloat(l[4]))}:{}},type:`color`}}let u=n.match(ce);if(u){let e=u[2].toLowerCase(),t=Number.parseFloat(u[1]);return w.has(e)?{value:{value:t,unit:e},type:`dimension`}:{value:n,type:i===`dimension`?void 0:i}}let d=n.match(le);if(d)return{value:{value:Number.parseFloat(d[1]),unit:d[2].toLowerCase()},type:`duration`};let f=n.match(ue);if(f)return{value:[Number.parseFloat(f[1]),Number.parseFloat(f[2]),Number.parseFloat(f[3]),Number.parseFloat(f[4])],type:`cubicBezier`};let p=C[n.toLowerCase()];return p===void 0?i===`fontFamily`||/family|font|typeface/i.test(r.at(-1)??``)?n.includes(`,`)?{value:n.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``)),type:`fontFamily`}:{value:n.replace(/^["']|["']$/g,``),type:`fontFamily`}:i===`color`&&!n.startsWith(`{`)?{value:o,type:void 0}:{value:n,type:i}:{value:p,type:`fontWeight`}}if(typeof t==`number`)return i===`fontWeight`?{value:t,type:`fontWeight`}:i===`duration`?{value:{value:t,unit:`ms`},type:`duration`}:i===`dimension`?{value:{value:t,unit:`px`},type:`dimension`}:{value:t,type:i??`number`};if(Array.isArray(t))return t.length===4&&t.every(e=>typeof e==`number`)&&(i===`cubicBezier`||r.some(e=>/ease|bezier/i.test(e)))?{value:t,type:`cubicBezier`}:t.every(e=>typeof e==`string`)?{value:t,type:i??`fontFamily`}:{value:t,type:i};if(n(t)){if(`colorSpace`in t&&`components`in t)return{value:t,type:`color`};if(`value`in t&&`unit`in t){let e=String(t.unit).toLowerCase();return e===`ms`||e===`s`?{value:t,type:`duration`}:w.has(e)?{value:t,type:`dimension`}:{value:t,type:i}}}return{value:t,type:i}}function ge(e,t){let n={...e};if(`value`in n&&!(`$value`in n)&&(n.$value=n.value,delete n.value),`type`in n&&!(`$type`in n)&&(n.$type=n.type,delete n.type),`comment`in n&&!(`$description`in n)&&(n.$description=n.comment,delete n.comment),`description`in n&&!(`$description`in n)&&(n.$description=n.description,delete n.description),`ref`in n&&!(`$ref`in n)&&(n.$ref=n.ref,delete n.ref),typeof n.$type==`string`&&(n.$type=x(n.$type)),`$value`in n){let e=O(n.$value,t);n.$value=e.value,!(`$type`in n)&&e.type&&(n.$type=e.type)}return n}function k(e,r=[]){if(Array.isArray(e))return e.map((e,t)=>k(e,[...r,String(t)]));if(!n(e))return e;if(t(e))return ge(e,r);let i={};for(let[t,n]of Object.entries(e)){if(t.startsWith(`$`)){i[t]=n;continue}i[t]=k(n,[...r,t])}if(typeof i.$type==`string`)i.$type=x(i.$type);else if(!(`$type`in i)){let e=D(r);e&&r.length>0&&(i.$type=e)}return i}function A(e){let r={};for(let[i,a]of Object.entries(e)){let e=i.replace(/^--/,``).split(/[-./]/).filter(Boolean);if(e.length===0)continue;let o=r;for(let r=0;r<e.length-1;r++){let i=e[r],a=o[i];n(a)?t(a)&&(o[i]={DEFAULT:a}):o[i]={},o=o[i]}let s=e.at(-1),c=O(a,e),l={$value:c.value,...c.type?{$type:c.type}:{}},u=o[s];n(u)&&!t(u)?u.DEFAULT=l:o[s]=l}return k(r)}const _e=/^--[A-Z_][\w-]*/i,ve=/^@property\s+(--[A-Z_][\w-]*)\s*\{/i,ye=/initial-value\s*:\s*([^;]+)/i,be=/\s*!important\s*$/i;function xe(e){return e.replace(/\/\*[\s\S]*?\*\//g,``)}function j(e){return e.replace(be,``).trim()}function M(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===n)return r+1;r+=1}return e.length}function Se(e,t){let n=t,r=0,i=0,a=0;for(;n<e.length;){let o=e[n];if(o===`"`||o===`'`){n=M(e,n);continue}if(o===`(`){r+=1,n+=1;continue}if(o===`)`){r=Math.max(0,r-1),n+=1;continue}if(o===`[`){i+=1,n+=1;continue}if(o===`]`){i=Math.max(0,i-1),n+=1;continue}if(o===`{`){a+=1,n+=1;continue}if(o===`}`){if(a===0&&r===0&&i===0)return{value:j(e.slice(t,n)),end:n};a=Math.max(0,a-1),n+=1;continue}if(o===`;`&&a===0&&r===0&&i===0)return{value:j(e.slice(t,n)),end:n+1};n+=1}return{value:j(e.slice(t)),end:e.length}}function Ce(e,t){let n=t,r=0;for(;n<e.length;){let i=e[n];if(i===`"`||i===`'`){n=M(e,n);continue}if(i===`{`){r+=1,n+=1;continue}if(i===`}`){if(r===0)return{body:e.slice(t,n),end:n+1};--r,n+=1;continue}n+=1}return{body:e.slice(t),end:e.length}}function we(e,t){let n=e.slice(t).match(_e);if(!n?.[0])return null;let r=n[0],i=t+r.length;for(;i<e.length&&/\s/.test(e[i]);)i+=1;if(e[i]!==`:`)return null;i+=1;let{value:a,end:o}=Se(e,i);return a?{name:r,value:a,end:o}:{name:r,value:``,end:o}}function N(e){let t=xe(e),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`"`||e===`'`){r=M(t,r);continue}if(e===`@`&&/^@property\b/i.test(t.slice(r))){let e=t.slice(r).match(ve);if(!e?.[0]||!e[1]){r+=1;continue}let i=e[1],{body:a,end:o}=Ce(t,r+e[0].length),s=a.match(ye)?.[1]?.trim();s&&(n[i]=j(s)),r=o;continue}if(e===`-`&&t[r+1]===`-`){let e=we(t,r);if(e){e.value&&(n[e.name]=e.value),r=e.end;continue}}r+=1}return n}function P(e){return A(N(e))}function F(e){return e?{verbosity:ee.verbose}:{}}const I=`razorwind-infer`;function L(e){if(e==null)return{};if(typeof e!=`object`||Array.isArray(e))throw TypeError(`Token file must parse to a plain object.`);return k(e)}function Te(e){try{return L(te.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function Ee(e){try{return L(re(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function De(e){try{return L(ne(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const Oe=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>Te(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>Ee(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>De(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>k(P(e))}];function R(){return Object.fromEntries(Oe.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return k(e)}function B(){return{[I]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...m],i=[I],a=0,o=0;for(let s of e){for(let e of s.parsers??[]){let n=e.name??`${s.name}-parser-${a}`;t[n]={pattern:e.pattern,parser:({contents:t})=>e.parser(t)},r.push(n),a++}for(let e of s.preprocessors??[]){let t=u(e)?{name:`${s.name}-preprocessor-${o}`,preprocessor:e}:{name:e.name??`${s.name}-preprocessor-${o}`,preprocessor:e.preprocessor};n[t.name]=t.preprocessor,i.push(t.name),o++}}return{parsers:t,preprocessors:n,parserNames:r,preprocessorNames:i}}function H(e=[],t=p){let n=V(e);if(typeof t.registerParser==`function`)for(let[e,r]of Object.entries(n.parsers))t.registerParser({name:e,...r});if(typeof t.registerPreprocessor==`function`)for(let[e,r]of Object.entries(n.preprocessors))t.registerPreprocessor({name:e,preprocessor:r});return n}const ke=H;function U(e,t){return i(t)?t:a(e,t)}function W(e){return/\.([^.]+)$/.exec(e)?.[1]?.toLowerCase()??``}function G(e){return h.includes(W(e))}function K(e){let t=e.split(/[/\\]/).pop()?.toLowerCase()??``;return t.startsWith(`style-dictionary.config.`)||t.startsWith(`sd.config.`)}function q(e){return c(e,_)}function Ae(e){return Array.isArray(e)?e.filter(l):l(e)?[e]:[]}const je=/[*?[\]{}]/;function Me(e){return je.test(e)}function Ne(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function Pe(e,t){let n=U(e,t);if(Me(t)){let e=Ne(n);return e&&!o(e)?void 0:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if(o(n))return s(n)?{resolvedPath:n,source:[q(n)],isStyleDictionaryConfig:!1}:K(n)?{resolvedPath:n,source:[],isStyleDictionaryConfig:!0}:{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}function J(e){let{cwd:t,tokensPath:n,fallbackPaths:r=[]}=e,i=Ae(n);if(i.length>0){let e=i.map(e=>Pe(t,e)),n=e.filter(e=>e&&e.isStyleDictionaryConfig);return n.length>0?e.length>1?void 0:{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}:{resolvedPath:e[0]?.resolvedPath,source:e.flatMap(e=>e?.source??[]),origin:`tokensPath`}}for(let e of g){let n=U(t,e);if(o(n)){if(s(n))return{resolvedPath:n,source:[q(n)],origin:`default`};if(K(n))return{resolvedPath:n,source:[],origin:`default`};if(G(n))return{resolvedPath:n,source:[n],origin:`default`}}}for(let e of r){if(!e)continue;let n=U(t,e);if(o(n)&&!s(n)&&(G(n)||W(n)===`css`))return{resolvedPath:n,source:[n],origin:`fallback`}}return{source:[],origin:`none`}}function Y(e){return(e.split(/[/\\]/).pop()??``).replace(/\.[^.]+$/,``).match(v)?.[1]?.toLowerCase()}function Fe(e){let t=e,n=new Set;for(;t!=null&&!n.has(t);){if(n.add(t),typeof t==`function`)return t;if(typeof t==`object`&&`default`in t){t=t.default;continue}break}throw TypeError(`style-dictionary did not export a constructable StyleDictionary class.`)}const Ie=Fe(p);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function Le(e){let t=await d(e);return t&&typeof t==`object`&&`default`in t&&t.default?t.default:t}async function Z(e,t){let n=V(e.plugins),r=new Ie({...t,parsers:[...n.parserNames,...t.parsers??[]],preprocessors:[...n.preprocessorNames,...t.preprocessors??[]],hooks:{...t.hooks,parsers:{...n.parsers,...t.hooks?.parsers},preprocessors:{...n.preprocessors,...t.hooks?.preprocessors}},usesDtcg:t.usesDtcg??!0,platforms:t.platforms??{}},F(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Re(e){return(await f(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function ze(e,t){let n=await Re(t);if(n.length===0)return{};let r=new Map,i=[];for(let e of n){let t=Y(e);if(t){let n=r.get(t)??[];n.push(e),r.set(t,n)}else i.push(e)}if(r.size<2)return Q(e,t);let a={};if(i.length>0){let t=await Q(e,i);X(t)||(a.base=t)}for(let[t,n]of r)a[t]=await Q(e,[...i,...n]);return a}async function $(e){let t=J(e.options);return t.resolvedPath&&o(t.resolvedPath)&&/(?:^|[/\\])(?:style-dictionary|sd)\.config\./i.test(r(t.resolvedPath))?(e.sd=await Z(e.options,await Le(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?ze(e.options,t.source):Q(e.options,t.source)}async function Be(e){let t=await $(e);if(X(t)){let{tokensPath:t}=e.options,n=Array.isArray(t)?t.length>0?`tokensPath=[${t.map(e=>`"${e}"`).join(`, `)}]`:`default token paths / CSS fallbacks`:l(t)?`tokensPath="${t}"`:`default token paths / CSS fallbacks`;throw Error(`No design tokens found via ${n}. Provide tokensPath or add a tokens file.`)}return t}export{h as C,x as D,y as E,_ as S,b as T,O as _,Y as a,g as b,R as c,H as d,ke as f,D as g,P as h,J as i,B as l,N as m,$ as n,I as o,F as p,Be as r,V as s,X as t,z as u,A as v,m as w,v as x,k as y};
2
+ //# sourceMappingURL=tokens-ymopyrS0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-ymopyrS0.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-gLQ_OAIF.cjs");exports.SHARED_THEME_ID=e.f,exports.TOKEN_SET_THEME_PATTERN=e.p,exports.appendThemeToFilePath=e.o,exports.applyThemeToDocuments=e.s,exports.applyThemeToTitle=e.c,exports.createDocument=e.t,exports.flattenTokens=e.m,exports.formatColorValue=e.v,exports.formatCssAliasReferences=e.y,exports.formatDimensionValue=e.b,exports.formatShadowValue=e.x,exports.formatTokenValue=e.S,exports.isObject=e.n,exports.isSharedThemeId=e.h,exports.isTokenLeaf=e.g,exports.mergeTokenTrees=e.d,exports.normalizeFunctionalColorString=e.C,exports.resolveSchemaIdentity=e.a,exports.resolveTokenSets=e._,exports.slugifyThemeName=e.u,exports.themeDisplayName=e.i,exports.titleCase=e.l,exports.toCssVar=e.r,exports.toThemeCssVar=e.w;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils-efWdm4QC.cjs");exports.SHARED_THEME_ID=e.f,exports.TOKEN_SET_THEME_PATTERN=e.p,exports.appendThemeToFilePath=e.o,exports.applyThemeToDocuments=e.s,exports.applyThemeToTitle=e.c,exports.createDocument=e.t,exports.flattenTokens=e.m,exports.formatColorValue=e.v,exports.formatCssAliasReferences=e.y,exports.formatDimensionValue=e.b,exports.formatShadowValue=e.x,exports.formatTokenValue=e.S,exports.isObject=e.n,exports.isSharedThemeId=e.h,exports.isTokenLeaf=e.g,exports.mergeTokenTrees=e.d,exports.normalizeFunctionalColorString=e.C,exports.resolveSchemaIdentity=e.a,exports.resolveTokenSets=e._,exports.slugifyThemeName=e.u,exports.themeDisplayName=e.i,exports.titleCase=e.l,exports.toCssVar=e.r,exports.toThemeCssVar=e.w;
@@ -1,6 +1,6 @@
1
1
  import { t as Schema } from "../schema-BwOBgJIM.cjs";
2
2
  import { n as Tokens } from "../index-CwN0c1Q4.cjs";
3
- import { a as TokenSet, c as isTokenLeaf, i as TOKEN_SET_THEME_PATTERN, l as resolveTokenSets, n as FlattenTokensOptions, o as flattenTokens, r as SHARED_THEME_ID, s as isSharedThemeId, t as BaseFlatToken } from "../flatten-tokens-DWbPW_3z.cjs";
3
+ import { a as TokenSet, c as isTokenLeaf, i as TOKEN_SET_THEME_PATTERN, l as resolveTokenSets, n as FlattenTokensOptions, o as flattenTokens, r as SHARED_THEME_ID, s as isSharedThemeId, t as BaseFlatToken } from "../flatten-tokens-DnBs9dU2.cjs";
4
4
  import { GeneratedDocument, GeneratorFunctionResult } from "@power-plant/core";
5
5
  //#region src/utils/merge-tokens.d.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { t as Schema } from "../schema-BwOBgJIM.mjs";
2
2
  import { n as Tokens } from "../index-D5L2WXYk.mjs";
3
- import { a as TokenSet, c as isTokenLeaf, i as TOKEN_SET_THEME_PATTERN, l as resolveTokenSets, n as FlattenTokensOptions, o as flattenTokens, r as SHARED_THEME_ID, s as isSharedThemeId, t as BaseFlatToken } from "../flatten-tokens-Dz4e2IHx.mjs";
3
+ import { a as TokenSet, c as isTokenLeaf, i as TOKEN_SET_THEME_PATTERN, l as resolveTokenSets, n as FlattenTokensOptions, o as flattenTokens, r as SHARED_THEME_ID, s as isSharedThemeId, t as BaseFlatToken } from "../flatten-tokens-C0nE3f3F.mjs";
4
4
  import { GeneratedDocument, GeneratorFunctionResult } from "@power-plant/core";
5
5
  //#region src/utils/merge-tokens.d.ts
6
6
  /**
@@ -1 +1 @@
1
- import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,w as x,x as S,y as C}from"../utils-KDezR5p2.mjs";export{s as SHARED_THEME_ID,h as TOKEN_SET_THEME_PATTERN,m as appendThemeToFilePath,_ as applyThemeToDocuments,a as applyThemeToTitle,v as createDocument,f as flattenTokens,b as formatColorValue,C as formatCssAliasReferences,i as formatDimensionValue,S as formatShadowValue,t as formatTokenValue,p as isObject,l as isSharedThemeId,c as isTokenLeaf,o as mergeTokenTrees,e as normalizeFunctionalColorString,r as resolveSchemaIdentity,n as resolveTokenSets,y as slugifyThemeName,u as themeDisplayName,d as titleCase,g as toCssVar,x as toThemeCssVar};
1
+ import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,w as x,x as S,y as C}from"../utils-BMXBJR4A.mjs";export{s as SHARED_THEME_ID,h as TOKEN_SET_THEME_PATTERN,m as appendThemeToFilePath,_ as applyThemeToDocuments,a as applyThemeToTitle,v as createDocument,f as flattenTokens,b as formatColorValue,C as formatCssAliasReferences,i as formatDimensionValue,S as formatShadowValue,t as formatTokenValue,p as isObject,l as isSharedThemeId,c as isTokenLeaf,o as mergeTokenTrees,e as normalizeFunctionalColorString,r as resolveSchemaIdentity,n as resolveTokenSets,y as slugifyThemeName,u as themeDisplayName,d as titleCase,g as toCssVar,x as toThemeCssVar};
@@ -1,2 +1,2 @@
1
- import{isObject as e}from"@stryke/type-checks/is-object";import{format as t,parse as n}from"node:path";import{kebabCase as r}from"@stryke/string-format/kebab-case";import{titleCase as i}from"@stryke/string-format/title-case";function a(t){return e(t)}const o=/^(?:oklch|oklab|hsl|hsla|rgb|rgba)\(/i;function s(e){let t=e.trim();if(!o.test(t))return t;let n=t;for(;n.endsWith(`)`)&&(n.match(/\(/g)?.length??0)<(n.match(/\)/g)?.length??0);)n=n.slice(0,-1);return n}function c(e){if(typeof e==`string`)return s(e);if(!a(e))return;if(typeof e.hex==`string`){let t=typeof e.alpha==`number`&&e.alpha<1?Math.round(e.alpha*255).toString(16).padStart(2,`0`):``;return`${e.hex}${t}`}let t=typeof e.colorSpace==`string`?e.colorSpace:void 0,n=Array.isArray(e.components)?e.components:void 0;if(!t||!n)return;let r=typeof e.alpha==`number`&&e.alpha<1?` / ${e.alpha}`:``;if(t===`srgb`&&n.length>=3){let[e,t,i]=n;if(typeof e==`number`&&typeof t==`number`&&typeof i==`number`)return`rgb(${Math.round(e*255)} ${Math.round(t*255)} ${Math.round(i*255)}${r})`}return`${t}(${n.map(e=>String(e)).join(` `)}${r})`}function l(e){if(typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(a(e)&&typeof e.value==`number`&&typeof e.unit==`string`)return`${e.value}${e.unit}`}function u(e){return a(e)&&`offsetX`in e&&`offsetY`in e}function d(e){let t=l(e.offsetX)??`0`,n=l(e.offsetY)??`0`,r=l(e.blur),i=e.spread===void 0?void 0:l(e.spread),a=c(e.color);return[e.inset===!0?`inset`:void 0,t,n,r,i,a].filter(e=>e!=null&&e!==``).join(` `)}function f(e){if(Array.isArray(e))return e.length===0||!e.every(u)?void 0:h(e.map(d).join(`, `));if(u(e))return h(d(e))}const p=/\{([^{}]+)\}/g;function m(e){return`--${e.split(`.`).filter(Boolean).filter((e,t,n)=>e!==`DEFAULT`||t!==n.length-1).join(`-`)}`}function h(e){return e.replace(p,(e,t)=>`var(${m(t.trim())})`)}function g(e,t){if(typeof e==`string`)return h(s(e));if(typeof e==`number`||typeof e==`boolean`)return String(e);if(t===`color`||!t&&a(e)&&`colorSpace`in e){let t=c(e);if(t)return t}if(t===`dimension`||t===`duration`||a(e)&&`value`in e&&`unit`in e){let t=l(e);if(t)return t}if(t===`cubicBezier`&&Array.isArray(e))return`cubic-bezier(${e.join(`, `)})`;if(t===`shadow`||u(e)||Array.isArray(e)&&e.some(u)){let t=f(e);if(t)return t}if(Array.isArray(e))return e.map(e=>g(e)).join(`, `);if(a(e)){let t=c(e);if(t)return t;let n=l(e);if(n)return n}try{return JSON.stringify(e)}catch{return String(e)}}function _(t){return e(t)}const v=/^(?:light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)(?:[A-Z]\w*|[._-].+)?$/i,y=`base`,b=/^base(?:[A-Z]\w*|[._-].+)?$/i;function x(e){return b.test(e)}function S(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function C(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function w(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function T(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function E(e,t,n,r,i,a){if(!_(e))return;let o=w(e,n);if(S(e)){let n=T(e),s={path:t.join(`.`),type:o,value:n,cssValue:g(n,o),description:C(e),theme:r};a.push(i?i(s):s);return}for(let[n,s]of Object.entries(e))n.startsWith(`$`)||E(s,[...t,n],o,r,i,a)}function D(e){if(!_(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>v.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function O(e,t={}){let n=t.includeTypes?new Set(t.includeTypes):void 0,r=[];for(let n of D(e)){let e=n.id==="default"?void 0:n.id;E(n.tokens,[],void 0,e,t.enrichToken,r)}return n?r.filter(e=>!e.type||n.has(e.type)):r}function k(t){return e(t)}function A(e,t){return j(e,t)}function j(e,t){if(!k(t))return e;if(!k(e))return e??t;if(S(t)||S(e))return e;let n={...t};for(let[t,r]of Object.entries(e)){if(t.startsWith(`$`)){n[t]=r;continue}n[t]=t in n?j(r,n[t]):r}return n}function M(e){return r(e)}function N(e){return i(e)}function P(e,t){if(!e||!t)return e;let n=` (${N(t)})`;return e.endsWith(n)?e:`${e}${n}`}function F(e,r){let i=n(e);return i.name?t({root:i.root,dir:i.dir,ext:i.ext,name:`${i.name}-${M(r)}`}):e}function I(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=i?.meta?.data?.appendTheme,a=e===!1?!1:typeof e==`function`?e:F,o=a===!1?i.path?i.path:r:a(i.path?i.path:r,t);n[o]={...i,path:o}}return n}function L(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e}function R(e,t={}){let n=t.name??e.name,r=P(t.displayName??t.title??e.title??(n?N(L(n)):void 0),e.theme),i=t.description??e.description,a=t.repository??e.repository,o=t.homepage??e.homepage,s=t.icon??t.logo??e.logo;return{...n?{name:n}:{},...r?{title:r}:{},...i?{description:i}:{},...a?{repository:a}:{},...o?{homepage:o}:{},...s?{logo:s}:{}}}function z(e){return e.displayName??N(e.name)}function B(t){return e(t)}function V(e,t){return`--${t}-${e.split(`.`).filter(Boolean).join(`-`).replaceAll(/[^\w-]+/g,`-`)}`}function H(e,t,n,r,i){return{path:e,language:i,meta:{...n,data:r===void 0?void 0:{appendTheme:r}},chunks:[{content:t,meta:n}]}}export{s as C,g as S,D as _,R as a,l as b,P as c,A as d,y as f,S as g,x as h,z as i,N as l,O as m,B as n,F as o,v as p,V as r,I as s,H as t,M as u,c as v,m as w,f as x,h as y};
2
- //# sourceMappingURL=utils-KDezR5p2.mjs.map
1
+ import{isObject as e}from"@stryke/type-checks/is-object";import{format as t,parse as n}from"node:path";import{kebabCase as r}from"@stryke/string-format/kebab-case";import{titleCase as i}from"@stryke/string-format/title-case";function a(t){return e(t)}const o=/^(?:oklch|oklab|hsl|hsla|rgb|rgba)\(/i;function s(e){let t=e.trim();if(!o.test(t))return t;let n=t;for(;n.endsWith(`)`)&&(n.match(/\(/g)?.length??0)<(n.match(/\)/g)?.length??0);)n=n.slice(0,-1);return n}function c(e){if(typeof e==`string`)return s(e);if(!a(e))return;if(typeof e.hex==`string`){let t=typeof e.alpha==`number`&&e.alpha<1?Math.round(e.alpha*255).toString(16).padStart(2,`0`):``;return`${e.hex}${t}`}let t=typeof e.colorSpace==`string`?e.colorSpace:void 0,n=Array.isArray(e.components)?e.components:void 0;if(!t||!n)return;let r=typeof e.alpha==`number`&&e.alpha<1?` / ${e.alpha}`:``;if(t===`srgb`&&n.length>=3){let[e,t,i]=n;if(typeof e==`number`&&typeof t==`number`&&typeof i==`number`)return`rgb(${Math.round(e*255)} ${Math.round(t*255)} ${Math.round(i*255)}${r})`}return`${t}(${n.map(e=>String(e)).join(` `)}${r})`}function l(e){if(typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(a(e)&&typeof e.value==`number`&&typeof e.unit==`string`)return`${e.value}${e.unit}`}function u(e){return a(e)&&`offsetX`in e&&`offsetY`in e}function d(e){let t=l(e.offsetX)??`0`,n=l(e.offsetY)??`0`,r=l(e.blur),i=e.spread===void 0?void 0:l(e.spread),a=c(e.color);return[e.inset===!0?`inset`:void 0,t,n,r,i,a].filter(e=>e!=null&&e!==``).join(` `)}function f(e){if(Array.isArray(e))return e.length===0||!e.every(u)?void 0:h(e.map(d).join(`, `));if(u(e))return h(d(e))}const p=/\{([^{}]+)\}/g;function m(e){return`--${e.split(`.`).filter(Boolean).filter((e,t,n)=>e!==`DEFAULT`||t!==n.length-1).join(`-`)}`}function h(e){return e.replace(p,(e,t)=>`var(${m(t.trim())})`)}function g(e,t){if(typeof e==`string`)return h(s(e));if(typeof e==`number`||typeof e==`boolean`)return String(e);if(t===`color`||!t&&a(e)&&`colorSpace`in e){let t=c(e);if(t)return t}if(t===`dimension`||t===`duration`||a(e)&&`value`in e&&`unit`in e){let t=l(e);if(t)return t}if(t===`cubicBezier`&&Array.isArray(e))return`cubic-bezier(${e.join(`, `)})`;if(t===`shadow`||u(e)||Array.isArray(e)&&e.some(u)){let t=f(e);if(t)return t}if(Array.isArray(e))return e.map(e=>g(e)).join(`, `);if(a(e)){let t=c(e);if(t)return t;let n=l(e);if(n)return n}try{return JSON.stringify(e)}catch{return String(e)}}function _(t){return e(t)}const v=/^(?:light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)(?:[A-Z]\w*|[._-].+)?$/i,y=`base`,b=/^base(?:[A-Z]\w*|[._-].+)?$/i;function x(e){return b.test(e)}function S(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function C(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function w(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function T(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function E(e,t,n,r,i,a,o){if(!_(e))return;let s=w(e,n);if(S(e)){if(i&&!i(e))return;let n=T(e),c={path:t.join(`.`),type:s,value:n,cssValue:g(n,s),description:C(e),theme:r};o.push(a?a(c):c);return}for(let[n,c]of Object.entries(e))n.startsWith(`$`)||E(c,[...t,n],s,r,i,a,o)}function D(e){if(!_(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>v.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function O(e,t={}){let n=t.includeTypes?new Set(t.includeTypes):void 0,r=[];for(let n of D(e)){let e=n.id==="default"?void 0:n.id;E(n.tokens,[],void 0,e,t.shouldIncludeToken,t.enrichToken,r)}return n?r.filter(e=>!e.type||n.has(e.type)):r}function k(t){return e(t)}function A(e,t){return j(e,t)}function j(e,t){if(!k(t))return e;if(!k(e))return e??t;if(S(t)||S(e))return e;let n={...t};for(let[t,r]of Object.entries(e)){if(t.startsWith(`$`)){n[t]=r;continue}n[t]=t in n?j(r,n[t]):r}return n}function M(e){return r(e)}function N(e){return i(e)}function P(e,t){if(!e||!t)return e;let n=` (${N(t)})`;return e.endsWith(n)?e:`${e}${n}`}function F(e,r){let i=n(e);return i.name?t({root:i.root,dir:i.dir,ext:i.ext,name:`${i.name}-${M(r)}`}):e}function I(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=i?.meta?.data?.appendTheme,a=e===!1?!1:typeof e==`function`?e:F,o=a===!1?i.path?i.path:r:a(i.path?i.path:r,t);n[o]={...i,path:o}}return n}function L(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e}function R(e,t={}){let n=t.name??e.name,r=P(t.displayName??t.title??e.title??(n?N(L(n)):void 0),e.theme),i=t.description??e.description,a=t.repository??e.repository,o=t.homepage??e.homepage,s=t.icon??t.logo??e.logo;return{...n?{name:n}:{},...r?{title:r}:{},...i?{description:i}:{},...a?{repository:a}:{},...o?{homepage:o}:{},...s?{logo:s}:{}}}function z(e){return e.displayName??N(e.name)}function B(t){return e(t)}function V(e,t){return`--${t}-${e.split(`.`).filter(Boolean).join(`-`).replaceAll(/[^\w-]+/g,`-`)}`}function H(e,t,n,r,i){return{path:e,language:i,meta:{...n,data:r===void 0?void 0:{appendTheme:r}},chunks:[{content:t,meta:n}]}}export{s as C,g as S,D as _,R as a,l as b,P as c,A as d,y as f,S as g,x as h,z as i,N as l,O as m,B as n,F as o,v as p,V as r,I as s,H as t,M as u,c as v,m as w,f as x,h as y};
2
+ //# sourceMappingURL=utils-BMXBJR4A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BMXBJR4A.mjs","names":[],"sources":[],"mappings":""}
@@ -0,0 +1 @@
1
+ let e=require("@stryke/type-checks/is-object"),t=require("node:path"),n=require("@stryke/string-format/kebab-case"),r=require("@stryke/string-format/title-case");function i(t){return(0,e.isObject)(t)}const a=/^(?:oklch|oklab|hsl|hsla|rgb|rgba)\(/i;function o(e){let t=e.trim();if(!a.test(t))return t;let n=t;for(;n.endsWith(`)`)&&(n.match(/\(/g)?.length??0)<(n.match(/\)/g)?.length??0);)n=n.slice(0,-1);return n}function s(e){if(typeof e==`string`)return o(e);if(!i(e))return;if(typeof e.hex==`string`){let t=typeof e.alpha==`number`&&e.alpha<1?Math.round(e.alpha*255).toString(16).padStart(2,`0`):``;return`${e.hex}${t}`}let t=typeof e.colorSpace==`string`?e.colorSpace:void 0,n=Array.isArray(e.components)?e.components:void 0;if(!t||!n)return;let r=typeof e.alpha==`number`&&e.alpha<1?` / ${e.alpha}`:``;if(t===`srgb`&&n.length>=3){let[e,t,i]=n;if(typeof e==`number`&&typeof t==`number`&&typeof i==`number`)return`rgb(${Math.round(e*255)} ${Math.round(t*255)} ${Math.round(i*255)}${r})`}return`${t}(${n.map(e=>String(e)).join(` `)}${r})`}function c(e){if(typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(i(e)&&typeof e.value==`number`&&typeof e.unit==`string`)return`${e.value}${e.unit}`}function l(e){return i(e)&&`offsetX`in e&&`offsetY`in e}function u(e){let t=c(e.offsetX)??`0`,n=c(e.offsetY)??`0`,r=c(e.blur),i=e.spread===void 0?void 0:c(e.spread),a=s(e.color);return[e.inset===!0?`inset`:void 0,t,n,r,i,a].filter(e=>e!=null&&e!==``).join(` `)}function d(e){if(Array.isArray(e))return e.length===0||!e.every(l)?void 0:m(e.map(u).join(`, `));if(l(e))return m(u(e))}const f=/\{([^{}]+)\}/g;function p(e){return`--${e.split(`.`).filter(Boolean).filter((e,t,n)=>e!==`DEFAULT`||t!==n.length-1).join(`-`)}`}function m(e){return e.replace(f,(e,t)=>`var(${p(t.trim())})`)}function h(e,t){if(typeof e==`string`)return m(o(e));if(typeof e==`number`||typeof e==`boolean`)return String(e);if(t===`color`||!t&&i(e)&&`colorSpace`in e){let t=s(e);if(t)return t}if(t===`dimension`||t===`duration`||i(e)&&`value`in e&&`unit`in e){let t=c(e);if(t)return t}if(t===`cubicBezier`&&Array.isArray(e))return`cubic-bezier(${e.join(`, `)})`;if(t===`shadow`||l(e)||Array.isArray(e)&&e.some(l)){let t=d(e);if(t)return t}if(Array.isArray(e))return e.map(e=>h(e)).join(`, `);if(i(e)){let t=s(e);if(t)return t;let n=c(e);if(n)return n}try{return JSON.stringify(e)}catch{return String(e)}}function g(t){return(0,e.isObject)(t)}const _=/^(?:light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)(?:[A-Z]\w*|[._-].+)?$/i,v=/^base(?:[A-Z]\w*|[._-].+)?$/i;function y(e){return v.test(e)}function b(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function x(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function S(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function C(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function w(e,t,n,r,i,a,o){if(!g(e))return;let s=S(e,n);if(b(e)){if(i&&!i(e))return;let n=C(e),c={path:t.join(`.`),type:s,value:n,cssValue:h(n,s),description:x(e),theme:r};o.push(a?a(c):c);return}for(let[n,c]of Object.entries(e))n.startsWith(`$`)||w(c,[...t,n],s,r,i,a,o)}function T(e){if(!g(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>_.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function E(e,t={}){let n=t.includeTypes?new Set(t.includeTypes):void 0,r=[];for(let n of T(e)){let e=n.id==="default"?void 0:n.id;w(n.tokens,[],void 0,e,t.shouldIncludeToken,t.enrichToken,r)}return n?r.filter(e=>!e.type||n.has(e.type)):r}function D(t){return(0,e.isObject)(t)}function O(e,t){return k(e,t)}function k(e,t){if(!D(t))return e;if(!D(e))return e??t;if(b(t)||b(e))return e;let n={...t};for(let[t,r]of Object.entries(e)){if(t.startsWith(`$`)){n[t]=r;continue}n[t]=t in n?k(r,n[t]):r}return n}function A(e){return(0,n.kebabCase)(e)}function j(e){return(0,r.titleCase)(e)}function M(e,t){if(!e||!t)return e;let n=` (${j(t)})`;return e.endsWith(n)?e:`${e}${n}`}function N(e,n){let r=(0,t.parse)(e);return r.name?(0,t.format)({root:r.root,dir:r.dir,ext:r.ext,name:`${r.name}-${A(n)}`}):e}function P(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=i?.meta?.data?.appendTheme,a=e===!1?!1:typeof e==`function`?e:N,o=a===!1?i.path?i.path:r:a(i.path?i.path:r,t);n[o]={...i,path:o}}return n}function F(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e}function I(e,t={}){let n=t.name??e.name,r=M(t.displayName??t.title??e.title??(n?j(F(n)):void 0),e.theme),i=t.description??e.description,a=t.repository??e.repository,o=t.homepage??e.homepage,s=t.icon??t.logo??e.logo;return{...n?{name:n}:{},...r?{title:r}:{},...i?{description:i}:{},...a?{repository:a}:{},...o?{homepage:o}:{},...s?{logo:s}:{}}}function L(e){return e.displayName??j(e.name)}function R(t){return(0,e.isObject)(t)}function z(e,t){return`--${t}-${e.split(`.`).filter(Boolean).join(`-`).replaceAll(/[^\w-]+/g,`-`)}`}function B(e,t,n,r,i){return{path:e,language:i,meta:{...n,data:r===void 0?void 0:{appendTheme:r}},chunks:[{content:t,meta:n}]}}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return`base`}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return m}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@razorwind/core",
3
- "version": "0.0.63",
3
+ "version": "0.0.65",
4
4
  "private": false,
5
5
  "description": "💨 Razorwind is a unified set of tools that make creating design systems a breeze.",
6
6
  "keywords": ["razorwind", "storm-software"],
@@ -149,7 +149,7 @@
149
149
  "jiti": "^2.7.0",
150
150
  "json5": "^2.2.3",
151
151
  "smol-toml": "^1.8.0",
152
- "style-dictionary": "^5.5.2",
152
+ "style-dictionary": "^5.5.3",
153
153
  "yaml": "^2.9.0",
154
154
  "zod": "^4.5.4"
155
155
  },
@@ -159,5 +159,5 @@
159
159
  "typescript": "^6.0.3"
160
160
  },
161
161
  "publishConfig": { "access": "public" },
162
- "gitHead": "574cc85598a992425f1b5fc361c5e48dc8aa4eb9"
162
+ "gitHead": "cca0042f54a031849f4ea8cdca92a71fdb0d8dc9"
163
163
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten-tokens-DWbPW_3z.d.cts","names":[],"sources":["../src/utils/flatten-tokens.ts"],"mappings":";;;;;UA6BiB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;UAGe;EACf;EACA,QAAQ;;;;;;;;cASG,yBAAuB;;;;;cAOvB;;;;;iBAQG,gBAAgB;;;;iBAOhB,YAAY,MAAM;;;;;;;iBAqFlB,iBACd,QAAQ,SAAS,eAAe,UAC/B;UAqBc,qBAAqB,UAAU,gBAAgB;;EAE9D;;EAEA,eAAe,OAAO,kBAAkB;;;;;iBAM1B,cAAc,UAAU,gBAAgB,eACtD,QAAQ,SAAS,eAAe,SAChC,UAAS,qBAAqB,KAC7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten-tokens-Dz4e2IHx.d.mts","names":[],"sources":["../src/utils/flatten-tokens.ts"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens-CuiCo40i.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-KDezR5p2.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +0,0 @@
1
- let e=require("@stryke/type-checks/is-object"),t=require("node:path"),n=require("@stryke/string-format/kebab-case"),r=require("@stryke/string-format/title-case");function i(t){return(0,e.isObject)(t)}const a=/^(?:oklch|oklab|hsl|hsla|rgb|rgba)\(/i;function o(e){let t=e.trim();if(!a.test(t))return t;let n=t;for(;n.endsWith(`)`)&&(n.match(/\(/g)?.length??0)<(n.match(/\)/g)?.length??0);)n=n.slice(0,-1);return n}function s(e){if(typeof e==`string`)return o(e);if(!i(e))return;if(typeof e.hex==`string`){let t=typeof e.alpha==`number`&&e.alpha<1?Math.round(e.alpha*255).toString(16).padStart(2,`0`):``;return`${e.hex}${t}`}let t=typeof e.colorSpace==`string`?e.colorSpace:void 0,n=Array.isArray(e.components)?e.components:void 0;if(!t||!n)return;let r=typeof e.alpha==`number`&&e.alpha<1?` / ${e.alpha}`:``;if(t===`srgb`&&n.length>=3){let[e,t,i]=n;if(typeof e==`number`&&typeof t==`number`&&typeof i==`number`)return`rgb(${Math.round(e*255)} ${Math.round(t*255)} ${Math.round(i*255)}${r})`}return`${t}(${n.map(e=>String(e)).join(` `)}${r})`}function c(e){if(typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(i(e)&&typeof e.value==`number`&&typeof e.unit==`string`)return`${e.value}${e.unit}`}function l(e){return i(e)&&`offsetX`in e&&`offsetY`in e}function u(e){let t=c(e.offsetX)??`0`,n=c(e.offsetY)??`0`,r=c(e.blur),i=e.spread===void 0?void 0:c(e.spread),a=s(e.color);return[e.inset===!0?`inset`:void 0,t,n,r,i,a].filter(e=>e!=null&&e!==``).join(` `)}function d(e){if(Array.isArray(e))return e.length===0||!e.every(l)?void 0:m(e.map(u).join(`, `));if(l(e))return m(u(e))}const f=/\{([^{}]+)\}/g;function p(e){return`--${e.split(`.`).filter(Boolean).filter((e,t,n)=>e!==`DEFAULT`||t!==n.length-1).join(`-`)}`}function m(e){return e.replace(f,(e,t)=>`var(${p(t.trim())})`)}function h(e,t){if(typeof e==`string`)return m(o(e));if(typeof e==`number`||typeof e==`boolean`)return String(e);if(t===`color`||!t&&i(e)&&`colorSpace`in e){let t=s(e);if(t)return t}if(t===`dimension`||t===`duration`||i(e)&&`value`in e&&`unit`in e){let t=c(e);if(t)return t}if(t===`cubicBezier`&&Array.isArray(e))return`cubic-bezier(${e.join(`, `)})`;if(t===`shadow`||l(e)||Array.isArray(e)&&e.some(l)){let t=d(e);if(t)return t}if(Array.isArray(e))return e.map(e=>h(e)).join(`, `);if(i(e)){let t=s(e);if(t)return t;let n=c(e);if(n)return n}try{return JSON.stringify(e)}catch{return String(e)}}function g(t){return(0,e.isObject)(t)}const _=/^(?:light|dark|dim|dimmed|high-contrast|hc|protanopia|deuteranopia|tritanopia|achromatopsia|achromatomaly|monochrome|monochromatic|grayscale|greyscale|bw|black-and-white|black-white|blackWhite|default|base|theme)(?:[A-Z]\w*|[._-].+)?$/i,v=/^base(?:[A-Z]\w*|[._-].+)?$/i;function y(e){return v.test(e)}function b(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function x(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function S(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function C(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function w(e,t,n,r,i,a){if(!g(e))return;let o=S(e,n);if(b(e)){let n=C(e),s={path:t.join(`.`),type:o,value:n,cssValue:h(n,o),description:x(e),theme:r};a.push(i?i(s):s);return}for(let[n,s]of Object.entries(e))n.startsWith(`$`)||w(s,[...t,n],o,r,i,a)}function T(e){if(!g(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>_.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function E(e,t={}){let n=t.includeTypes?new Set(t.includeTypes):void 0,r=[];for(let n of T(e)){let e=n.id==="default"?void 0:n.id;w(n.tokens,[],void 0,e,t.enrichToken,r)}return n?r.filter(e=>!e.type||n.has(e.type)):r}function D(t){return(0,e.isObject)(t)}function O(e,t){return k(e,t)}function k(e,t){if(!D(t))return e;if(!D(e))return e??t;if(b(t)||b(e))return e;let n={...t};for(let[t,r]of Object.entries(e)){if(t.startsWith(`$`)){n[t]=r;continue}n[t]=t in n?k(r,n[t]):r}return n}function A(e){return(0,n.kebabCase)(e)}function j(e){return(0,r.titleCase)(e)}function M(e,t){if(!e||!t)return e;let n=` (${j(t)})`;return e.endsWith(n)?e:`${e}${n}`}function N(e,n){let r=(0,t.parse)(e);return r.name?(0,t.format)({root:r.root,dir:r.dir,ext:r.ext,name:`${r.name}-${A(n)}`}):e}function P(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=i?.meta?.data?.appendTheme,a=e===!1?!1:typeof e==`function`?e:N,o=a===!1?i.path?i.path:r:a(i.path?i.path:r,t);n[o]={...i,path:o}}return n}function F(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e}function I(e,t={}){let n=t.name??e.name,r=M(t.displayName??t.title??e.title??(n?j(F(n)):void 0),e.theme),i=t.description??e.description,a=t.repository??e.repository,o=t.homepage??e.homepage,s=t.icon??t.logo??e.logo;return{...n?{name:n}:{},...r?{title:r}:{},...i?{description:i}:{},...a?{repository:a}:{},...o?{homepage:o}:{},...s?{logo:s}:{}}}function L(e){return e.displayName??j(e.name)}function R(t){return(0,e.isObject)(t)}function z(e,t){return`--${t}-${e.split(`.`).filter(Boolean).join(`-`).replaceAll(/[^\w-]+/g,`-`)}`}function B(e,t,n,r,i){return{path:e,language:i,meta:{...n,data:r===void 0?void 0:{appendTheme:r}},chunks:[{content:t,meta:n}]}}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return`base`}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return m}});