mozaic-mcp-server 1.0.0
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/INSTALLATION.md +232 -0
- package/README.md +262 -0
- package/SKILLS.md +411 -0
- package/bin/install-skills.js +171 -0
- package/data/mozaic.db +0 -0
- package/data/mozaic.db-shm +0 -0
- package/data/mozaic.db-wal +0 -0
- package/dist/__tests__/sanity-check.test.d.ts +2 -0
- package/dist/__tests__/sanity-check.test.d.ts.map +1 -0
- package/dist/__tests__/sanity-check.test.js +167 -0
- package/dist/__tests__/sanity-check.test.js.map +1 -0
- package/dist/__tests__/tools.integration.test.d.ts +2 -0
- package/dist/__tests__/tools.integration.test.d.ts.map +1 -0
- package/dist/__tests__/tools.integration.test.js +220 -0
- package/dist/__tests__/tools.integration.test.js.map +1 -0
- package/dist/db/queries.d.ts +144 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +536 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.d.ts +4 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +253 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +416 -0
- package/dist/index.js.map +1 -0
- package/dist/parsers/__tests__/docs-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/docs-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/docs-parser.test.js +251 -0
- package/dist/parsers/__tests__/docs-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/icons-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/icons-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/icons-parser.test.js +169 -0
- package/dist/parsers/__tests__/icons-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/react-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/react-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/react-parser.test.js +274 -0
- package/dist/parsers/__tests__/react-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/scss-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/scss-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/scss-parser.test.js +364 -0
- package/dist/parsers/__tests__/scss-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/tokens-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/tokens-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/tokens-parser.test.js +172 -0
- package/dist/parsers/__tests__/tokens-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/vue-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/vue-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/vue-parser.test.js +207 -0
- package/dist/parsers/__tests__/vue-parser.test.js.map +1 -0
- package/dist/parsers/docs-parser.d.ts +4 -0
- package/dist/parsers/docs-parser.d.ts.map +1 -0
- package/dist/parsers/docs-parser.js +237 -0
- package/dist/parsers/docs-parser.js.map +1 -0
- package/dist/parsers/icons-parser.d.ts +33 -0
- package/dist/parsers/icons-parser.d.ts.map +1 -0
- package/dist/parsers/icons-parser.js +125 -0
- package/dist/parsers/icons-parser.js.map +1 -0
- package/dist/parsers/react-parser.d.ts +3 -0
- package/dist/parsers/react-parser.d.ts.map +1 -0
- package/dist/parsers/react-parser.js +406 -0
- package/dist/parsers/react-parser.js.map +1 -0
- package/dist/parsers/scss-parser.d.ts +9 -0
- package/dist/parsers/scss-parser.d.ts.map +1 -0
- package/dist/parsers/scss-parser.js +351 -0
- package/dist/parsers/scss-parser.js.map +1 -0
- package/dist/parsers/tokens/border-parser.d.ts +3 -0
- package/dist/parsers/tokens/border-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/border-parser.js +83 -0
- package/dist/parsers/tokens/border-parser.js.map +1 -0
- package/dist/parsers/tokens/color-parser.d.ts +3 -0
- package/dist/parsers/tokens/color-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/color-parser.js +88 -0
- package/dist/parsers/tokens/color-parser.js.map +1 -0
- package/dist/parsers/tokens/grid-parser.d.ts +3 -0
- package/dist/parsers/tokens/grid-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/grid-parser.js +97 -0
- package/dist/parsers/tokens/grid-parser.js.map +1 -0
- package/dist/parsers/tokens/index.d.ts +9 -0
- package/dist/parsers/tokens/index.d.ts.map +1 -0
- package/dist/parsers/tokens/index.js +10 -0
- package/dist/parsers/tokens/index.js.map +1 -0
- package/dist/parsers/tokens/screen-parser.d.ts +3 -0
- package/dist/parsers/tokens/screen-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/screen-parser.js +54 -0
- package/dist/parsers/tokens/screen-parser.js.map +1 -0
- package/dist/parsers/tokens/shadow-parser.d.ts +3 -0
- package/dist/parsers/tokens/shadow-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/shadow-parser.js +62 -0
- package/dist/parsers/tokens/shadow-parser.js.map +1 -0
- package/dist/parsers/tokens/spacing-parser.d.ts +4 -0
- package/dist/parsers/tokens/spacing-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/spacing-parser.js +85 -0
- package/dist/parsers/tokens/spacing-parser.js.map +1 -0
- package/dist/parsers/tokens/types.d.ts +33 -0
- package/dist/parsers/tokens/types.d.ts.map +1 -0
- package/dist/parsers/tokens/types.js +42 -0
- package/dist/parsers/tokens/types.js.map +1 -0
- package/dist/parsers/tokens/typography-parser.d.ts +3 -0
- package/dist/parsers/tokens/typography-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/typography-parser.js +76 -0
- package/dist/parsers/tokens/typography-parser.js.map +1 -0
- package/dist/parsers/tokens-parser.d.ts +18 -0
- package/dist/parsers/tokens-parser.d.ts.map +1 -0
- package/dist/parsers/tokens-parser.js +57 -0
- package/dist/parsers/tokens-parser.js.map +1 -0
- package/dist/parsers/vue-parser.d.ts +3 -0
- package/dist/parsers/vue-parser.d.ts.map +1 -0
- package/dist/parsers/vue-parser.js +343 -0
- package/dist/parsers/vue-parser.js.map +1 -0
- package/dist/tools/generate-react-component.d.ts +35 -0
- package/dist/tools/generate-react-component.d.ts.map +1 -0
- package/dist/tools/generate-react-component.js +81 -0
- package/dist/tools/generate-react-component.js.map +1 -0
- package/dist/tools/generate-vue-component.d.ts +35 -0
- package/dist/tools/generate-vue-component.d.ts.map +1 -0
- package/dist/tools/generate-vue-component.js +81 -0
- package/dist/tools/generate-vue-component.js.map +1 -0
- package/dist/tools/get-component-info.d.ts +52 -0
- package/dist/tools/get-component-info.d.ts.map +1 -0
- package/dist/tools/get-component-info.js +94 -0
- package/dist/tools/get-component-info.js.map +1 -0
- package/dist/tools/get-css-utility.d.ts +41 -0
- package/dist/tools/get-css-utility.d.ts.map +1 -0
- package/dist/tools/get-css-utility.js +57 -0
- package/dist/tools/get-css-utility.js.map +1 -0
- package/dist/tools/get-design-tokens.d.ts +44 -0
- package/dist/tools/get-design-tokens.d.ts.map +1 -0
- package/dist/tools/get-design-tokens.js +124 -0
- package/dist/tools/get-design-tokens.js.map +1 -0
- package/dist/tools/get-icon.d.ts +32 -0
- package/dist/tools/get-icon.d.ts.map +1 -0
- package/dist/tools/get-icon.js +108 -0
- package/dist/tools/get-icon.js.map +1 -0
- package/dist/tools/get-install-info.d.ts +39 -0
- package/dist/tools/get-install-info.d.ts.map +1 -0
- package/dist/tools/get-install-info.js +160 -0
- package/dist/tools/get-install-info.js.map +1 -0
- package/dist/tools/list-components.d.ts +32 -0
- package/dist/tools/list-components.d.ts.map +1 -0
- package/dist/tools/list-components.js +62 -0
- package/dist/tools/list-components.js.map +1 -0
- package/dist/tools/list-css-utilities.d.ts +27 -0
- package/dist/tools/list-css-utilities.d.ts.map +1 -0
- package/dist/tools/list-css-utilities.js +48 -0
- package/dist/tools/list-css-utilities.js.map +1 -0
- package/dist/tools/search-documentation.d.ts +37 -0
- package/dist/tools/search-documentation.d.ts.map +1 -0
- package/dist/tools/search-documentation.js +120 -0
- package/dist/tools/search-documentation.js.map +1 -0
- package/dist/tools/search-icons.d.ts +41 -0
- package/dist/tools/search-icons.d.ts.map +1 -0
- package/dist/tools/search-icons.js +134 -0
- package/dist/tools/search-icons.js.map +1 -0
- package/package.json +98 -0
- package/skills/mozaic-css-utilities/skill.md +633 -0
- package/skills/mozaic-design-tokens/skill.md +621 -0
- package/skills/mozaic-icons/skill.md +624 -0
- package/skills/mozaic-react-builder/skill.md +652 -0
- package/skills/mozaic-vue-builder/skill.md +491 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-parser.js","sourceRoot":"","sources":["../../../src/parsers/tokens/grid-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoB5B,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,sBAAsB;AAEhD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;YAC/C,MAAM,YAAY,GAAG,2BAA2B,CAAC;YAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;YAEnD,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;oBAAE,SAAS;gBAEvE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,GAAG,aAAa,CAAC;gBAExC,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,MAAM;oBAChB,WAAW,EAAE,QAAQ;oBACrB,IAAI,EAAE,UAAU,UAAU,EAAE;oBAC5B,IAAI,EAAE,sBAAsB,UAAU,EAAE;oBACxC,WAAW,EAAE,iBAAiB,UAAU,EAAE;oBAC1C,YAAY,EAAE,uBAAuB,UAAU,EAAE;oBACjD,QAAQ,EAAE,GAAG,OAAO,IAAI;oBACxB,WAAW,EAAE,OAAO;oBACpB,SAAS,EAAE,IAAI;oBACf,aAAa,EAAE,GAAG,OAAO,IAAI;oBAC7B,WAAW,EAAE,mBAAmB,UAAU,aAAa,OAAO,kBAAkB,OAAO,KAAK;oBAC5F,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;YAC/C,MAAM,YAAY,GAAG,2BAA2B,CAAC;YAEjD,aAAa;YACb,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,MAAM;oBAChB,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,cAAc;oBAC3B,YAAY,EAAE,aAAa;oBAC3B,QAAQ,EAAE,GAAG,OAAO,EAAE;oBACtB,WAAW,EAAE,OAAO;oBACpB,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,GAAG,OAAO,GAAG,aAAa,IAAI;oBAC7C,WAAW,EAAE,yCAAyC;oBACtD,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,MAAM;oBAChB,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,mBAAmB;oBAChC,YAAY,EAAE,kBAAkB;oBAChC,QAAQ,EAAE,GAAG,QAAQ,IAAI;oBACzB,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,IAAI;oBACf,aAAa,EAAE,GAAG,QAAQ,IAAI;oBAC9B,WAAW,EAAE,8BAA8B;oBAC3C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./types.js";
|
|
2
|
+
export { parseColorTokens } from "./color-parser.js";
|
|
3
|
+
export { parseSpacingTokens } from "./spacing-parser.js";
|
|
4
|
+
export { parseShadowTokens } from "./shadow-parser.js";
|
|
5
|
+
export { parseBorderTokens } from "./border-parser.js";
|
|
6
|
+
export { parseScreenTokens } from "./screen-parser.js";
|
|
7
|
+
export { parseTypographyTokens } from "./typography-parser.js";
|
|
8
|
+
export { parseGridTokens } from "./grid-parser.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Token parsers index
|
|
2
|
+
export * from "./types.js";
|
|
3
|
+
export { parseColorTokens } from "./color-parser.js";
|
|
4
|
+
export { parseSpacingTokens } from "./spacing-parser.js";
|
|
5
|
+
export { parseShadowTokens } from "./shadow-parser.js";
|
|
6
|
+
export { parseBorderTokens } from "./border-parser.js";
|
|
7
|
+
export { parseScreenTokens } from "./screen-parser.js";
|
|
8
|
+
export { parseTypographyTokens } from "./typography-parser.js";
|
|
9
|
+
export { parseGridTokens } from "./grid-parser.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parsers/tokens/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/screen-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAYxC,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAuD5E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { parseValue } from "./types.js";
|
|
4
|
+
export async function parseScreenTokens(tokensPath) {
|
|
5
|
+
const tokens = [];
|
|
6
|
+
const sizePath = join(tokensPath, "properties", "size");
|
|
7
|
+
if (!existsSync(sizePath)) {
|
|
8
|
+
console.warn(`Size tokens path not found: ${sizePath}`);
|
|
9
|
+
return tokens;
|
|
10
|
+
}
|
|
11
|
+
// Look for screens.json
|
|
12
|
+
const screensFile = join(sizePath, "screens.json");
|
|
13
|
+
if (existsSync(screensFile)) {
|
|
14
|
+
try {
|
|
15
|
+
const content = readFileSync(screensFile, "utf-8");
|
|
16
|
+
const data = JSON.parse(content);
|
|
17
|
+
const relativePath = "properties/size/screens.json";
|
|
18
|
+
const screenData = data.screen || data;
|
|
19
|
+
for (const [screenName, screenDef] of Object.entries(screenData)) {
|
|
20
|
+
if (typeof screenDef !== "object" || !("value" in screenDef))
|
|
21
|
+
continue;
|
|
22
|
+
const value = screenDef.value;
|
|
23
|
+
const parsed = parseValue(value);
|
|
24
|
+
// Determine subcategory based on name pattern
|
|
25
|
+
let subcategory = "breakpoint";
|
|
26
|
+
if (screenName.includes("-")) {
|
|
27
|
+
// e.g., "s-medium", "xl-large"
|
|
28
|
+
const baseName = screenName.split("-")[0];
|
|
29
|
+
subcategory = baseName;
|
|
30
|
+
}
|
|
31
|
+
tokens.push({
|
|
32
|
+
category: "screen",
|
|
33
|
+
subcategory,
|
|
34
|
+
name: screenName,
|
|
35
|
+
path: `screen.${screenName}`,
|
|
36
|
+
cssVariable: `--screen-${screenName}`,
|
|
37
|
+
scssVariable: `$screen-${screenName}`,
|
|
38
|
+
valueRaw: String(value),
|
|
39
|
+
valueNumber: parsed.number,
|
|
40
|
+
valueUnit: parsed.unit || "px",
|
|
41
|
+
valueComputed: String(value),
|
|
42
|
+
description: screenDef.comment || `Screen breakpoint ${screenName}`,
|
|
43
|
+
platform: "all",
|
|
44
|
+
sourceFile: relativePath,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.warn(`Warning: Could not parse ${screensFile}:`, error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return tokens;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=screen-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen-parser.js","sourceRoot":"","sources":["../../../src/parsers/tokens/screen-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWxC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;YACjD,MAAM,YAAY,GAAG,8BAA8B,CAAC;YAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;YAEvC,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;oBAAE,SAAS;gBAEvE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEjC,8CAA8C;gBAC9C,IAAI,WAAW,GAAG,YAAY,CAAC;gBAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,+BAA+B;oBAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,WAAW,GAAG,QAAQ,CAAC;gBACzB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,QAAQ;oBAClB,WAAW;oBACX,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,UAAU,UAAU,EAAE;oBAC5B,WAAW,EAAE,YAAY,UAAU,EAAE;oBACrC,YAAY,EAAE,WAAW,UAAU,EAAE;oBACrC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;oBACvB,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;oBAC9B,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC;oBAC5B,WAAW,EAAE,SAAS,CAAC,OAAO,IAAI,qBAAqB,UAAU,EAAE;oBACnE,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/shadow-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,YAAY,CAAC;AAqBvD,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA0D5E"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { readFileSync, existsSync, readdirSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { parseValue } from "./types.js";
|
|
4
|
+
export async function parseShadowTokens(tokensPath) {
|
|
5
|
+
const shadowPath = join(tokensPath, "properties", "shadow");
|
|
6
|
+
const tokens = [];
|
|
7
|
+
if (!existsSync(shadowPath)) {
|
|
8
|
+
console.warn(`Shadow tokens path not found: ${shadowPath}`);
|
|
9
|
+
return tokens;
|
|
10
|
+
}
|
|
11
|
+
// Find all JSON files in shadow directory
|
|
12
|
+
const files = readdirSync(shadowPath).filter((f) => f.endsWith(".json"));
|
|
13
|
+
for (const file of files) {
|
|
14
|
+
const filePath = join(shadowPath, file);
|
|
15
|
+
try {
|
|
16
|
+
const content = readFileSync(filePath, "utf-8");
|
|
17
|
+
const data = JSON.parse(content);
|
|
18
|
+
const relativePath = `properties/shadow/${file}`;
|
|
19
|
+
const shadowData = data.shadow || data;
|
|
20
|
+
for (const [sizeName, shadowDef] of Object.entries(shadowData)) {
|
|
21
|
+
if (typeof shadowDef !== "object" || !shadowDef.x)
|
|
22
|
+
continue;
|
|
23
|
+
const def = shadowDef;
|
|
24
|
+
// Build composite shadow value
|
|
25
|
+
const shadowValue = `${def.x.value} ${def.y.value} ${def.blur.value} ${def.spread.value}`;
|
|
26
|
+
// Extract properties
|
|
27
|
+
const properties = [
|
|
28
|
+
{ property: "x", value: def.x.value, ...parseValueProp(def.x.value) },
|
|
29
|
+
{ property: "y", value: def.y.value, ...parseValueProp(def.y.value) },
|
|
30
|
+
{ property: "blur", value: def.blur.value, ...parseValueProp(def.blur.value) },
|
|
31
|
+
{ property: "spread", value: def.spread.value, ...parseValueProp(def.spread.value) },
|
|
32
|
+
{ property: "opacity", value: def.opacity.value, ...parseValueProp(def.opacity.value) },
|
|
33
|
+
];
|
|
34
|
+
tokens.push({
|
|
35
|
+
category: "shadow",
|
|
36
|
+
subcategory: undefined,
|
|
37
|
+
name: sizeName,
|
|
38
|
+
path: `shadow.${sizeName}`,
|
|
39
|
+
cssVariable: `--shadow-${sizeName}`,
|
|
40
|
+
scssVariable: `$shadow-${sizeName}`,
|
|
41
|
+
valueRaw: shadowValue,
|
|
42
|
+
description: `Shadow size ${sizeName}`,
|
|
43
|
+
platform: "all",
|
|
44
|
+
sourceFile: relativePath,
|
|
45
|
+
properties,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.warn(`Warning: Could not parse ${filePath}:`, error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return tokens;
|
|
54
|
+
}
|
|
55
|
+
function parseValueProp(value) {
|
|
56
|
+
const parsed = parseValue(value);
|
|
57
|
+
return {
|
|
58
|
+
valueNumber: parsed.number,
|
|
59
|
+
valueUnit: parsed.unit,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=shadow-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-parser.js","sourceRoot":"","sources":["../../../src/parsers/tokens/shadow-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/spacing-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAiCxC,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAmD7E;AAGD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAY/E"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
// Magic Unit spacing tokens from SCSS
|
|
4
|
+
// Base: $magic-unit = 16px (1rem)
|
|
5
|
+
const MAGIC_UNIT_BASE = 16; // px
|
|
6
|
+
// Defined in _s.magic-unit.scss
|
|
7
|
+
const SPACING_DEFINITIONS = [
|
|
8
|
+
{ name: "mu025", multiplier: 0.25 },
|
|
9
|
+
{ name: "mu050", multiplier: 0.5 },
|
|
10
|
+
{ name: "mu075", multiplier: 0.75 },
|
|
11
|
+
{ name: "mu100", multiplier: 1 },
|
|
12
|
+
{ name: "mu125", multiplier: 1.25 },
|
|
13
|
+
{ name: "mu150", multiplier: 1.5 },
|
|
14
|
+
{ name: "mu175", multiplier: 1.75 },
|
|
15
|
+
{ name: "mu200", multiplier: 2 },
|
|
16
|
+
{ name: "mu250", multiplier: 2.5 },
|
|
17
|
+
{ name: "mu300", multiplier: 3 },
|
|
18
|
+
{ name: "mu350", multiplier: 3.5 },
|
|
19
|
+
{ name: "mu400", multiplier: 4 },
|
|
20
|
+
{ name: "mu500", multiplier: 5 },
|
|
21
|
+
{ name: "mu600", multiplier: 6 },
|
|
22
|
+
{ name: "mu700", multiplier: 7 },
|
|
23
|
+
{ name: "mu800", multiplier: 8 },
|
|
24
|
+
{ name: "mu900", multiplier: 9 },
|
|
25
|
+
{ name: "mu1000", multiplier: 10 },
|
|
26
|
+
];
|
|
27
|
+
export async function parseSpacingTokens(stylesPath) {
|
|
28
|
+
const tokens = [];
|
|
29
|
+
const sourceFile = "settings-tools/_s.magic-unit.scss";
|
|
30
|
+
const magicUnitPath = join(stylesPath, sourceFile);
|
|
31
|
+
// Verify the file exists for reference
|
|
32
|
+
if (!existsSync(magicUnitPath)) {
|
|
33
|
+
console.warn(`Magic unit SCSS not found: ${magicUnitPath}`);
|
|
34
|
+
console.log("Using predefined spacing definitions");
|
|
35
|
+
}
|
|
36
|
+
// Generate tokens from known definitions
|
|
37
|
+
for (const def of SPACING_DEFINITIONS) {
|
|
38
|
+
const remValue = def.multiplier;
|
|
39
|
+
const pxValue = def.multiplier * MAGIC_UNIT_BASE;
|
|
40
|
+
tokens.push({
|
|
41
|
+
category: "spacing",
|
|
42
|
+
subcategory: "magic-unit",
|
|
43
|
+
name: def.name,
|
|
44
|
+
path: `spacing.${def.name}`,
|
|
45
|
+
cssVariable: `--spacing-${def.name}`,
|
|
46
|
+
scssVariable: `$${def.name}`,
|
|
47
|
+
valueRaw: `${remValue}rem`,
|
|
48
|
+
valueNumber: remValue,
|
|
49
|
+
valueUnit: "rem",
|
|
50
|
+
valueComputed: `${pxValue}px`,
|
|
51
|
+
description: `${def.multiplier} × magic-unit (${pxValue}px)`,
|
|
52
|
+
platform: "all",
|
|
53
|
+
sourceFile,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Also add the base magic unit
|
|
57
|
+
tokens.push({
|
|
58
|
+
category: "spacing",
|
|
59
|
+
subcategory: "base",
|
|
60
|
+
name: "magic-unit",
|
|
61
|
+
path: "spacing.magic-unit",
|
|
62
|
+
cssVariable: "--spacing-magic-unit",
|
|
63
|
+
scssVariable: "$magic-unit",
|
|
64
|
+
valueRaw: "16px",
|
|
65
|
+
valueNumber: 16,
|
|
66
|
+
valueUnit: "px",
|
|
67
|
+
valueComputed: "16px",
|
|
68
|
+
description: "Base magic unit value",
|
|
69
|
+
platform: "all",
|
|
70
|
+
sourceFile,
|
|
71
|
+
});
|
|
72
|
+
return tokens;
|
|
73
|
+
}
|
|
74
|
+
// Also parse any additional spacing from JSON if exists
|
|
75
|
+
export async function parseSpacingFromJson(tokensPath) {
|
|
76
|
+
const spacingPath = join(tokensPath, "properties", "spacing");
|
|
77
|
+
const tokens = [];
|
|
78
|
+
if (!existsSync(spacingPath)) {
|
|
79
|
+
return tokens;
|
|
80
|
+
}
|
|
81
|
+
// Parse JSON spacing files if they exist
|
|
82
|
+
// (Currently Mozaic doesn't have these, but future-proofing)
|
|
83
|
+
return tokens;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=spacing-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing-parser.js","sourceRoot":"","sources":["../../../src/parsers/tokens/spacing-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,sCAAsC;AACtC,kCAAkC;AAClC,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,KAAK;AAOjC,gCAAgC;AAChC,MAAM,mBAAmB,GAAwB;IAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACnC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACnC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACnC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACnC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;IAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;CACnC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,mCAAmC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,WAAW,GAAG,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,aAAa,GAAG,CAAC,IAAI,EAAE;YACpC,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE;YAC5B,QAAQ,EAAE,GAAG,QAAQ,KAAK;YAC1B,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,GAAG,OAAO,IAAI;YAC7B,WAAW,EAAE,GAAG,GAAG,CAAC,UAAU,kBAAkB,OAAO,KAAK;YAC5D,QAAQ,EAAE,KAAK;YACf,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAM;QACrB,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,KAAK;QACf,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,6DAA6D;IAE7D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type TokenCategory = "color" | "spacing" | "shadow" | "border" | "radius" | "screen" | "typography" | "grid";
|
|
2
|
+
export interface TokenProperty {
|
|
3
|
+
property: string;
|
|
4
|
+
value: string;
|
|
5
|
+
valueNumber?: number;
|
|
6
|
+
valueUnit?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Token {
|
|
9
|
+
category: TokenCategory;
|
|
10
|
+
subcategory?: string;
|
|
11
|
+
name: string;
|
|
12
|
+
path: string;
|
|
13
|
+
cssVariable?: string;
|
|
14
|
+
scssVariable?: string;
|
|
15
|
+
valueRaw: string;
|
|
16
|
+
valueNumber?: number;
|
|
17
|
+
valueUnit?: string;
|
|
18
|
+
valueComputed?: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
platform?: string;
|
|
21
|
+
sourceFile?: string;
|
|
22
|
+
properties?: TokenProperty[];
|
|
23
|
+
}
|
|
24
|
+
export declare function parseValue(value: string | number): {
|
|
25
|
+
raw: string;
|
|
26
|
+
number?: number;
|
|
27
|
+
unit?: string;
|
|
28
|
+
computed?: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function pathToCssVariable(category: string, path: string): string;
|
|
31
|
+
export declare function pathToScssVariable(category: string, path: string): string;
|
|
32
|
+
export declare function remToPx(rem: number): string;
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CA6BA;AAGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzE;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Token types for the enhanced schema
|
|
2
|
+
// Helper to parse value and extract number/unit
|
|
3
|
+
export function parseValue(value) {
|
|
4
|
+
const raw = String(value);
|
|
5
|
+
// If it's already a number
|
|
6
|
+
if (typeof value === "number") {
|
|
7
|
+
return { raw, number: value };
|
|
8
|
+
}
|
|
9
|
+
// Try to parse numeric value with unit
|
|
10
|
+
const match = raw.match(/^(-?[\d.]+)(px|rem|em|%|vw|vh|s|ms)?$/);
|
|
11
|
+
if (match) {
|
|
12
|
+
return {
|
|
13
|
+
raw,
|
|
14
|
+
number: parseFloat(match[1]),
|
|
15
|
+
unit: match[2] || undefined,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
// Check if it's a hex color
|
|
19
|
+
if (raw.match(/^#[0-9a-fA-F]{3,8}$/)) {
|
|
20
|
+
return { raw, unit: "hex" };
|
|
21
|
+
}
|
|
22
|
+
// Check if it's an rgb/rgba color
|
|
23
|
+
if (raw.match(/^rgba?\(/)) {
|
|
24
|
+
return { raw, unit: "rgb" };
|
|
25
|
+
}
|
|
26
|
+
return { raw };
|
|
27
|
+
}
|
|
28
|
+
// Convert path to CSS variable name
|
|
29
|
+
export function pathToCssVariable(category, path) {
|
|
30
|
+
const cleanPath = path.replace(/\./g, "-").toLowerCase();
|
|
31
|
+
return `--${category}-${cleanPath}`;
|
|
32
|
+
}
|
|
33
|
+
// Convert path to SCSS variable name
|
|
34
|
+
export function pathToScssVariable(category, path) {
|
|
35
|
+
const cleanPath = path.replace(/\./g, "-").toLowerCase();
|
|
36
|
+
return `$${category}-${cleanPath}`;
|
|
37
|
+
}
|
|
38
|
+
// Compute pixel value from rem (assuming 16px base)
|
|
39
|
+
export function remToPx(rem) {
|
|
40
|
+
return `${rem * 16}px`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/parsers/tokens/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAoCtC,gDAAgD;AAChD,MAAM,UAAU,UAAU,CAAC,KAAsB;IAM/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1B,2BAA2B;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,uCAAuC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,GAAG;YACH,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;SAC5B,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,kCAAkC;IAClC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/tokens/typography-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcxC,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8EhF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
export async function parseTypographyTokens(tokensPath) {
|
|
4
|
+
const tokens = [];
|
|
5
|
+
const sizePath = join(tokensPath, "properties", "size");
|
|
6
|
+
if (!existsSync(sizePath)) {
|
|
7
|
+
console.warn(`Size tokens path not found: ${sizePath}`);
|
|
8
|
+
return tokens;
|
|
9
|
+
}
|
|
10
|
+
// Look for font.json
|
|
11
|
+
const fontFile = join(sizePath, "font.json");
|
|
12
|
+
if (existsSync(fontFile)) {
|
|
13
|
+
try {
|
|
14
|
+
const content = readFileSync(fontFile, "utf-8");
|
|
15
|
+
const data = JSON.parse(content);
|
|
16
|
+
const relativePath = "properties/size/font.json";
|
|
17
|
+
// Parse font sizes
|
|
18
|
+
const fontSizes = data.size?.font || {};
|
|
19
|
+
for (const [sizeName, fontDef] of Object.entries(fontSizes)) {
|
|
20
|
+
if (typeof fontDef !== "object" || !("value" in fontDef))
|
|
21
|
+
continue;
|
|
22
|
+
const value = fontDef.value;
|
|
23
|
+
const numValue = typeof value === "number" ? value : parseFloat(String(value));
|
|
24
|
+
const pxValue = Math.round(numValue * 16); // Convert rem to px
|
|
25
|
+
tokens.push({
|
|
26
|
+
category: "typography",
|
|
27
|
+
subcategory: "font-size",
|
|
28
|
+
name: `font-${sizeName}`,
|
|
29
|
+
path: `typography.font.${sizeName}`,
|
|
30
|
+
cssVariable: `--font-size-${sizeName}`,
|
|
31
|
+
scssVariable: `$font-size-${sizeName}`,
|
|
32
|
+
valueRaw: String(value),
|
|
33
|
+
valueNumber: numValue,
|
|
34
|
+
valueUnit: "rem",
|
|
35
|
+
valueComputed: `${pxValue}px`,
|
|
36
|
+
description: fontDef.comment || `Font size ${sizeName}`,
|
|
37
|
+
platform: "all",
|
|
38
|
+
sourceFile: relativePath,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
// Parse line heights
|
|
42
|
+
const lineHeights = data.size?.line || {};
|
|
43
|
+
for (const [sizeName, variants] of Object.entries(lineHeights)) {
|
|
44
|
+
if (typeof variants !== "object")
|
|
45
|
+
continue;
|
|
46
|
+
for (const [variant, lineDef] of Object.entries(variants)) {
|
|
47
|
+
if (typeof lineDef !== "object" || !("value" in lineDef))
|
|
48
|
+
continue;
|
|
49
|
+
const value = lineDef.value;
|
|
50
|
+
const numValue = typeof value === "number" ? value : parseFloat(String(value));
|
|
51
|
+
const pxValue = Math.round(numValue * 16);
|
|
52
|
+
tokens.push({
|
|
53
|
+
category: "typography",
|
|
54
|
+
subcategory: "line-height",
|
|
55
|
+
name: `line-${sizeName}-${variant}`,
|
|
56
|
+
path: `typography.line.${sizeName}.${variant}`,
|
|
57
|
+
cssVariable: `--line-height-${sizeName}-${variant}`,
|
|
58
|
+
scssVariable: `$line-height-${sizeName}-${variant}`,
|
|
59
|
+
valueRaw: String(value),
|
|
60
|
+
valueNumber: numValue,
|
|
61
|
+
valueUnit: "rem",
|
|
62
|
+
valueComputed: `${pxValue}px`,
|
|
63
|
+
description: lineDef.comment || `Line height ${sizeName} ${variant}`,
|
|
64
|
+
platform: "all",
|
|
65
|
+
sourceFile: relativePath,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.warn(`Warning: Could not parse ${fontFile}:`, error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return tokens;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=typography-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography-parser.js","sourceRoot":"","sources":["../../../src/parsers/tokens/typography-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Token } from "./tokens/types.js";
|
|
2
|
+
export type { Token } from "./tokens/types.js";
|
|
3
|
+
export interface ParseTokensOptions {
|
|
4
|
+
tokensPath: string;
|
|
5
|
+
stylesPath?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function parseTokens(tokensPath: string, stylesPath?: string): Promise<Token[]>;
|
|
8
|
+
export declare const TOKEN_CATEGORIES: {
|
|
9
|
+
readonly colors: readonly ["color"];
|
|
10
|
+
readonly typography: readonly ["typography"];
|
|
11
|
+
readonly spacing: readonly ["spacing"];
|
|
12
|
+
readonly shadows: readonly ["shadow"];
|
|
13
|
+
readonly borders: readonly ["border", "radius"];
|
|
14
|
+
readonly screens: readonly ["screen"];
|
|
15
|
+
readonly grid: readonly ["grid"];
|
|
16
|
+
};
|
|
17
|
+
export declare function mapCategoryToDbCategories(category: string): string[];
|
|
18
|
+
//# sourceMappingURL=tokens-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/tokens-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU/C,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA0C3F;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAGpE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { parseColorTokens } from "./tokens/color-parser.js";
|
|
3
|
+
import { parseSpacingTokens } from "./tokens/spacing-parser.js";
|
|
4
|
+
import { parseShadowTokens } from "./tokens/shadow-parser.js";
|
|
5
|
+
import { parseBorderTokens } from "./tokens/border-parser.js";
|
|
6
|
+
import { parseScreenTokens } from "./tokens/screen-parser.js";
|
|
7
|
+
import { parseTypographyTokens } from "./tokens/typography-parser.js";
|
|
8
|
+
import { parseGridTokens } from "./tokens/grid-parser.js";
|
|
9
|
+
export async function parseTokens(tokensPath, stylesPath) {
|
|
10
|
+
const allTokens = [];
|
|
11
|
+
// Determine styles path if not provided
|
|
12
|
+
const effectiveStylesPath = stylesPath || join(tokensPath, "..", "styles");
|
|
13
|
+
console.log(" Parsing color tokens...");
|
|
14
|
+
const colorTokens = await parseColorTokens(tokensPath);
|
|
15
|
+
allTokens.push(...colorTokens);
|
|
16
|
+
console.log(` ✓ ${colorTokens.length} color tokens`);
|
|
17
|
+
console.log(" Parsing spacing tokens...");
|
|
18
|
+
const spacingTokens = await parseSpacingTokens(effectiveStylesPath);
|
|
19
|
+
allTokens.push(...spacingTokens);
|
|
20
|
+
console.log(` ✓ ${spacingTokens.length} spacing tokens`);
|
|
21
|
+
console.log(" Parsing shadow tokens...");
|
|
22
|
+
const shadowTokens = await parseShadowTokens(tokensPath);
|
|
23
|
+
allTokens.push(...shadowTokens);
|
|
24
|
+
console.log(` ✓ ${shadowTokens.length} shadow tokens`);
|
|
25
|
+
console.log(" Parsing border/radius tokens...");
|
|
26
|
+
const borderTokens = await parseBorderTokens(tokensPath);
|
|
27
|
+
allTokens.push(...borderTokens);
|
|
28
|
+
console.log(` ✓ ${borderTokens.length} border/radius tokens`);
|
|
29
|
+
console.log(" Parsing screen tokens...");
|
|
30
|
+
const screenTokens = await parseScreenTokens(tokensPath);
|
|
31
|
+
allTokens.push(...screenTokens);
|
|
32
|
+
console.log(` ✓ ${screenTokens.length} screen tokens`);
|
|
33
|
+
console.log(" Parsing typography tokens...");
|
|
34
|
+
const typographyTokens = await parseTypographyTokens(tokensPath);
|
|
35
|
+
allTokens.push(...typographyTokens);
|
|
36
|
+
console.log(` ✓ ${typographyTokens.length} typography tokens`);
|
|
37
|
+
console.log(" Parsing grid tokens...");
|
|
38
|
+
const gridTokens = await parseGridTokens(tokensPath);
|
|
39
|
+
allTokens.push(...gridTokens);
|
|
40
|
+
console.log(` ✓ ${gridTokens.length} grid tokens`);
|
|
41
|
+
return allTokens;
|
|
42
|
+
}
|
|
43
|
+
// Category mapping for token queries
|
|
44
|
+
export const TOKEN_CATEGORIES = {
|
|
45
|
+
colors: ["color"],
|
|
46
|
+
typography: ["typography"],
|
|
47
|
+
spacing: ["spacing"],
|
|
48
|
+
shadows: ["shadow"],
|
|
49
|
+
borders: ["border", "radius"],
|
|
50
|
+
screens: ["screen"],
|
|
51
|
+
grid: ["grid"],
|
|
52
|
+
};
|
|
53
|
+
export function mapCategoryToDbCategories(category) {
|
|
54
|
+
const mapping = TOKEN_CATEGORIES[category];
|
|
55
|
+
return mapping ? [...mapping] : [category];
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=tokens-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-parser.js","sourceRoot":"","sources":["../../src/parsers/tokens-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/vue-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAgD,MAAM,kBAAkB,CAAC;AAwUhG,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAyFrF"}
|