@razorwind/core 0.0.58 → 0.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-D6YA1OT1.d.mts → index-D6x-NBaI.d.mts} +2 -2
- package/dist/{index-D6YA1OT1.d.mts.map → index-D6x-NBaI.d.mts.map} +1 -1
- package/dist/{index-w5DAiedB.d.cts → index-Dy-dYo_x.d.cts} +2 -2
- package/dist/{index-w5DAiedB.d.cts.map → index-Dy-dYo_x.d.cts.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lib/tokens/index.cjs +1 -1
- package/dist/lib/tokens/index.d.cts +1 -1
- package/dist/lib/tokens/index.d.mts +1 -1
- package/dist/lib/tokens/index.mjs +1 -1
- package/dist/{tokens-D4CY3bSO.cjs → tokens-DC8ijA17.cjs} +1 -1
- package/dist/{tokens-Dkt5sqg6.mjs → tokens-bsY8JfJe.mjs} +2 -2
- package/dist/tokens-bsY8JfJe.mjs.map +1 -0
- package/package.json +3 -3
- package/dist/tokens-Dkt5sqg6.mjs.map +0 -1
|
@@ -111,7 +111,7 @@ interface ResolvedTokensSource {
|
|
|
111
111
|
* source globs are merged. A Style Dictionary config file may only be used as
|
|
112
112
|
* the sole `tokensPath` entry.
|
|
113
113
|
*/
|
|
114
|
-
declare function resolveTokensSource(options: ResolveTokensPathOptions): ResolvedTokensSource;
|
|
114
|
+
declare function resolveTokensSource(options: ResolveTokensPathOptions): ResolvedTokensSource | undefined;
|
|
115
115
|
/**
|
|
116
116
|
* Detect theme-like basenames for splitting multi-file token sets.
|
|
117
117
|
*/
|
|
@@ -217,4 +217,4 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
217
217
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
218
218
|
//#endregion
|
|
219
219
|
export { TOKEN_DIRECTORY_GLOB as A, nestFlatTokens as C, DEFAULT_TOKEN_PATH_CANDIDATES as D, parseCssCustomProperties as E, canonicalizeTokenType as F, TOKEN_PARSER_NAMES as M, TYPE_ALIASES as N, RazorwindParserName as O, TYPE_PATH_HINTS as P, inferValue as S, collectCssCustomProperties as T, ResolvedTokensSource as _, getRazorwindParserHooks as a, InferredTokenType as b, registerRazorwindHooks as c, LoadTokensOptions as d, LoadedTokens as f, ResolveTokensPathOptions as g, loadTokensOrThrow as h, getExtractionHooks as i, TOKEN_FILE_EXTENSIONS as j, THEME_BASENAME_PATTERN as k, registerRazorwindParsers as l, loadTokens as m, RAZORWIND_INFER_PREPROCESSOR as n, getRazorwindPreprocessorHooks as o, isEmptyTokens as p, StyleDictionaryRegisterTarget as r, razorwindInferPreprocessor as s, ExtractionHooks as t, styleDictionaryLogOptions as u, resolveTokensSource as v, normalizeTokenTree as w, inferTypeFromPath as x, themeKeyFromPath as y };
|
|
220
|
-
//# sourceMappingURL=index-
|
|
220
|
+
//# sourceMappingURL=index-D6x-NBaI.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-D6x-NBaI.d.mts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/logging.ts","../src/lib/tokens/parsers.ts"],"mappings":""}
|
|
@@ -111,7 +111,7 @@ interface ResolvedTokensSource {
|
|
|
111
111
|
* source globs are merged. A Style Dictionary config file may only be used as
|
|
112
112
|
* the sole `tokensPath` entry.
|
|
113
113
|
*/
|
|
114
|
-
declare function resolveTokensSource(options: ResolveTokensPathOptions): ResolvedTokensSource;
|
|
114
|
+
declare function resolveTokensSource(options: ResolveTokensPathOptions): ResolvedTokensSource | undefined;
|
|
115
115
|
/**
|
|
116
116
|
* Detect theme-like basenames for splitting multi-file token sets.
|
|
117
117
|
*/
|
|
@@ -217,4 +217,4 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
217
217
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
218
218
|
//#endregion
|
|
219
219
|
export { TOKEN_DIRECTORY_GLOB as A, nestFlatTokens as C, DEFAULT_TOKEN_PATH_CANDIDATES as D, parseCssCustomProperties as E, canonicalizeTokenType as F, TOKEN_PARSER_NAMES as M, TYPE_ALIASES as N, RazorwindParserName as O, TYPE_PATH_HINTS as P, inferValue as S, collectCssCustomProperties as T, ResolvedTokensSource as _, getRazorwindParserHooks as a, InferredTokenType as b, registerRazorwindHooks as c, LoadTokensOptions as d, LoadedTokens as f, ResolveTokensPathOptions as g, loadTokensOrThrow as h, getExtractionHooks as i, TOKEN_FILE_EXTENSIONS as j, THEME_BASENAME_PATTERN as k, registerRazorwindParsers as l, loadTokens as m, RAZORWIND_INFER_PREPROCESSOR as n, getRazorwindPreprocessorHooks as o, isEmptyTokens as p, StyleDictionaryRegisterTarget as r, razorwindInferPreprocessor as s, ExtractionHooks as t, styleDictionaryLogOptions as u, resolveTokensSource as v, normalizeTokenTree as w, inferTypeFromPath as x, themeKeyFromPath as y };
|
|
220
|
-
//# sourceMappingURL=index-
|
|
220
|
+
//# sourceMappingURL=index-Dy-dYo_x.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Dy-dYo_x.d.cts","names":[],"sources":["../src/lib/tokens/constants.ts","../src/lib/tokens/css.ts","../src/lib/tokens/infer.ts","../src/lib/tokens/resolve-path.ts","../src/lib/tokens/load.ts","../src/lib/tokens/logging.ts","../src/lib/tokens/parsers.ts"],"mappings":";;;;;;;;cAmBa;KAOD,8BAA8B;;cAG7B;;;;;cAsBA;;cAyBA;;cAGA,wBAAsB;;cAItB,iBAAiB;;;;;;cAkEjB,cAAc;;iBAmCX,sBAAsB;;;;;;;;;;iBCJtB,2BACd,mBACC;;;;;;iBAqDa,yBACd,mBACC;;;KC9KS;;;;iBA+DI,kBACd,iBACC;;;;iBAiBa,WACd,cACA;EACG;EAAgB,OAAO;;;;;iBA4PZ,mBACd,gBACA;;;;;;;;iBA6Cc,eACd,MAAM,0BACL;;;UCnac;;;;EAIf;;;;EAKA;;;;EAKA,gBAAgB;;UAGD;;;;;;;EAOf;;;;EAKA;;;;EAKA;;;;;;;;;iBAqHc,oBACd,SAAS,2BACR;;;;iBAmFa,iBAAiB;;;UC/MhB,0BAA0B;;;;;;EAMzC;;KAGU,eAAe,SAAS,eAAe;iBAEnC,cAAc;;;;;;;;;iBA6IR,WACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;iBAsCW,kBACpB,SAAS,iBAAiB,QAAQ,gBACjC,QAAQ;;;;;;;;;;;;;iBC9NK,0BAA0B;EACxC,YAAY;;;;;cCGD;;UAGI;EACf,kBAAkB,QAAQ;EAC1B,wBAAwB;IACtB;IACA,cAAc,YAAY;;;;UAKb;EACf,SAAS,YAAY;EACrB,eAAe,YAAY;EAC3B;EACA;;;iBAwEc,2BAA2B,YAAY;;;;;iBAavC,2BACd,YAAY,qBACX;;iBAKa,iCAAiC,YAC/C;;;;;;;iBAac,mBAAmB,UAAS,WAAgB;;;;;;;;;;;;;;iBA0D5C,uBACd,UAAS,UACT,SAAQ,gCACP;;;;cAqBU,iCAAwB"}
|
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-CkBPEFie.cjs"),i=require("./tokens-D4CY3bSO.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;return 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))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);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.58`;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-gLQ_OAIF.cjs"),n=require("./schema-BCofDJWf.cjs"),r=require("./fonts-CkBPEFie.cjs"),i=require("./tokens-DC8ijA17.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;return 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.60`;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;
|
package/dist/index.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as
|
|
|
4
4
|
import { a as TokenSet } from "./flatten-tokens-DWbPW_3z.cjs";
|
|
5
5
|
import { t as definePlugin } from "./plugin-BiAsks5W.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-Bb0PCrOG.cjs";
|
|
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-
|
|
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-Dy-dYo_x.cjs";
|
|
8
8
|
import StyleDictionary from "style-dictionary";
|
|
9
9
|
import { ExecutionContext, GeneratedDocument, GeneratorConfig } from "@power-plant/core";
|
|
10
10
|
//#region src/lib/generate.d.ts
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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;;;;;;;;;;;iBAsJ5B,eACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;iBA6MW,cACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;iBCnWK,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;;;;;;;
|
|
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;;;;;;;;;;;iBAsJ5B,eACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;iBA6MW,cACpB,aACA,SAAS,UACR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;iBCnWK,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
|
@@ -4,7 +4,7 @@ import { a as UserConfigFn, c as UserConfigParams, d as TokensPreprocessor, i as
|
|
|
4
4
|
import { a as TokenSet } from "./flatten-tokens-Dz4e2IHx.mjs";
|
|
5
5
|
import { t as definePlugin } from "./plugin-oghqv_Hn.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-BeHvb_jw.mjs";
|
|
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-
|
|
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-D6x-NBaI.mjs";
|
|
8
8
|
import { ExecutionContext, GeneratedDocument, GeneratorConfig } from "@power-plant/core";
|
|
9
9
|
import StyleDictionary from "style-dictionary";
|
|
10
10
|
//#region src/lib/generate.d.ts
|
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-BiuIJVev.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-Dkt5sqg6.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;return 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))throw Error(`Unable to load design tokens for the current workspace. Please ensure that Razorwind is configured correctly and that the tokens are available.`);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.58`;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-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-BiuIJVev.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-bsY8JfJe.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;return 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.60`;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};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../tokens-DC8ijA17.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,2 +1,2 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-Dy-dYo_x.cjs";
|
|
2
2
|
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, collectCssCustomProperties, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyTokens, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-D6x-NBaI.mjs";
|
|
2
2
|
export { DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type ResolveTokensPathOptions, type ResolvedTokensSource, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, collectCssCustomProperties, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyTokens, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
@@ -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-
|
|
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-bsY8JfJe.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);if(e&&!(0,r.existsSync)(e))throw Error(`tokensPath "${t}" does not exist (resolved: ${n}).`);return{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if(!(0,r.existsSync)(n))throw Error(`tokensPath "${t}" does not exist (resolved: ${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.isStyleDictionaryConfig);if(n.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}}return{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-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,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);if(e&&!o(e))throw Error(`tokensPath "${t}" does not exist (resolved: ${n}).`);return{resolvedPath:n,source:[n],isStyleDictionaryConfig:!1}}if(!o(n))throw Error(`tokensPath "${t}" does not exist (resolved: ${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.isStyleDictionaryConfig);if(n.length>0){if(e.length>1)throw Error(`tokensPath cannot mix Style Dictionary config files with other token sources.`);return{resolvedPath:n[0].resolvedPath,source:[],origin:`tokensPath`}}return{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-
|
|
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-bsY8JfJe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-bsY8JfJe.mjs","names":[],"sources":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@razorwind/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.60",
|
|
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.
|
|
152
|
+
"style-dictionary": "^5.5.2",
|
|
153
153
|
"yaml": "^2.9.0",
|
|
154
154
|
"zod": "^4.4.3"
|
|
155
155
|
},
|
|
@@ -159,5 +159,5 @@
|
|
|
159
159
|
"typescript": "^6.0.3"
|
|
160
160
|
},
|
|
161
161
|
"publishConfig": { "access": "public" },
|
|
162
|
-
"gitHead": "
|
|
162
|
+
"gitHead": "473392c2d86a28f9ce117cdc5c30182181c14ee8"
|
|
163
163
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-Dkt5sqg6.mjs","names":[],"sources":[],"mappings":""}
|