@qiqi1996/design-system 0.0.2 → 0.0.3
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/README.md +9 -4
- package/README.zh-cn.md +42 -0
- package/dist/cli/main +179 -23
- package/dist/cli/package.json +1 -1
- package/dist/schema-en.json +1 -1
- package/dist/schema-zh.json +1 -1
- package/package.json +5 -1
- package/README.zh-CN.md +0 -77
package/README.md
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
# Qi Design System
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Describe the design system once and output multiple framework configs (Tailwind, Chakra UI, Ant Design, etc.).
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Languages: [中文](./README.zh-cn.md) | [English](./README.md)
|
|
8
|
+
|
|
9
|
+
## Documentation
|
|
10
|
+
|
|
11
|
+
[https://qiqi-1996.github.io/qi-design-system](https://qiqi-1996.github.io/qi-design-system)
|
|
8
12
|
|
|
9
13
|
## Features & Roadmap
|
|
10
14
|
|
|
@@ -13,6 +17,7 @@ Languages: [中文](./README.zh-CN.md) | [English](./README.md)
|
|
|
13
17
|
- [ ] Color System
|
|
14
18
|
- [ ] Single-color Palette Generation
|
|
15
19
|
- [x] Ant Design Color
|
|
20
|
+
- [x] Qi Design System V0
|
|
16
21
|
- [ ] Mantine Colors Generator
|
|
17
22
|
- [ ] Triadic Color Scheme
|
|
18
23
|
- [x] Semantic Definition (Based on Chakra UI Semantic Specifications)
|
|
@@ -32,7 +37,7 @@ Languages: [中文](./README.zh-CN.md) | [English](./README.md)
|
|
|
32
37
|
- [ ] Tailwind V3
|
|
33
38
|
- [ ] Ant Design
|
|
34
39
|
- [ ] Chakra UI
|
|
35
|
-
- [
|
|
40
|
+
- [x] Mantine
|
|
36
41
|
|
|
37
42
|
## Contribution
|
|
38
43
|
|
package/README.zh-cn.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Qi Design System
|
|
2
|
+
|
|
3
|
+
描述一次设计系统, 输出多套框架配置(Tailwind、Chakra UI、Ant Design 等等)。
|
|
4
|
+
|
|
5
|
+
Languages: [中文](./README.zh-cn.md) | [English](./README.md)
|
|
6
|
+
|
|
7
|
+
## 文档
|
|
8
|
+
|
|
9
|
+
[https://qiqi-1996.github.io/qi-design-system](https://qiqi-1996.github.io/qi-design-system)
|
|
10
|
+
|
|
11
|
+
## 特性和计划
|
|
12
|
+
|
|
13
|
+
### 颜色系统定义
|
|
14
|
+
|
|
15
|
+
- [ ] 颜色系统
|
|
16
|
+
- [ ] 单色色板生成
|
|
17
|
+
- [x] Ant Design Color
|
|
18
|
+
- [x] Qi Design System V0
|
|
19
|
+
- [ ] Mantine Colors Generator
|
|
20
|
+
- [ ] 三元群配色方案
|
|
21
|
+
- [x] 语义化(基于 Chakra UI Semantic 定义)
|
|
22
|
+
- [ ] 暗黑模式
|
|
23
|
+
- [ ] 字体系统
|
|
24
|
+
- [x] 字号(仅语义化定义)
|
|
25
|
+
- [x] 行高
|
|
26
|
+
- [x] 线性自动生成
|
|
27
|
+
- [x] 字重(仅语义化定义)
|
|
28
|
+
- [x] 空间系统
|
|
29
|
+
- [ ] 圆角
|
|
30
|
+
- [ ] 阴影
|
|
31
|
+
|
|
32
|
+
### 内置配置生成器
|
|
33
|
+
|
|
34
|
+
- [x] Talwind V4
|
|
35
|
+
- [ ] Talwind V3
|
|
36
|
+
- [ ] Ant Design
|
|
37
|
+
- [ ] Chakra UI
|
|
38
|
+
- [x] Mantine
|
|
39
|
+
|
|
40
|
+
## 贡献
|
|
41
|
+
|
|
42
|
+
* 需要 Bun 运行环境(v1.3.0+)
|
package/dist/cli/main
CHANGED
|
@@ -708,7 +708,7 @@ var require_lodash = __commonJS((exports2, module2) => {
|
|
|
708
708
|
function unicodeWords(string4) {
|
|
709
709
|
return string4.match(reUnicodeWord) || [];
|
|
710
710
|
}
|
|
711
|
-
var runInContext = function
|
|
711
|
+
var runInContext = function runInContext2(context) {
|
|
712
712
|
context = context == null ? root : _2.defaults(root.Object(), context, _2.pick(root, contextProps));
|
|
713
713
|
var { Array: Array2, Date: Date2, Error: Error2, Function: Function2, Math: Math2, Object: Object2, RegExp: RegExp2, String: String2, TypeError: TypeError2 } = context;
|
|
714
714
|
var arrayProto = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype;
|
|
@@ -5221,7 +5221,7 @@ __p += '`;
|
|
|
5221
5221
|
lodash.replace = replace;
|
|
5222
5222
|
lodash.result = result;
|
|
5223
5223
|
lodash.round = round;
|
|
5224
|
-
lodash.runInContext =
|
|
5224
|
+
lodash.runInContext = runInContext2;
|
|
5225
5225
|
lodash.sample = sample;
|
|
5226
5226
|
lodash.size = size;
|
|
5227
5227
|
lodash.snakeCase = snakeCase;
|
|
@@ -6236,7 +6236,7 @@ var require_lib2 = __commonJS((exports2) => {
|
|
|
6236
6236
|
};
|
|
6237
6237
|
Object.defineProperty(exports2, "generate", {
|
|
6238
6238
|
enumerable: true,
|
|
6239
|
-
get: function
|
|
6239
|
+
get: function get2() {
|
|
6240
6240
|
return _generate.default;
|
|
6241
6241
|
}
|
|
6242
6242
|
});
|
|
@@ -6251,7 +6251,7 @@ var require_lib2 = __commonJS((exports2) => {
|
|
|
6251
6251
|
return;
|
|
6252
6252
|
Object.defineProperty(exports2, key, {
|
|
6253
6253
|
enumerable: true,
|
|
6254
|
-
get: function
|
|
6254
|
+
get: function get2() {
|
|
6255
6255
|
return _presets[key];
|
|
6256
6256
|
}
|
|
6257
6257
|
});
|
|
@@ -29157,7 +29157,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
29157
29157
|
// src/schema/color.ts
|
|
29158
29158
|
var colorPaletteSchema = () => zod_default.array(zod_default.discriminatedUnion("type", [
|
|
29159
29159
|
zod_default.object({
|
|
29160
|
-
type: zod_default.union([zod_default.literal("ant-design")]).default("
|
|
29160
|
+
type: zod_default.union([zod_default.literal("ant-design"), zod_default.literal("qi-design-system-v0")]).default("qi-design-system-v0").meta({
|
|
29161
29161
|
title: t("schema.color.type.title"),
|
|
29162
29162
|
description: t("schema.color.type.desc")
|
|
29163
29163
|
}),
|
|
@@ -29254,7 +29254,8 @@ var colorSemanticThemeSchema = () => zod_default.record(zod_default.string(), zo
|
|
|
29254
29254
|
}));
|
|
29255
29255
|
var colorSchema = () => zod_default.object({
|
|
29256
29256
|
palettes: colorPaletteSchema().optional().meta({
|
|
29257
|
-
title: t("schema.color.title")
|
|
29257
|
+
title: t("schema.color.title"),
|
|
29258
|
+
description: t("schema.color.desc")
|
|
29258
29259
|
}),
|
|
29259
29260
|
semantic: colorSemanticThemeSchema().optional().meta({
|
|
29260
29261
|
title: t("common.semantic"),
|
|
@@ -29277,7 +29278,10 @@ var spaceSchema = () => zod_default.object({
|
|
|
29277
29278
|
});
|
|
29278
29279
|
|
|
29279
29280
|
// src/schema/output.ts
|
|
29280
|
-
var outputSchema = () => zod_default.
|
|
29281
|
+
var outputSchema = () => zod_default.array(zod_default.object({
|
|
29282
|
+
type: zod_default.union([zod_default.literal("tailwind-v4"), zod_default.literal("mantine")]).meta({ title: "输出类型", description: "例如:./src" }),
|
|
29283
|
+
path: zod_default.string().meta({ title: "输出位置", description: "例如:./src/theme.css" })
|
|
29284
|
+
})).meta({
|
|
29281
29285
|
title: "输出配置"
|
|
29282
29286
|
});
|
|
29283
29287
|
|
|
@@ -29371,15 +29375,130 @@ var isColorVariable = (value) => {
|
|
|
29371
29375
|
// src/generator/common/color.ts
|
|
29372
29376
|
var import_colors = __toESM(require_lib2(), 1);
|
|
29373
29377
|
var import_lodash2 = __toESM(require_lodash(), 1);
|
|
29378
|
+
|
|
29379
|
+
// src/generator/qi-design-system/color-palettes-v0.ts
|
|
29380
|
+
function genQiDesignSystemColorsV0(base, schema = "light") {
|
|
29381
|
+
const [h, s, l] = hexToHsl(base);
|
|
29382
|
+
const light = [
|
|
29383
|
+
...distribution(l, 100, 7, easeInOutQuad).reverse(),
|
|
29384
|
+
...distribution(0, l, 4, easeInOutQuart).reverse().slice(1)
|
|
29385
|
+
].map((l2) => [h, s, Number(l2.toFixed(0))]).map(hslToHex);
|
|
29386
|
+
const dark = [...distribution(0, l, 7, easeInOutQuad), ...distribution(l, 100, 4, easeInOutQuart).slice(1)].map((d) => [h, s, Number(d.toFixed(0))]).map(hslToHex);
|
|
29387
|
+
return {
|
|
29388
|
+
light,
|
|
29389
|
+
dark
|
|
29390
|
+
}[schema];
|
|
29391
|
+
}
|
|
29392
|
+
function distribution(v2, target, step, easing) {
|
|
29393
|
+
if (step <= 0)
|
|
29394
|
+
return [];
|
|
29395
|
+
const result = [];
|
|
29396
|
+
const delta = target - v2;
|
|
29397
|
+
for (let i = 1;i <= step; i++) {
|
|
29398
|
+
const t2 = i / step;
|
|
29399
|
+
const easedT = easing(t2);
|
|
29400
|
+
result.push(v2 + easedT * delta);
|
|
29401
|
+
}
|
|
29402
|
+
return result;
|
|
29403
|
+
}
|
|
29404
|
+
function easeInOutQuart(x) {
|
|
29405
|
+
return x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2;
|
|
29406
|
+
}
|
|
29407
|
+
function easeInOutQuad(x) {
|
|
29408
|
+
return x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2;
|
|
29409
|
+
}
|
|
29410
|
+
function hexToHsl(hex3) {
|
|
29411
|
+
let cleanHex = hex3.replace(/^#/, "");
|
|
29412
|
+
if (cleanHex.length === 3) {
|
|
29413
|
+
cleanHex = cleanHex.split("").map((char) => char + char).join("");
|
|
29414
|
+
}
|
|
29415
|
+
if (!/^[0-9a-fA-F]{6}$/.test(cleanHex)) {
|
|
29416
|
+
throw new Error("无效的16进制颜色值,请传入正确格式(如#fff或#ffffff)");
|
|
29417
|
+
}
|
|
29418
|
+
const r = parseInt(cleanHex.slice(0, 2), 16);
|
|
29419
|
+
const g3 = parseInt(cleanHex.slice(2, 4), 16);
|
|
29420
|
+
const b2 = parseInt(cleanHex.slice(4, 6), 16);
|
|
29421
|
+
const rNorm = r / 255;
|
|
29422
|
+
const gNorm = g3 / 255;
|
|
29423
|
+
const bNorm = b2 / 255;
|
|
29424
|
+
const max = Math.max(rNorm, gNorm, bNorm);
|
|
29425
|
+
const min = Math.min(rNorm, gNorm, bNorm);
|
|
29426
|
+
let h = 0;
|
|
29427
|
+
let s = 0;
|
|
29428
|
+
let l = (max + min) / 2;
|
|
29429
|
+
if (max !== min) {
|
|
29430
|
+
const delta = max - min;
|
|
29431
|
+
s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);
|
|
29432
|
+
switch (max) {
|
|
29433
|
+
case rNorm:
|
|
29434
|
+
h = (gNorm - bNorm) / delta + (gNorm < bNorm ? 6 : 0);
|
|
29435
|
+
break;
|
|
29436
|
+
case gNorm:
|
|
29437
|
+
h = (bNorm - rNorm) / delta + 2;
|
|
29438
|
+
break;
|
|
29439
|
+
case bNorm:
|
|
29440
|
+
h = (rNorm - gNorm) / delta + 4;
|
|
29441
|
+
break;
|
|
29442
|
+
}
|
|
29443
|
+
h = h * 60;
|
|
29444
|
+
}
|
|
29445
|
+
const hFinal = Math.round(h);
|
|
29446
|
+
const sFinal = Math.round(s * 100);
|
|
29447
|
+
const lFinal = Math.round(l * 100);
|
|
29448
|
+
return [hFinal, sFinal, lFinal];
|
|
29449
|
+
}
|
|
29450
|
+
function hslToHex(hslArr) {
|
|
29451
|
+
let [h = 0, s = 0, l = 0] = hslArr;
|
|
29452
|
+
h = Math.max(0, Math.min(360, h));
|
|
29453
|
+
s = Math.max(0, Math.min(100, s)) / 100;
|
|
29454
|
+
l = Math.max(0, Math.min(100, l)) / 100;
|
|
29455
|
+
let r, g3, b2;
|
|
29456
|
+
if (s === 0) {
|
|
29457
|
+
r = g3 = b2 = l;
|
|
29458
|
+
} else {
|
|
29459
|
+
const hue2rgb = (p2, q4, t2) => {
|
|
29460
|
+
if (t2 < 0)
|
|
29461
|
+
t2 += 1;
|
|
29462
|
+
if (t2 > 1)
|
|
29463
|
+
t2 -= 1;
|
|
29464
|
+
if (t2 < 1 / 6)
|
|
29465
|
+
return p2 + (q4 - p2) * 6 * t2;
|
|
29466
|
+
if (t2 < 1 / 2)
|
|
29467
|
+
return q4;
|
|
29468
|
+
if (t2 < 2 / 3)
|
|
29469
|
+
return p2 + (q4 - p2) * (2 / 3 - t2) * 6;
|
|
29470
|
+
return p2;
|
|
29471
|
+
};
|
|
29472
|
+
const q3 = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
29473
|
+
const p = 2 * l - q3;
|
|
29474
|
+
r = Math.max(0, Math.min(1, hue2rgb(p, q3, h / 360 + 1 / 3)));
|
|
29475
|
+
g3 = Math.max(0, Math.min(1, hue2rgb(p, q3, h / 360)));
|
|
29476
|
+
b2 = Math.max(0, Math.min(1, hue2rgb(p, q3, h / 360 - 1 / 3)));
|
|
29477
|
+
}
|
|
29478
|
+
const toHex = (value) => {
|
|
29479
|
+
const intValue = Math.round(Math.max(0, Math.min(255, value * 255)));
|
|
29480
|
+
const hex3 = intValue.toString(16);
|
|
29481
|
+
return hex3.padStart(2, "0");
|
|
29482
|
+
};
|
|
29483
|
+
return `#${toHex(r)}${toHex(g3)}${toHex(b2)}`.toUpperCase();
|
|
29484
|
+
}
|
|
29485
|
+
|
|
29486
|
+
// src/generator/common/color.ts
|
|
29374
29487
|
function commonGenColorPalette(paletteConfig) {
|
|
29375
29488
|
const fullPalettesConfig = colorPaletteSchema().parse(paletteConfig ?? []);
|
|
29376
29489
|
return fullPalettesConfig?.map((paletteConfig2) => {
|
|
29377
29490
|
if (paletteConfig2.type === "ant-design") {
|
|
29378
29491
|
if (paletteConfig2.base) {
|
|
29379
|
-
const palette = import_colors.generate(paletteConfig2.base);
|
|
29492
|
+
const palette = import_colors.generate(paletteConfig2.base, ...paletteConfig2.args ?? []);
|
|
29380
29493
|
return [paletteConfig2.name, { primary: palette[5] ?? "", palette }];
|
|
29381
29494
|
}
|
|
29382
29495
|
}
|
|
29496
|
+
if (paletteConfig2.type === "qi-design-system-v0") {
|
|
29497
|
+
if (paletteConfig2.base) {
|
|
29498
|
+
const palette = genQiDesignSystemColorsV0(paletteConfig2.base, ...paletteConfig2.args ?? []);
|
|
29499
|
+
return [paletteConfig2.name, { primary: palette[6] ?? "", palette }];
|
|
29500
|
+
}
|
|
29501
|
+
}
|
|
29383
29502
|
return [paletteConfig2.name, { primary: "", palette: [] }];
|
|
29384
29503
|
}) ?? [];
|
|
29385
29504
|
}
|
|
@@ -29429,16 +29548,11 @@ function genColor(colorConfig) {
|
|
|
29429
29548
|
const fullPalette = commonGenColorPalette(fullColorConfig.palettes ?? []);
|
|
29430
29549
|
const fullSemantic = commonGenColorSemantic(fullColorConfig.semantic ?? {});
|
|
29431
29550
|
return [
|
|
29432
|
-
fullPalette.
|
|
29433
|
-
|
|
29434
|
-
|
|
29435
|
-
|
|
29436
|
-
`)
|
|
29437
|
-
].join(`
|
|
29438
|
-
`);
|
|
29439
|
-
}),
|
|
29440
|
-
fullSemantic.map(([name, value]) => `--color-${name}: ${isColorVariable(value) ? `var(--color-${value});` : value};`).join(`
|
|
29441
|
-
`)
|
|
29551
|
+
...fullPalette.flatMap(([name, data]) => [
|
|
29552
|
+
`--color-${name}: ${data.primary};`,
|
|
29553
|
+
...data.palette.map((c, i) => `--color-${name}-${(i + 1) * 100}: ${c};`)
|
|
29554
|
+
]),
|
|
29555
|
+
...fullSemantic.map(([name, value]) => `--color-${name}: ${isColorVariable(value) ? `var(--color-${value});` : value};`)
|
|
29442
29556
|
].join(`
|
|
29443
29557
|
`);
|
|
29444
29558
|
}
|
|
@@ -29524,8 +29638,46 @@ function genTailwindV4(data, options) {
|
|
|
29524
29638
|
|
|
29525
29639
|
// src/cli/generate.ts
|
|
29526
29640
|
var import_promises2 = __toESM(require("node:fs/promises"));
|
|
29641
|
+
// src/generator/mantine/index.ts
|
|
29642
|
+
function genMantine(data) {
|
|
29643
|
+
const system = designSystemSchema().parse(data);
|
|
29644
|
+
const lightIndex = system.color?.palettes?.findIndex((item) => item.type === "qi-design-system-v0" && (item.args?.[0] ?? "light") === "light") ?? -1;
|
|
29645
|
+
const darkIndex = system.color?.palettes?.findIndex((item) => item.type === "qi-design-system-v0" && (item.args?.[0] ?? "light") === "dark") ?? -1;
|
|
29646
|
+
const lightName = system.color?.palettes?.[lightIndex]?.name;
|
|
29647
|
+
const darkTheme = system.color?.palettes?.[darkIndex]?.name;
|
|
29648
|
+
const themeObject = {
|
|
29649
|
+
colors: genColor2(system.color),
|
|
29650
|
+
primaryColor: system.color?.palettes?.[0]?.name,
|
|
29651
|
+
primaryShade: lightIndex !== -1 && lightIndex < 2 || darkIndex !== -1 && darkIndex < 2 ? 7 : undefined
|
|
29652
|
+
};
|
|
29653
|
+
if (lightName && darkTheme) {
|
|
29654
|
+
return `import { createTheme } from "@mantine/core"
|
|
29655
|
+
|
|
29656
|
+
export const lightTheme = createTheme(${JSON.stringify({ ...themeObject, primaryColor: lightName }, null, 4)})
|
|
29657
|
+
|
|
29658
|
+
export const darkTheme = createTheme(${JSON.stringify({ ...themeObject, primaryColor: darkTheme }, null, 4)})
|
|
29659
|
+
|
|
29660
|
+
export default lightTheme
|
|
29661
|
+
`;
|
|
29662
|
+
} else {
|
|
29663
|
+
return `import { createTheme } from "@mantine/core"
|
|
29664
|
+
|
|
29665
|
+
export default createTheme(${JSON.stringify(themeObject, null, 4)})
|
|
29666
|
+
`;
|
|
29667
|
+
}
|
|
29668
|
+
}
|
|
29669
|
+
function genColor2(colorConfig) {
|
|
29670
|
+
const fullColorConfig = colorSchema().parse(colorConfig);
|
|
29671
|
+
const fullPalette = commonGenColorPalette(fullColorConfig.palettes ?? []);
|
|
29672
|
+
return fullPalette.reduce((acc, [name, data]) => {
|
|
29673
|
+
acc[name] = data.palette;
|
|
29674
|
+
return acc;
|
|
29675
|
+
}, {});
|
|
29676
|
+
}
|
|
29677
|
+
|
|
29678
|
+
// src/cli/generate.ts
|
|
29527
29679
|
async function emitFile(filePath, content) {
|
|
29528
|
-
await import_promises2.default.writeFile(filePath,
|
|
29680
|
+
await import_promises2.default.writeFile(filePath, content).then(() => {
|
|
29529
29681
|
console.log(`✅ Generated at '${filePath}'`);
|
|
29530
29682
|
}).catch((err) => {
|
|
29531
29683
|
console.log(`❌ Generate failed at '${filePath}', caused by '${err}'`);
|
|
@@ -29542,10 +29694,14 @@ async function generateContent(configPath) {
|
|
|
29542
29694
|
return;
|
|
29543
29695
|
const system = designSystemCliSchema().parse(JSON.parse((await file2.readFile()).toString()) ?? {});
|
|
29544
29696
|
await file2.close();
|
|
29545
|
-
|
|
29546
|
-
|
|
29547
|
-
|
|
29548
|
-
|
|
29697
|
+
for (let output2 of system.output ?? []) {
|
|
29698
|
+
if (output2.type === "tailwind-v4") {
|
|
29699
|
+
const result = await formatCode(genTailwindV4(system));
|
|
29700
|
+
await emitFile(output2.path, result);
|
|
29701
|
+
} else if (output2.type === "mantine") {
|
|
29702
|
+
const result = genMantine(system);
|
|
29703
|
+
await emitFile(output2.path, result);
|
|
29704
|
+
}
|
|
29549
29705
|
}
|
|
29550
29706
|
}
|
|
29551
29707
|
|
package/dist/cli/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qiqi1996/design-system","version":"0.0.
|
|
1
|
+
{"name":"@qiqi1996/design-system","description":"Describe the design system once and output multiple framework configs (Tailwind, Chakra UI, Ant Design, etc.) | 描述一次设计系统, 输出多套框架配置。","version":"0.0.3","module":"index.ts","type":"commonjs","publishConfig":{"access":"public"},"license":"MIT","repository":{"type":"git","url":"https://github.com/qiqi-1996/qi-design-system"},"scripts":{"dev":"bun run vite","build:schema":"bun run ./src/build-schema.ts","build:cli":"bun build ./src/cli/index.ts --format cjs --target node --banner '#!/usr/bin/env node' --outfile ./dist/cli/main && bun run ./src/build-cli.ts","build:docs":"bun run vite build","build":"del dist && make-dir dist && bun run build:schema && bun run build:cli && bun run build:docs","generate":"bun run src/cli/index.ts"},"files":["./dist/cli","./dist/*.json"],"bin":{"qi-design-system":"./dist/cli/main"},"devDependencies":{"@mdx-js/react":"^3.1.1","@mdx-js/rollup":"^3.1.1","@types/bun":"latest","@types/lodash":"^4.17.20","@types/mdx":"^2.0.13","@types/node":"^24.8.1","del-cli":"^7.0.0","make-dir-cli":"^4.0.0","prettier-plugin-tailwindcss":"^0.7.1","vite-plugin-pages":"^0.33.1"},"dependencies":{"@ant-design/colors":"^7.2.1","@mantine/core":"^8.3.5","@mantine/hooks":"^8.3.5","@tailwindcss/vite":"^4.1.13","@types/react":"^19.1.10","@types/react-dom":"^19.1.7","@vitejs/plugin-react-swc":"^4.0.0","ahooks":"^3.9.5","classnames":"^2.5.1","globals":"^16.3.0","i18next":"^25.6.0","i18next-browser-languagedetector":"^8.2.0","immer":"^10.2.0","lodash":"^4.17.21","package-directory":"^8.1.0","prettier":"^3.6.2","react":"^19.1.1","react-dom":"^19.1.1","react-i18next":"^16.0.1","react-icons":"^5.5.0","react-json-view-lite":"^2.5.0","react-router-dom":"^7.9.4","save-file":"^2.3.1","tailwindcss":"^4.1.13","ts-essentials":"^10.1.1","typescript":"~5.8.3","vite":"^7.1.2","zod":"^4.1.12"}}
|
package/dist/schema-en.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"$schema":{"type":"string"},"output":{"title":"输出配置","type":"object","propertyNames":{"anyOf":[{"type":"string","const":"tailwind-v4"}]},"additionalProperties":{"title":"文件输出位置","type":"string"}},"color":{"title":"Define Color System","default":{"palettes":[]},"type":"object","properties":{"palettes":{"title":"Define Color System","type":"array","items":{"default":{"type":"ant-design","name":"","base":"#212121","args":[]},"anyOf":[{"type":"object","properties":{"type":{"title":"schema.color.type.title","description":"schema.color.type.desc","default":"ant-design","anyOf":[{"type":"string","const":"ant-design"}]},"name":{"title":"Color Name","description":"Supports input of any CSS color value, but not all frameworks may support it. For example: Tailwind v3 does not support oklch","type":"string"},"base":{"title":"Base Color","description":"Supports input of any CSS color value, but not all frameworks may support it. For example: Tailwind v3 does not support oklch","default":"#212121","type":"string"},"args":{"title":"Color Palette Generation Algorithm Parameter Tuple","default":[],"type":"array","items":{}}},"required":["name"]}]}},"semantic":{"title":"common.semantic","description":"schema.color.semantic.desc","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"default":{"title":"配色模式:默认","default":{"type":"chakra","default":"100","solid":"100","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]},"dark":{"title":"配色模式:暗黑模式","default":{"type":"chakra","default":"600","solid":"600","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]}}}}}},"space":{"title":"schema.space.title","description":"schema.space.desc","default":{"base":8,"unit":"px"},"type":"object","properties":{"base":{"title":"schema.space.title","description":"schema.space.base.desc","default":8,"type":"number"},"unit":{"title":"schema.space.unit.title","description":"schema.space.unit.desc","default":"px","type":"string"}}},"font":{"title":"字体字号","type":"object","properties":{"size":{"title":"schema.font.size.title","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"common.semantic","desc":"schema.font.size.semantic-desc","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}}},"lineHeight":{"title":"schema.font.line-height.title","default":{"semantic":{},"auto":{"value":4,"range":[0,3]}},"type":"object","properties":{"semantic":{"title":"common.semantic","description":"schema.font.line-height.semantic-desc","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"auto":{"title":"schema.font.line-height.auto.title","type":"object","properties":{"value":{"title":"schema.font.line-height.auto.value","description":"schema.font.line-height.auto.value-desc","type":"number"},"range":{"title":"schema.font.line-height.auto.range","description":"schema.font.line-height.auto.range-desc","default":[0,3],"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}}}},"weight":{"title":"schema.font.weight.title","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"common.semantic","description":"schema.font.weight.semantic-desc","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":""}]}}}},"disableDefault":{"title":"common.disable-default","description":"common.disable-default-desc","default":true,"type":"boolean"}}}}}
|
|
1
|
+
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"$schema":{"type":"string"},"output":{"title":"输出配置","type":"array","items":{"type":"object","properties":{"type":{"title":"输出类型","description":"例如:./src","anyOf":[{"type":"string","const":"tailwind-v4"},{"type":"string","const":"mantine"}]},"path":{"title":"输出位置","description":"例如:./src/theme.css","type":"string"}},"required":["type","path"]}},"color":{"title":"Define Color System","default":{"palettes":[]},"type":"object","properties":{"palettes":{"title":"Define Color System","description":"Note the order: the first color will be used as the primary color.","type":"array","items":{"default":{"type":"ant-design","name":"","base":"#212121","args":[]},"anyOf":[{"type":"object","properties":{"type":{"title":"Color Harmony","description":"The method used to generate the color palette","default":"qi-design-system-v0","anyOf":[{"type":"string","const":"ant-design"},{"type":"string","const":"qi-design-system-v0"}]},"name":{"title":"Color Name","description":"Supports any CSS color value input, but not all frameworks may support it. For example: Tailwind v3 does not support oklch","type":"string"},"base":{"title":"Base Color","description":"Supports any CSS color value input, but not all frameworks may support it. For example: Tailwind v3 does not support oklch","default":"#212121","type":"string"},"args":{"title":"Color Palette Generation Algorithm Parameter Tuple","default":[],"type":"array","items":{}}},"required":["name"]}]}},"semantic":{"title":"Semantic","description":"Define color semantic names and color relationships (e.g.: The default brand color is the 600th color of the primary palette (bg-brand-solid), { brand: { default: { solid: \"primary-600\" } } })","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"default":{"title":"配色模式:默认","default":{"type":"chakra","default":"100","solid":"100","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]},"dark":{"title":"配色模式:暗黑模式","default":{"type":"chakra","default":"600","solid":"600","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]}}}}}},"space":{"title":"Define Space System","description":"Establish an ordered visual hierarchy and information association in the interface by defining unified spacing rules.","default":{"base":8,"unit":"px"},"type":"object","properties":{"base":{"title":"Define Space System","description":"Example: 4, 8, 10, etc.","default":8,"type":"number"},"unit":{"title":"Value Unit","description":"Example: px, rem, etc.","default":"px","type":"string"}}},"font":{"title":"字体字号","type":"object","properties":{"size":{"title":"Font Size","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"Semantic","desc":"Semantically name font sizes. Example: footnote=12px, text=14px, title=24px, etc.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}}},"lineHeight":{"title":"Line Height","default":{"semantic":{},"auto":{"value":4,"range":[0,3]}},"type":"object","properties":{"semantic":{"title":"Semantic","description":"It is recommended to keep consistency with font size semantics.\nExample: If the font size definition includes { \"title\": \"24px\" },\nthe corresponding line height semantic definition should be { \"title-xs\": \"24px\", \"title-sm\": \"28px\", \"title-md\": \"32px\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"auto":{"title":"Automatically Generate Line Height Based on Font Size","type":"object","properties":{"value":{"title":"Incremental Value","description":"Example: For a base font size of 14px and an incremental value of 4, the line heights generated will be 14px, 18px, 22px","type":"number"},"range":{"title":"Generation Range","description":"Example: [0, 2] means based on the font size (14px) and incremental value (4), generate line heights from 14 + (4 * 0) to 14 + (4 * 2), and match the semantic names in sequence: text-xs: 14px; text-sm: 18px; text-md: 22px;","default":[0,3],"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}}}},"weight":{"title":"Font Weight","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"Semantic","description":"It is recommended to keep consistency with font size semantics.\nExample: If the font size definition includes { \"text\": \"14px\", \"title\": \"24px\" },\nthe corresponding font weight semantic definition should be { \"text\": \"400\", \"title\": \"700\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":""}]}}}},"disableDefault":{"title":"Disable Default Styles","description":"Example: Remove default theme definitions like --text-md in Tailwind","default":true,"type":"boolean"}}}}}
|
package/dist/schema-zh.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"$schema":{"type":"string"},"output":{"title":"输出配置","type":"object","propertyNames":{"anyOf":[{"type":"string","const":"tailwind-v4"}]},"additionalProperties":{"title":"文件输出位置","type":"string"}},"color":{"title":"定义颜色系统","default":{"palettes":[]},"type":"object","properties":{"palettes":{"title":"定义颜色系统","type":"array","items":{"default":{"type":"ant-design","name":"","base":"#212121","args":[]},"anyOf":[{"type":"object","properties":{"type":{"title":"色彩调和","description":"使用何种方法生成色板","default":"ant-design","anyOf":[{"type":"string","const":"ant-design"}]},"name":{"title":"颜色名称","description":"支持输入任意 CSS 颜色值,但未必所有框架均能支持,比如:Tailwind v3 不支持 oklch","type":"string"},"base":{"title":"基本颜色","description":"支持输入任意 CSS 颜色值,但未必所有框架均能支持,比如:Tailwind v3 不支持 oklch","default":"#212121","type":"string"},"args":{"title":"色板生成算法参数元组","default":[],"type":"array","items":{}}},"required":["name"]}]}},"semantic":{"title":"语义化","description":"定义颜色语义名称和颜色关系(如:品牌色默认颜色为主色板的600号色(bg-brand-solid),{ brand: { default: { solid: \"primary-600\" } } })","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"default":{"title":"配色模式:默认","default":{"type":"chakra","default":"100","solid":"100","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]},"dark":{"title":"配色模式:暗黑模式","default":{"type":"chakra","default":"600","solid":"600","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]}}}}}},"space":{"title":"定义空间系统","description":"通过定义统一的间距规则,在界面中建立有序的视觉层次与信息关联。","default":{"base":8,"unit":"px"},"type":"object","properties":{"base":{"title":"定义空间系统","description":"例如:4、8、10 等。","default":8,"type":"number"},"unit":{"title":"数值单位","description":"例如:px, rem 等。","default":"px","type":"string"}}},"font":{"title":"字体字号","type":"object","properties":{"size":{"title":"字号","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"语义化","desc":"为字号进行语义化命名,例如:footnote=12px, text=14px, title=24px, etc.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}}},"lineHeight":{"title":"行高","default":{"semantic":{},"auto":{"value":4,"range":[0,3]}},"type":"object","properties":{"semantic":{"title":"语义化","description":"推荐和字号语义保持一致,\n例如:字号定义中有 { \"title\": \"24px\" },\n则对应的行高语义定义应该为 { \"title-xs\": \"24px\", \"title-sm\": \"28px\", \"title-md\": \"32px\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"auto":{"title":"根据字号自动生成行高","type":"object","properties":{"value":{"title":"递增数值","description":"例如:基础字号 14px,递增数值 4 则行高会生成 14px、18px、22px","type":"number"},"range":{"title":"生成范围","description":"例如:[0, 2] 则表示基于字号(14px)和递增数值(4),生成从 14 + (4 * 0) 到 14 + (4 * 2) 的行高,并依次匹配语义名称:text-xs: 14px; text-sm: 18px; text-md: 22px;","default":[0,3],"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}}}},"weight":{"title":"字重","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"语义化","description":"推荐和字号语义保持一致,\n例如:字号定义中有 { \"text\": \"14px\", \"title\": \"24px\" },\n则对应的字重语义定义应该为 { \"text\": \"400\", \"title\": \"700\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":""}]}}}},"disableDefault":{"title":"禁用默认样式","description":"例如:移除 tailwind 中默认的 --text-md 等主题定义","default":true,"type":"boolean"}}}}}
|
|
1
|
+
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"$schema":{"type":"string"},"output":{"title":"输出配置","type":"array","items":{"type":"object","properties":{"type":{"title":"输出类型","description":"例如:./src","anyOf":[{"type":"string","const":"tailwind-v4"},{"type":"string","const":"mantine"}]},"path":{"title":"输出位置","description":"例如:./src/theme.css","type":"string"}},"required":["type","path"]}},"color":{"title":"定义颜色系统","default":{"palettes":[]},"type":"object","properties":{"palettes":{"title":"定义颜色系统","description":"注意顺序,将使用第一个颜色作为主色","type":"array","items":{"default":{"type":"ant-design","name":"","base":"#212121","args":[]},"anyOf":[{"type":"object","properties":{"type":{"title":"色彩调和","description":"使用何种方法生成色板","default":"qi-design-system-v0","anyOf":[{"type":"string","const":"ant-design"},{"type":"string","const":"qi-design-system-v0"}]},"name":{"title":"颜色名称","description":"支持输入任意 CSS 颜色值,但未必所有框架均能支持,比如:Tailwind v3 不支持 oklch","type":"string"},"base":{"title":"基本颜色","description":"支持输入任意 CSS 颜色值,但未必所有框架均能支持,比如:Tailwind v3 不支持 oklch","default":"#212121","type":"string"},"args":{"title":"色板生成算法参数元组","default":[],"type":"array","items":{}}},"required":["name"]}]}},"semantic":{"title":"语义化","description":"定义颜色语义名称和颜色关系(如:品牌色默认颜色为主色板的600号色(bg-brand-solid),{ brand: { default: { solid: \"primary-600\" } } })","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"default":{"title":"配色模式:默认","default":{"type":"chakra","default":"100","solid":"100","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]},"dark":{"title":"配色模式:暗黑模式","default":{"type":"chakra","default":"600","solid":"600","contrast":"100","fg":"200","muted":"300","subtle":"400","emphasized":"500"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"chakra"},"default":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"solid":{"title":"The bold fill color of the color.","default":"600","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"contrast":{"title":"The text color that goes on solid color.","default":"100","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"fg":{"title":"The foreground color used for text, icons, etc.","default":"200","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"muted":{"title":"The muted color of the color.","default":"300","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"subtle":{"title":"The subtle color of the color.","default":"400","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]},"emphasized":{"title":"The emphasized version of the subtle color.","default":"500","anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"default":{"anyOf":[{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":"1000"}]},{"type":"string"}]}},"required":["type"],"additionalProperties":{}}]}}}}}},"space":{"title":"定义空间系统","description":"通过定义统一的间距规则,在界面中建立有序的视觉层次与信息关联。","default":{"base":8,"unit":"px"},"type":"object","properties":{"base":{"title":"定义空间系统","description":"例如:4、8、10 等。","default":8,"type":"number"},"unit":{"title":"数值单位","description":"例如:px, rem 等。","default":"px","type":"string"}}},"font":{"title":"字体字号","type":"object","properties":{"size":{"title":"字号","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"语义化","desc":"为字号进行语义化命名,例如:footnote=12px, text=14px, title=24px, etc.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}}},"lineHeight":{"title":"行高","default":{"semantic":{},"auto":{"value":4,"range":[0,3]}},"type":"object","properties":{"semantic":{"title":"语义化","description":"推荐和字号语义保持一致,\n例如:字号定义中有 { \"title\": \"24px\" },\n则对应的行高语义定义应该为 { \"title-xs\": \"24px\", \"title-sm\": \"28px\", \"title-md\": \"32px\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"auto":{"title":"根据字号自动生成行高","type":"object","properties":{"value":{"title":"递增数值","description":"例如:基础字号 14px,递增数值 4 则行高会生成 14px、18px、22px","type":"number"},"range":{"title":"生成范围","description":"例如:[0, 2] 则表示基于字号(14px)和递增数值(4),生成从 14 + (4 * 0) 到 14 + (4 * 2) 的行高,并依次匹配语义名称:text-xs: 14px; text-sm: 18px; text-md: 22px;","default":[0,3],"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}}}},"weight":{"title":"字重","default":{"semantic":{}},"type":"object","properties":{"semantic":{"title":"语义化","description":"推荐和字号语义保持一致,\n例如:字号定义中有 { \"text\": \"14px\", \"title\": \"24px\" },\n则对应的字重语义定义应该为 { \"text\": \"400\", \"title\": \"700\" }","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string","const":"100"},{"type":"string","const":"200"},{"type":"string","const":"300"},{"type":"string","const":"400"},{"type":"string","const":"500"},{"type":"string","const":"600"},{"type":"string","const":"700"},{"type":"string","const":"800"},{"type":"string","const":"900"},{"type":"string","const":""}]}}}},"disableDefault":{"title":"禁用默认样式","description":"例如:移除 tailwind 中默认的 --text-md 等主题定义","default":true,"type":"boolean"}}}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qiqi1996/design-system",
|
|
3
|
-
"
|
|
3
|
+
"description": "Describe the design system once and output multiple framework configs (Tailwind, Chakra UI, Ant Design, etc.) | 描述一次设计系统, 输出多套框架配置。",
|
|
4
|
+
"version": "0.0.3",
|
|
4
5
|
"module": "index.ts",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"publishConfig": {
|
|
@@ -27,8 +28,11 @@
|
|
|
27
28
|
"qi-design-system": "./dist/cli/main"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
31
|
+
"@mdx-js/react": "^3.1.1",
|
|
32
|
+
"@mdx-js/rollup": "^3.1.1",
|
|
30
33
|
"@types/bun": "latest",
|
|
31
34
|
"@types/lodash": "^4.17.20",
|
|
35
|
+
"@types/mdx": "^2.0.13",
|
|
32
36
|
"@types/node": "^24.8.1",
|
|
33
37
|
"del-cli": "^7.0.0",
|
|
34
38
|
"make-dir-cli": "^4.0.0",
|
package/README.zh-CN.md
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# Qi Design System
|
|
2
|
-
|
|
3
|
-
使用统一的配置文件去描述设计系统, 然后自动生成到 Tailwind、Chakra UI 等等 UI 框架的配置。
|
|
4
|
-
|
|
5
|
-
Languages: [中文](./README.zh-CN.md) | [English](./README.md)
|
|
6
|
-
|
|
7
|
-
## 快速上手
|
|
8
|
-
|
|
9
|
-
1. 安装
|
|
10
|
-
- `npm install -D @qiqi1996/design-system`
|
|
11
|
-
- `pnpm install -D @qiqi1996/design-system`
|
|
12
|
-
- `bun add -D @qiqi1996/design-system`
|
|
13
|
-
2. 创建 `design-system.json`
|
|
14
|
-
- 注意:
|
|
15
|
-
- 你可以将 `$schema` 改为 `schema-zh.json` 或 `schema-en.json` 以查看多语言的 JSON 字段注释。(目前支持:中文、英语)
|
|
16
|
-
- 以下示例为:定义了 8px 的空间系统,和基于 Ant Design 的色板算法生成 品牌色(克莱因蓝) 色板,并将此色板应用到了 Chakra UI 的语义化命名。此设计系统配置将生成 Tailwind V4 版本的配置到 `./src-doc/src/theme.css` 文件中。
|
|
17
|
-
```json
|
|
18
|
-
{
|
|
19
|
-
"$schema": "./node_modules/@qiqi1996/design-system/schema-zh.json",
|
|
20
|
-
"output": {
|
|
21
|
-
"tailwind-v4": "./src-doc/src/theme.css"
|
|
22
|
-
},
|
|
23
|
-
"space": {
|
|
24
|
-
"base": 8,
|
|
25
|
-
"unit": "px"
|
|
26
|
-
},
|
|
27
|
-
"color": {
|
|
28
|
-
"palettes": [
|
|
29
|
-
{
|
|
30
|
-
"type": "monochromatic",
|
|
31
|
-
"name": "brand",
|
|
32
|
-
"base": "#002FA7"
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
"semantic": {
|
|
36
|
-
"primary": {
|
|
37
|
-
"default": {
|
|
38
|
-
"solid": "brand-600"
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
3. 执行生成:qi-design-system --config /path/to/your/design-system.json
|
|
46
|
-
|
|
47
|
-
## 特性和计划
|
|
48
|
-
|
|
49
|
-
### 颜色系统定义
|
|
50
|
-
|
|
51
|
-
- [ ] 颜色系统
|
|
52
|
-
- [ ] 单色色板生成
|
|
53
|
-
- [x] Ant Design Color
|
|
54
|
-
- [ ] Mantine Colors Generator
|
|
55
|
-
- [ ] 三元群配色方案
|
|
56
|
-
- [x] 语义化(基于 Chakra UI Semantic 定义)
|
|
57
|
-
- [ ] 暗黑模式
|
|
58
|
-
- [ ] 字体系统
|
|
59
|
-
- [x] 字号(仅语义化定义)
|
|
60
|
-
- [x] 行高
|
|
61
|
-
- [x] 线性自动生成
|
|
62
|
-
- [x] 字重(仅语义化定义)
|
|
63
|
-
- [x] 空间系统
|
|
64
|
-
- [ ] 圆角
|
|
65
|
-
- [ ] 阴影
|
|
66
|
-
|
|
67
|
-
### 内置配置生成器
|
|
68
|
-
|
|
69
|
-
- [x] Talwind V4
|
|
70
|
-
- [ ] Talwind V3
|
|
71
|
-
- [ ] Ant Design
|
|
72
|
-
- [ ] Chakra UI
|
|
73
|
-
- [ ] Mantine
|
|
74
|
-
|
|
75
|
-
## 贡献
|
|
76
|
-
|
|
77
|
-
* 需要 Bun 运行环境(v1.3.0+)
|