@razorwind/core 0.0.55 → 0.0.57
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-BUOleHB2.d.mts → index-D6YA1OT1.d.mts} +12 -3
- package/dist/{index-BUOleHB2.d.mts.map → index-D6YA1OT1.d.mts.map} +1 -1
- package/dist/{index-Jx3NnG_x.d.cts → index-w5DAiedB.d.cts} +12 -3
- package/dist/index-w5DAiedB.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/lib/tokens/index.cjs +1 -1
- package/dist/lib/tokens/index.d.cts +2 -2
- package/dist/lib/tokens/index.d.mts +2 -2
- package/dist/lib/tokens/index.mjs +1 -1
- package/dist/tokens-D4CY3bSO.cjs +1 -0
- package/dist/tokens-Dkt5sqg6.mjs +2 -0
- package/dist/tokens-Dkt5sqg6.mjs.map +1 -0
- package/package.json +12 -12
- package/dist/index-Jx3NnG_x.d.cts.map +0 -1
- package/dist/tokens-DlF13ltk.cjs +0 -7
- package/dist/tokens-EpUlVCAl.mjs +0 -8
- package/dist/tokens-EpUlVCAl.mjs.map +0 -1
|
@@ -31,9 +31,18 @@ declare const TYPE_ALIASES: Record<string, string>;
|
|
|
31
31
|
declare function canonicalizeTokenType(type: string): string;
|
|
32
32
|
//#endregion
|
|
33
33
|
//#region src/lib/tokens/css.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Collect `--custom-property` declarations from an entire stylesheet.
|
|
36
|
+
*
|
|
37
|
+
* Every rule is scanned (`:root`, `@theme`, `.dark`, `@layer`, `@media`,
|
|
38
|
+
* `@property`, component selectors, …), not only `:root`. Later declarations
|
|
39
|
+
* of the same name overwrite earlier ones. `var(--token)` usages are ignored.
|
|
40
|
+
*/
|
|
41
|
+
declare function collectCssCustomProperties(contents: string): Record<string, string>;
|
|
34
42
|
/**
|
|
35
43
|
* Extract CSS custom properties from stylesheet text into a nested token tree.
|
|
36
|
-
* Handles `:root`, `[data-theme]`,
|
|
44
|
+
* Handles `:root`, `[data-theme]`, Tailwind v4 `@theme`, `@property`, and any
|
|
45
|
+
* other rule that declares custom properties.
|
|
37
46
|
*/
|
|
38
47
|
declare function parseCssCustomProperties(contents: string): Record<string, unknown>;
|
|
39
48
|
//#endregion
|
|
@@ -207,5 +216,5 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
207
216
|
*/
|
|
208
217
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
209
218
|
//#endregion
|
|
210
|
-
export {
|
|
211
|
-
//# sourceMappingURL=index-
|
|
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-D6YA1OT1.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-D6YA1OT1.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":""}
|
|
@@ -31,9 +31,18 @@ declare const TYPE_ALIASES: Record<string, string>;
|
|
|
31
31
|
declare function canonicalizeTokenType(type: string): string;
|
|
32
32
|
//#endregion
|
|
33
33
|
//#region src/lib/tokens/css.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Collect `--custom-property` declarations from an entire stylesheet.
|
|
36
|
+
*
|
|
37
|
+
* Every rule is scanned (`:root`, `@theme`, `.dark`, `@layer`, `@media`,
|
|
38
|
+
* `@property`, component selectors, …), not only `:root`. Later declarations
|
|
39
|
+
* of the same name overwrite earlier ones. `var(--token)` usages are ignored.
|
|
40
|
+
*/
|
|
41
|
+
declare function collectCssCustomProperties(contents: string): Record<string, string>;
|
|
34
42
|
/**
|
|
35
43
|
* Extract CSS custom properties from stylesheet text into a nested token tree.
|
|
36
|
-
* Handles `:root`, `[data-theme]`,
|
|
44
|
+
* Handles `:root`, `[data-theme]`, Tailwind v4 `@theme`, `@property`, and any
|
|
45
|
+
* other rule that declares custom properties.
|
|
37
46
|
*/
|
|
38
47
|
declare function parseCssCustomProperties(contents: string): Record<string, unknown>;
|
|
39
48
|
//#endregion
|
|
@@ -207,5 +216,5 @@ declare function registerRazorwindHooks(plugins?: Plugin[], target?: StyleDictio
|
|
|
207
216
|
*/
|
|
208
217
|
declare const registerRazorwindParsers: typeof registerRazorwindHooks;
|
|
209
218
|
//#endregion
|
|
210
|
-
export {
|
|
211
|
-
//# sourceMappingURL=index-
|
|
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-w5DAiedB.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-w5DAiedB.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;;;;;;;;;iBAyHc,oBACd,SAAS,2BACR;;;;iBAqFa,iBAAiB;;;UCrNhB,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-DlF13ltk.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.b.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.55`;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.y,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.b,exports.TOKEN_DIRECTORY_GLOB=i.x,exports.TOKEN_FILE_EXTENSIONS=i.S,exports.TYPE_ALIASES=i.w,exports.TYPE_PATH_HINTS=i.T,exports.WEIGHT_FROM_SUFFIX=r.b,exports.WINDIE_PARSERS=i.C,exports.razorwindParsers=i.C,exports.canonicalizeTokenType=i.E,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.h,exports.inferValue=i.g,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._,exports.normalizeRepository=j,exports.normalizeTokenTree=i.v,exports.parseCssCustomProperties=i.m,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-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.57`;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
|
|
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-w5DAiedB.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
|
|
@@ -218,5 +218,5 @@ declare module "@power-plant/core" {
|
|
|
218
218
|
*/
|
|
219
219
|
declare const generator: import("@power-plant/core").GeneratorConfigObject<Schema, Options, any>;
|
|
220
220
|
//#endregion
|
|
221
|
-
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, FONT_EXTENSIONS, FONT_FORMAT_FROM_EXTENSION, GENERIC_FALLBACK_FROM_ROLE, GenerationRun, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, MONO_ROLES, type Options, type ParsedFontFilename, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type RenderFontCssOptions, type ResolveTokensPathOptions, type ResolvedTokensSource, SANS_ROLES, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, WEIGHT_FROM_SUFFIX, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, copyFontFiles, cssFontFamily, defineConfig, definePlugin, fontFamilyName, generateAllPluginDocuments, generatePluginDocuments, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyFonts, isEmptyTokens, loadComponents, loadFonts, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, mergeFonts, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, parseCssFonts, parseFontFilename, pickFontByRole, prepareGenerationRuns, prepareSpec, prependFontCss, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, renderFontCss, renderGoogleFontImports, renderLocalFontFaces, resolveConfig, resolveConfigs, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath, themesForGeneration, toGoogleFontsCssUrl, uniquePlugins, writeGeneratedDocuments };
|
|
221
|
+
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, FONT_EXTENSIONS, FONT_FORMAT_FROM_EXTENSION, GENERIC_FALLBACK_FROM_ROLE, GenerationRun, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, MONO_ROLES, type Options, type ParsedFontFilename, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type RenderFontCssOptions, type ResolveTokensPathOptions, type ResolvedTokensSource, SANS_ROLES, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, WEIGHT_FROM_SUFFIX, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, collectCssCustomProperties, copyFontFiles, cssFontFamily, defineConfig, definePlugin, fontFamilyName, generateAllPluginDocuments, generatePluginDocuments, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyFonts, isEmptyTokens, loadComponents, loadFonts, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, mergeFonts, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, parseCssFonts, parseFontFilename, pickFontByRole, prepareGenerationRuns, prepareSpec, prependFontCss, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, renderFontCss, renderGoogleFontImports, renderLocalFontFaces, resolveConfig, resolveConfigs, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath, themesForGeneration, toGoogleFontsCssUrl, uniquePlugins, writeGeneratedDocuments };
|
|
222
222
|
//# sourceMappingURL=index.d.cts.map
|
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
|
|
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-D6YA1OT1.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
|
|
@@ -218,5 +218,5 @@ declare module "@power-plant/core" {
|
|
|
218
218
|
*/
|
|
219
219
|
declare const generator: import("@power-plant/core").GeneratorConfigObject<Schema, Options, any>;
|
|
220
220
|
//#endregion
|
|
221
|
-
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, FONT_EXTENSIONS, FONT_FORMAT_FROM_EXTENSION, GENERIC_FALLBACK_FROM_ROLE, GenerationRun, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, MONO_ROLES, type Options, type ParsedFontFilename, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type RenderFontCssOptions, type ResolveTokensPathOptions, type ResolvedTokensSource, SANS_ROLES, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, WEIGHT_FROM_SUFFIX, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, copyFontFiles, cssFontFamily, defineConfig, definePlugin, fontFamilyName, generateAllPluginDocuments, generatePluginDocuments, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyFonts, isEmptyTokens, loadComponents, loadFonts, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, mergeFonts, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, parseCssFonts, parseFontFilename, pickFontByRole, prepareGenerationRuns, prepareSpec, prependFontCss, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, renderFontCss, renderGoogleFontImports, renderLocalFontFaces, resolveConfig, resolveConfigs, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath, themesForGeneration, toGoogleFontsCssUrl, uniquePlugins, writeGeneratedDocuments };
|
|
221
|
+
export { type Config, DEFAULT_TOKEN_PATH_CANDIDATES, type ExtractionHooks, FONT_EXTENSIONS, FONT_FORMAT_FROM_EXTENSION, GENERIC_FALLBACK_FROM_ROLE, GenerationRun, type Generator, type InferredTokenType, type LoadTokensOptions, type LoadedTokens, MONO_ROLES, type Options, type ParsedFontFilename, type Plugin, RAZORWIND_INFER_PREPROCESSOR, type RazorwindParserName, type RenderFontCssOptions, type ResolveTokensPathOptions, type ResolvedTokensSource, SANS_ROLES, type SchemaMeta, type StyleDictionaryRegisterTarget, THEME_BASENAME_PATTERN, TOKEN_DIRECTORY_GLOB, TOKEN_FILE_EXTENSIONS, TYPE_ALIASES, TYPE_PATH_HINTS, type TokensParser, type TokensPreprocessor, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type UserConfigParams, WEIGHT_FROM_SUFFIX, TOKEN_PARSER_NAMES as WINDIE_PARSERS, TOKEN_PARSER_NAMES as razorwindParsers, canonicalizeTokenType, collectCssCustomProperties, copyFontFiles, cssFontFamily, defineConfig, definePlugin, fontFamilyName, generateAllPluginDocuments, generatePluginDocuments, generator, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyFonts, isEmptyTokens, loadComponents, loadFonts, loadIcons, loadSchemaMetaFromPackageJson, loadTokens, loadTokensOrThrow, mergeFonts, nestFlatTokens, normalizeUrl as normalizeRepository, normalizeTokenTree, parseCssCustomProperties, parseCssFonts, parseFontFilename, pickFontByRole, prepareGenerationRuns, prepareSpec, prependFontCss, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, renderFontCss, renderGoogleFontImports, renderLocalFontFaces, resolveConfig, resolveConfigs, resolveSchemaMeta, resolveTokensSource, schemaMetaFromConfig, schemaMetaFromPackageJson, styleDictionaryLogOptions, themeKeyFromPath, themesForGeneration, toGoogleFontsCssUrl, uniquePlugins, writeGeneratedDocuments };
|
|
222
222
|
//# sourceMappingURL=index.d.mts.map
|
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 m,E as ve,S as ye,T as be,_ as xe,a as Se,b as h,c as Ce,d as we,f as Te,g as Ee,h as De,i as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as g,u as Ie,v as Le,w as Re,x as ze,y as Be}from"./tokens-EpUlVCAl.mjs";import{definePlugin as Ve}from"./plugin.mjs";import{defineGenerator as He,defineSchema as Ue,useExecution as _}from"@power-plant/core";import{createDefu as v,defu as y}from"defu";import{dirname as We,isAbsolute as b,resolve as x}from"node:path";import{titleCase as S}from"@stryke/string-format/title-case";import{existsSync as C}from"@stryke/fs/exists";import{isDirectory as w}from"@stryke/fs/is-file";import{readJsonFile as T}from"@stryke/fs/json";import{listFiles as Ge}from"@stryke/fs/list-files";import{appendPath as E}from"@stryke/path/append";import{findFileExtensionSafe as D,findFileName as O,findFolderName as Ke}from"@stryke/path/file-path-fns";import{joinPaths as k}from"@stryke/path/join";import{isSetObject as A}from"@stryke/type-checks/is-set-object";import{isSetString as j}from"@stryke/type-checks/is-set-string";import{mkdir as qe,readFile as M,readdir as N,writeFile as Je}from"node:fs/promises";import{getEnvPaths as Ye}from"@stryke/env/get-env-paths";import{findFilePath as P}from"@stryke/path/find";import{replacePath as Xe}from"@stryke/path/replace";import{isFunction as Ze}from"@stryke/type-checks/is-function";import{loadConfig as F}from"c12";import{createJiti as Qe}from"jiti";import{existsSync as I}from"node:fs";import $e from"node:os";function et(t){let n=e(t),r=n.filter(e=>!i(e.id));return r.length===0||r.length===1&&n.length===1?[]:r}function tt(e,t){let a=e.find(e=>e.id===r);return!a||i(t.id)?t.tokens:n(t.tokens,a.tokens)}function nt(e,n,r){return{...e,theme:n.id,title:t(e.title,n.id)??e.title,tokens:tt(r,n)}}function rt(e,n){let r=t(e.title,n.id);return r?{...e,title:r}:e}async function L(e,t,n=t.plugins.filter(e=>e.generate)){let r={};for(let i of n){let n=await i.generate(e,t);r=y(n,r)}return r}function it(e){return e.themeGeneration===`combined`}async function at(t,n){let r=n.plugins.filter(e=>e.generate),i=r.filter(it),o=r.filter(e=>!it(e)),s={};i.length>0&&(s=y(await L(t,n,i),s));let c=e(t.tokens),l=et(t.tokens);if(o.length===0)return s;if(l.length===0)return y(await L(t,n,o),s);for(let e of l){let r=await L(nt(t,e,c),rt(n,e),o);s=y(a(r,e.id),s)}return s}async function ot(e){let t={};for(let n of e)Object.assign(t,await at(n.spec,n.config));return t}function R(e){return!!(j(e)||A(e)&&`url`in e&&j(e.url))}function z(e){if(j(e))return e;if(A(e)&&`url`in e&&j(e.url))return e.url}const st=s.partial(),B=new Set([`tsx`,`jsx`,`ts`,`js`,`mdx`,`md`,`css`,`html`,`txt`]),V=v((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function ct(e,t){return b(t)?t:x(e,t)}function lt(e){return Array.isArray(e)?e.filter(j):j(e)?[e]:[]}function H(e){let t=e.toLowerCase();if(B.has(t))return t}function ut(e){let t=D(e)?.toLowerCase();return!!(t&&B.has(t))}function U(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 W(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(j(t)){let e=O(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 G(e){if(!A(e))return;let{files:t,usage:n,...r}=e,i=st.safeParse(r);if(i.success)return Object.keys(i.data).length>0?i.data:void 0}function dt(e){return A(e)&&`path`in e}async function ft(e){let t=k(e,`package.json`);if(!C(t))return;let n;try{n=await T(t)}catch{return}let r={};j(n.name)&&(r.name=n.name,r.title=n.name),j(n.description)&&(r.description=n.description),j(n.version)&&(r.version=n.version),j(n.homepage)&&(r.homepage=n.homepage);let i=z(n.repository);if(i&&(r.repository=i),A(n.dependencies)&&(r.dependencies=n.dependencies),A(n.devDependencies)&&(r.devDependencies=n.devDependencies),Array.isArray(n.keywords)){let e=n.keywords.filter(j);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s,c;dt(a)?s=U(a):A(a)&&(o=G(a),`files`in a&&(s=U(a.files)),`usage`in a&&(c=W(a.usage)));let l=V(o??{},r);return s?.length&&(l.files=s),c?.length&&(l.usage=c),Object.keys(l).length>0?l:void 0}async function pt(e){let t=k(e,`component.json`);if(!C(t))return;let n;try{n=await T(t)}catch{return}if(dt(n)||Array.isArray(n)){let e=U(n);if(e)return{files:e}}if(!A(n))return;let r=G(n)??{},i=`files`in n?U(n.files):void 0,a=`usage`in n?W(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 mt(e){try{return(await N(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 ht(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=E(t.path,e),r=D(t.path)??``,i=t.language??H(r),a=t.name||O(t.path,{withExtension:!1})||t.path,o=t.content??(C(n)?await M(n,`utf8`):void 0);return{...t,name:a,path:n,...i?{language:i}:{},...o===void 0?{}:{content:o}}}));let n=k(e,`usage`);if(!C(n)||!w(n))return;let r=await mt(n);if(r.length!==0)return Promise.all(r.map(async e=>{let t=k(n,e),r=H(D(e)??``),i=O(e,{withExtension:!1})||e;return{name:i,title:S(i),path:t,content:await M(t,`utf8`),...r?{language:r}:{}}}))}async function gt(e,t){let n=t??(await Ge(e)).filter(e=>O(e,{withExtension:!1})===`index`);return Promise.all(n.filter(Boolean).map(async t=>typeof t==`string`?{type:/[tj]sx$/.test(D(t))?`component`:`file`,path:t,content:await M(E(t,e),`utf8`)}:{type:/[tj]sx$/.test(D(t.path))?`component`:`file`,...t,content:t.content?t.content:t.path?await M(E(t.path,e),`utf8`):void 0,path:E(t.path,e)}))}async function _t(e){let t=await ft(e),n=await pt(e);if(!t&&!n)return;let r=V(n??{},t??{}),i=j(r.name)?r.name:Ke(e),a=j(r.title)?r.title:S(i),o=s.safeParse({...r,name:i,title:a});if(!o.success)return;let c=await ht(e,o.data.usage);return{...o.data,files:await gt(e,o.data.files),...c?.length?{usage:c}:{}}}async function vt(e){let t={},n=lt(e.options.componentsPath);for(let r of n){let n=ct(e.cwd,r);if(!(!C(n)||!w(n)))try{let e=await N(n,{withFileTypes:!0});for(let r of e){if(!r.isDirectory()||r.name.startsWith(`.`))continue;let e=await _t(k(n,r.name));e&&(t[e.name]=e)}}catch{continue}}return t}const yt=o.partial(),bt=new Set([`svg`,`png`,`webp`,`jpg`,`jpeg`,`gif`,`ico`]),K=v((e,t,n)=>Array.isArray(n)?(e[t]=n,!0):!1);function xt(e,t){return b(t)?t:x(e,t)}function St(e){return Array.isArray(e)?e.filter(j):j(e)?[e]:[]}function Ct(e){let t=e.toLowerCase();if(bt.has(t))return t}function wt(e){let t=D(e)?.toLowerCase();return!!(t&&bt.has(t))}function Tt(e){return h.test(e)}async function q(e){try{return(await N(e,{withFileTypes:!0})).filter(e=>e.isFile()&&wt(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 Et(e){if(!A(e))return;let t=yt.safeParse(e);if(t.success)return Object.keys(t.data).length>0?t.data:void 0}function Dt(e){return A(e)&&`path`in e}async function Y(e,t,n){let r=E(e,t),i=Ct(D(e)??``)??`file`,a=i===`svg`?await M(r,`utf8`):void 0;return{path:r,type:i,...n?{theme:n}:{},...a===void 0?{}:{content:a}}}async function Ot(e){let t=k(e,`package.json`);if(!C(t))return;let n;try{n=await T(t)}catch{return}let r={};j(n.name)&&(r.name=n.name,r.title=n.name),j(n.description)&&(r.description=n.description),j(n.version)&&(r.version=n.version),j(n.homepage)&&(r.homepage=n.homepage);let i=z(n.repository);if(i&&(r.repository=i),Array.isArray(n.keywords)){let e=n.keywords.filter(j);e.length>0&&(r.tags=e)}let a=n.razorwind,o,s;Dt(a)?s=J(a):A(a)&&(o=Et(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 kt(e){let t=k(e,`icon.json`);if(!C(t))return;let n;try{n=await T(t)}catch{return}if(Dt(n)||Array.isArray(n)){let e=J(n);if(e)return{files:e}}return Et(n)}async function At(e,t){if(t?.length)return Promise.all(t.map(async t=>{let n=E(t.path,e),r=D(t.path)??``,i=t.type??Ct(r)??`file`,a=t.content===void 0?i===`svg`?await M(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 jt(e){let t=await Ot(e),n=await kt(e),r=await q(e);if(!t&&!n&&r.length===0)return;let i=K(n??{},t??{}),a=j(i.name)?i.name:Ke(e),s=j(i.title)?i.title:S(a),c=o.safeParse({...i,name:a,title:s});if(c.success)return{...c.data,files:await At(e,c.data.files)}}function Mt(e,t,n){let r=e[t];if(!r){e[t]={name:t,title:S(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 Nt(e,t,n){let r=await q(e);for(let i of r){let r=O(i,{withExtension:!1});r&&Mt(n,r,await Y(i,e,t))}}async function Pt(e){let t={},n=St(e.options.iconsPath);for(let r of n){let n=xt(e.cwd,r);if(!(!C(n)||!w(n)))try{let e=await N(n,{withFileTypes:!0});for(let r of e){if(r.name.startsWith(`.`))continue;let e=k(n,r.name);if(r.isDirectory()){if(Tt(r.name)){await Nt(e,r.name,t);continue}let n=await jt(e);if(n){let e=t[n.name];t[n.name]=e?K(n,e):n}continue}if(r.isFile()&&wt(r.name)){let e=O(r.name,{withExtension:!1});if(!e)continue;Mt(t,e,await Y(r.name,n))}}}catch{continue}}return t}function X(e,t){let n=e[t];return j(n)?n:void 0}function Z(e){let t={};j(e.name)&&(t.name=e.name),j(e.description)&&(t.description=e.description),j(e.homepage)&&(t.homepage=e.homepage);let n=z(e.repository);n&&(t.repository=n),j(e.logo)&&(t.logo=e.logo);let r=e.razorwind,i={};if(A(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=z(t.repository);a?i.name=a:j(e.name)&&(i.name=e.name),n?i.title=n:j(i.name)&&(i.title=S(i.name)),o?i.description=o:j(e.description)&&(i.description=e.description),s?i.homepage=s:R(e.homepage)?i.homepage=z(e.homepage):R(e.author)?i.homepage=z(e.author):e.maintainers&&Array.isArray(e.maintainers)&&e.maintainers.length>0&&R(e.maintainers[0])?i.homepage=z(e.maintainers[0]):e.contributors&&Array.isArray(e.contributors)&&e.contributors.length>0&&R(e.contributors[0])?i.homepage=z(e.contributors[0]):R(e.bugs)&&(i.homepage=z(e.bugs)),c&&(i.logo=c),l?i.repository=l:R(e.repository)&&(i.repository=z(e.repository))}return y(i,t)}function Ft(e){let t={};return j(e.name)&&(t.name=e.name),j(e.title)&&(t.title=e.title),j(e.description)&&(t.description=e.description),j(e.repository)&&(t.repository=e.repository),j(e.homepage)&&(t.homepage=e.homepage),j(e.logo)&&(t.logo=e.logo),t}async function It(e){let t=k(e,`package.json`);if(!C(t))return{};let n;try{n=await T(t)}catch{return{}}return Z(n)}async function Lt(e,t){let n=await It(e),r=Ft(t);return y(r,n)}function Rt(e){let t=new Set;return e.filter(e=>!e?.name||!t.has(e.name)&&(t.add(e.name),!0))}const zt=$e.homedir();function Bt(e){return Array.isArray(e)?e.filter(e=>A(e)):[]}function Q(e){return Array.isArray(e)||!A(e)?{}:{...e}}const Vt=[`tokensPath`,`componentsPath`,`iconsPath`,`fontsPath`];function Ht(e,t){let n={...e};for(let e of Vt)t[e]!=null&&delete n[e];return n}function Ut(e,t,n,r){let i=y({cwd:e,envPaths:r.envPaths},Ht(t,n),n,r.workspaceLayer,r.environmentLayer,r.homeLayer,{componentsPath:e,iconsPath:k(e,`assets/icons`),fontsPath:k(e,`assets/fonts`),plugins:[]});if(Array.isArray(i.componentsPath)){let t=i.componentsPath.filter(j).map(e=>P(e));i.componentsPath=t.length>0?t:e}else i.componentsPath=j(i.componentsPath)?P(i.componentsPath):e;if(Array.isArray(i.iconsPath)){let t=i.iconsPath.filter(j).map(e=>P(e));i.iconsPath=t.length>0?t:k(e,`assets/icons`)}else i.iconsPath=j(i.iconsPath)?P(i.iconsPath):k(e,`assets/icons`);if(Array.isArray(i.fontsPath)){let t=i.fontsPath.filter(j).map(e=>P(e));i.fontsPath=t.length>0?t:k(e,`assets/fonts`)}else i.fontsPath=j(i.fontsPath)?P(i.fontsPath):k(e,`assets/fonts`);return i.plugins=Rt(Array.isArray(i.plugins)?i.plugins:[]),i.verbose=t.verbose===!0||n.verbose===!0,i}async function $(e,t){let n=t.configFile&&I(Xe(t.configFile,e))?Xe(t.configFile,e):t.configFile&&I(t.configFile)?t.configFile:I(k(e,`razorwind.${t.mode}.ts`))?k(e,`razorwind.${t.mode}.ts`):I(k(e,`razorwind.${t.mode}.js`))?k(e,`razorwind.${t.mode}.js`):I(k(e,`razorwind.${t.mode}.mts`))?k(e,`razorwind.${t.mode}.mts`):I(k(e,`razorwind.${t.mode}.mjs`))?k(e,`razorwind.${t.mode}.mjs`):I(k(e,`razorwind.${t.mode}.cjs`))?k(e,`razorwind.${t.mode}.cjs`):I(k(e,`razorwind.${t.mode}.cts`))?k(e,`razorwind.${t.mode}.cts`):I(k(e,`razorwind.${t.mode}.json`))?k(e,`razorwind.${t.mode}.json`):I(k(e,`razorwind.${t.mode}.yaml`))?k(e,`razorwind.${t.mode}.yaml`):I(k(e,`razorwind.${t.mode}.yml`))?k(e,`razorwind.${t.mode}.yml`):I(k(e,`razorwind.config.ts`))?k(e,`razorwind.config.ts`):I(k(e,`razorwind.config.js`))?k(e,`razorwind.config.js`):I(k(e,`razorwind.config.mts`))?k(e,`razorwind.config.mts`):I(k(e,`razorwind.config.mjs`))?k(e,`razorwind.config.mjs`):I(k(e,`razorwind.config.cjs`))?k(e,`razorwind.config.cjs`):I(k(e,`razorwind.config.cts`))?k(e,`razorwind.config.cts`):I(k(e,`razorwind.config.json`))?k(e,`razorwind.config.json`):I(k(e,`razorwind.config.yaml`))?k(e,`razorwind.config.yaml`):I(k(e,`razorwind.config.yml`))?k(e,`razorwind.config.yml`):void 0,r=Ye({orgId:`storm-software`,appId:`razorwind`,workspaceRoot:e}),i={fsCache:r.cache},a=Qe(e,i),o=[{}];if(n){let r=b(n)?n:x(e,n),i=await a.import(r,{default:!0});if(i){let r=i;if(r=Ze(i)?await Promise.resolve(i({cwd:e,mode:t.mode??`development`})):await Promise.resolve(i),Array.isArray(r)){let e=Bt(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 A(r)&&(o=[{...r,configFile:n}])}}let[s,c,l]=await Promise.all([F({cwd:e,name:`razorwind`,envName:t.mode,globalRc:!0,packageJson:`razorwind`,dotenv:!0,jitiOptions:i}),F({cwd:r.config,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i}),F({cwd:zt,name:`razorwind`,envName:t.mode,dotenv:!0,jitiOptions:i})]),u=Q(s?.config),d=n?b(n)?n:x(e,n):void 0,f=typeof s?.configFile==`string`?s.configFile:void 0;d&&f&&x(e,f)===d&&delete u.plugins;let p={envPaths:{...r,home:zt},workspaceLayer:u,environmentLayer:Q(c?.config),homeLayer:Q(l?.config)};return o.map(n=>Ut(e,t,n,p))}async function Wt(e,t){let n=(await $(e,t))[0];if(!n)throw Error(`Unable to resolve Razorwind configuration.`);return n}async function Gt(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||g(t))&&(t=await je(e));let n={...await Lt(e.cwd,e.options),tokens:t??{},components:y(e.options.components??{},await vt(e)??{}),icons:y(e.options.icons??{},await Pt(e)??{}),fonts:y(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||g(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 Kt(e,t){let n=await $(e.cwd,t),r=[];for(let t of n)e.options=t,r.push({spec:await Gt(e),config:t});return r}async function qt(e,t){let n=[];for(let[r,i]of Object.entries(e??{})){let e=i?.path||r;if(!e)continue;let a=b(e)?e:x(t,e),o=(i?.chunks??[]).map(e=>e.content??``).join(``);await qe(We(a),{recursive:!0}),await Je(a,o,`utf8`),n.push(a)}return n}var Jt=`0.0.55`;function Yt(e){return e}const Xt=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:Jt,tags:[`razorwind`,`dtcg`]},schema:Ue({schema:u}),input:async e=>{let t=_(),n=await Kt(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 qt(n,_().cwd)},generator:async e=>{let t=_();return ot(t.generationRuns&&t.generationRuns.length>0?t.generationRuns:[{spec:e,config:t.options}])}});export{Be 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,Me as RAZORWIND_INFER_PREPROCESSOR,_e as SANS_ROLES,h as THEME_BASENAME_PATTERN,ze as TOKEN_DIRECTORY_GLOB,ye as TOKEN_FILE_EXTENSIONS,Re as TYPE_ALIASES,be as TYPE_PATH_HINTS,ee as WEIGHT_FROM_SUFFIX,m as WINDIE_PARSERS,m as razorwindParsers,ve as canonicalizeTokenType,ce as copyFontFiles,pe as cssFontFamily,Yt as defineConfig,Ve as definePlugin,te as fontFamilyName,ot as generateAllPluginDocuments,at as generatePluginDocuments,Xt as generator,Fe as getExtractionHooks,Ce as getRazorwindParserHooks,ke as getRazorwindPreprocessorHooks,De as inferTypeFromPath,Ee as inferValue,me as isEmptyFonts,g as isEmptyTokens,vt as loadComponents,p as loadFonts,Pt as loadIcons,It as loadSchemaMetaFromPackageJson,je as loadTokens,Pe as loadTokensOrThrow,le as mergeFonts,xe as nestFlatTokens,z as normalizeRepository,Le as normalizeTokenTree,Ae as parseCssCustomProperties,fe as parseCssFonts,ue as parseFontFilename,oe as pickFontByRole,Kt as prepareGenerationRuns,Gt as prepareSpec,se as prependFontCss,Ie as razorwindInferPreprocessor,we as registerRazorwindHooks,Te as registerRazorwindParsers,he as renderFontCss,ne as renderGoogleFontImports,re as renderLocalFontFaces,Wt as resolveConfig,$ as resolveConfigs,Lt as resolveSchemaMeta,Oe as resolveTokensSource,Ft as schemaMetaFromConfig,Z as schemaMetaFromPackageJson,Ne as styleDictionaryLogOptions,Se as themeKeyFromPath,et as themesForGeneration,de as toGoogleFontsCssUrl,Rt as uniquePlugins,qt 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-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.57`;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-D4CY3bSO.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
|
|
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, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyTokens, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
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-w5DAiedB.cjs";
|
|
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
|
|
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, getExtractionHooks, getRazorwindParserHooks, getRazorwindPreprocessorHooks, inferTypeFromPath, inferValue, isEmptyTokens, loadTokens, loadTokensOrThrow, nestFlatTokens, normalizeTokenTree, parseCssCustomProperties, razorwindInferPreprocessor, registerRazorwindHooks, registerRazorwindParsers, resolveTokensSource, styleDictionaryLogOptions, themeKeyFromPath };
|
|
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-D6YA1OT1.mjs";
|
|
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,
|
|
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-Dkt5sqg6.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};
|
|
@@ -0,0 +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}});
|
|
@@ -0,0 +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-Dkt5sqg6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-Dkt5sqg6.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.57",
|
|
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"],
|
|
@@ -132,17 +132,17 @@
|
|
|
132
132
|
"typings": "dist/index.d.mts",
|
|
133
133
|
"files": ["dist"],
|
|
134
134
|
"dependencies": {
|
|
135
|
-
"@power-plant/core": "^0.0.
|
|
135
|
+
"@power-plant/core": "^0.0.91",
|
|
136
136
|
"@power-plant/dtcg-schema": "^0.0.1",
|
|
137
|
-
"@power-plant/schema": "^0.0.
|
|
138
|
-
"@power-plant/utils": "^0.0.
|
|
139
|
-
"@stryke/env": "^0.20.
|
|
140
|
-
"@stryke/fs": "^0.33.
|
|
141
|
-
"@stryke/path": "^0.29.
|
|
142
|
-
"@stryke/string-format": "^0.17.
|
|
143
|
-
"@stryke/type-checks": "^0.6.
|
|
144
|
-
"@stryke/types": "^0.12.
|
|
145
|
-
"@stryke/url": "^0.4.
|
|
137
|
+
"@power-plant/schema": "^0.0.89",
|
|
138
|
+
"@power-plant/utils": "^0.0.77",
|
|
139
|
+
"@stryke/env": "^0.20.130",
|
|
140
|
+
"@stryke/fs": "^0.33.113",
|
|
141
|
+
"@stryke/path": "^0.29.38",
|
|
142
|
+
"@stryke/string-format": "^0.17.53",
|
|
143
|
+
"@stryke/type-checks": "^0.6.44",
|
|
144
|
+
"@stryke/types": "^0.12.39",
|
|
145
|
+
"@stryke/url": "^0.4.63",
|
|
146
146
|
"c12": "^3.3.4",
|
|
147
147
|
"defu": "^6.1.7",
|
|
148
148
|
"fast-glob": "^3.3.3",
|
|
@@ -159,5 +159,5 @@
|
|
|
159
159
|
"typescript": "^6.0.3"
|
|
160
160
|
},
|
|
161
161
|
"publishConfig": { "access": "public" },
|
|
162
|
-
"gitHead": "
|
|
162
|
+
"gitHead": "3015d6c9131658f8348b46b3e8cbdca0b3cd1852"
|
|
163
163
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Jx3NnG_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;;;;;;;iBC5JtB,yBACd,mBACC;;;KCiCS;;;;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;;;;;;;;;iBAyHc,oBACd,SAAS,2BACR;;;;iBAqFa,iBAAiB;;;UCrNhB,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/tokens-DlF13ltk.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
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-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function k(e){let t={},n=e.split(` `).join(` `).replace(/\s*\{\s*/g,` {
|
|
2
|
-
`).replace(/;\s*/g,`;
|
|
3
|
-
`).replace(/,\s*/g,`, `).replace(/ *\}\s*/g,`}
|
|
4
|
-
`).replace(/\}\s*(.+)/g,`}
|
|
5
|
-
$1`).replace(/\n {4}([^:]+):\s*/g,`
|
|
6
|
-
$1: `).replace(/([a-z0-9-)])\}/gi,`$1;
|
|
7
|
-
}`).replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(ge)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return O(t)}function A(e){return e?{verbosity:d.logVerbosityLevels.verbose}:{}}const j=`razorwind-infer`;function M(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 N(e){try{return M(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 P(e){try{return M((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 F(e){try{return M((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 I=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>N(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>P(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>F(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>D(k(e))}];function L(){return Object.fromEntries(I.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function R(e){return D(e)}function z(){return{[j]:R}}function B(e=[]){let t={...L()},n={...z()},r=[...m],i=[j],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 _e=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 q(e){return Array.isArray(e)?e.filter(o.isSetString):(0,o.isSetString)(e)?[e]:[]}const ve=/[*?[\]{}]/;function ye(e){return ve.test(e)}function be(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function xe(e,t){let n=H(e,t);if(ye(t)){let e=be(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=q(n);if(o.length>0){let e=o.map(e=>xe(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 Se(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 Ce=Se(u.default);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function we(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 Ce({...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??{}},A(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Te(e){return(await(0,l.default)(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function Ee(e,t){let n=await Te(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 we(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?Ee(e.options,t.source):Q(e.options,t.source)}async function De(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 m}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return v}}),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 _e}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return T}}),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 k}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return De}}),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 D}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return g}});
|
package/dist/tokens-EpUlVCAl.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
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,se=/^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,ce=/^oklch\(\s*([+\d.]+%?|none)\s+([+\d.]+|none)\s+([+\d.]+|none)(?:\s*\/\s*([+\d.]+%?))?\s*\)$/i,le=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(px|rem|em|%|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/i,ue=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*(ms|s)$/i,de=/^cubic-bezier\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+))\s*\)$/i,fe=/^var\(\s*(--[\w-]+)\s*(?:,\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))?\)\s*$/i,S=/^\{[^{}]+\}$/,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(S.test(n))return{value:n,type:i};let a=n.match(fe);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(se);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(ce);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(le);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(ue);if(d)return{value:{value:Number.parseFloat(d[1]),unit:d[2].toLowerCase()},type:`duration`};let f=n.match(de);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-]*)\s*:\s*([^;}{]+?)(?=\s*(?:;|\}|$))/gi;function j(e){let t={},n=e.split(` `).join(` `).replace(/\s*\{\s*/g,` {
|
|
2
|
-
`).replace(/;\s*/g,`;
|
|
3
|
-
`).replace(/,\s*/g,`, `).replace(/ *\}\s*/g,`}
|
|
4
|
-
`).replace(/\}\s*(.+)/g,`}
|
|
5
|
-
$1`).replace(/\n {4}([^:]+):\s*/g,`
|
|
6
|
-
$1: `).replace(/([a-z0-9-)])\}/gi,`$1;
|
|
7
|
-
}`).replace(/\/\*[\s\S]*?\*\//g,``);for(let e of n.matchAll(_e)){let n=e[1],r=e[2]?.trim();!n||!r||(t[n]=r)}return A(t)}function M(e){return e?{verbosity:ee.verbose}:{}}const N=`razorwind-infer`;function P(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 F(e){try{return P(te.parse(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse JSON token file: ${t}`)}}function I(e){try{return P(re(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse YAML token file: ${t}`)}}function ve(e){try{return P(ne(e))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to parse TOML token file: ${t}`)}}const L=[{name:`razorwind-json`,pattern:/\.json[c5]?$/i,parser:({contents:e})=>F(e)},{name:`razorwind-yaml`,pattern:/\.ya?ml$/i,parser:({contents:e})=>I(e)},{name:`razorwind-toml`,pattern:/\.toml$/i,parser:({contents:e})=>ve(e)},{name:`razorwind-css`,pattern:/\.css$/i,parser:({contents:e})=>k(j(e))}];function R(){return Object.fromEntries(L.map(({name:e,pattern:t,parser:n})=>[e,{pattern:t,parser:n}]))}function z(e){return k(e)}function B(){return{[N]:z}}function V(e=[]){let t={...R()},n={...B()},r=[...m],i=[N],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 ye=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 be(e){return Array.isArray(e)?e.filter(l):l(e)?[e]:[]}const xe=/[*?[\]{}]/;function Se(e){return xe.test(e)}function Ce(e){let t=e.search(/[*?[{]/);if(t<=0)return;let n=e.slice(0,t).replace(/[/\\]+$/,``);return n.length>0?n:void 0}function we(e,t){let n=U(e,t);if(Se(t)){let e=Ce(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=be(n);if(i.length>0){let e=i.map(e=>we(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 Te(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 Ee=Te(p);function X(e){return!e||typeof e!=`object`||Object.keys(e).length===0}async function De(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 Ee({...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??{}},M(e.verbose));return await r.hasInitialized,r}async function Q(e,t){return t.length===0?{}:(await Z(e,{source:t})).tokens}async function Oe(e){return(await f(e,{absolute:!0,onlyFiles:!0,unique:!0})).sort()}async function ke(e,t){let n=await Oe(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 De(t.resolvedPath)),e.sd.tokens):t.source.length===0?{}:e.options.splitThemes?ke(e.options,t.source):Q(e.options,t.source)}async function Ae(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{m as C,x as E,h as S,y as T,A as _,Y as a,v as b,R as c,H as d,ye as f,O as g,D as h,J as i,B as l,j as m,$ as n,N as o,M as p,Ae as r,V as s,X as t,z as u,k as v,b as w,_ as x,g as y};
|
|
8
|
-
//# sourceMappingURL=tokens-EpUlVCAl.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-EpUlVCAl.mjs","names":[],"sources":[],"mappings":""}
|