This commit is contained in:
2026-06-08 13:04:13 +08:00
parent f2d8ad0de2
commit 542615a941
8 changed files with 144 additions and 98 deletions

View File

@@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] {
return exports; return exports;
} }
function genIndexFile(config: Config) { async function genIndexFile(config: Config) {
// 确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
const allExports: string[] = []; const allExports: string[] = [];
// 遍历所有需要扫描的根目录 // 遍历所有需要扫描的根目录
@@ -235,6 +230,11 @@ function genIndexFile(config: Config) {
...Array.from(new Set(allExports)), ...Array.from(new Set(allExports)),
].join("\n"); ].join("\n");
// 写入之前,确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
// 将内容写入到最终的 index.ts 文件中 // 将内容写入到最终的 index.ts 文件中
const outputFilePath = path.join(config.outputDir, config.outputFile); const outputFilePath = path.join(config.outputDir, config.outputFile);
fs.writeFileSync(outputFilePath, fileContent, "utf-8"); fs.writeFileSync(outputFilePath, fileContent, "utf-8");
@@ -245,8 +245,8 @@ function genIndexFile(config: Config) {
// ================= 脚本执行入口 ================= // ================= 脚本执行入口 =================
try { try {
console.log("🚀 开始扫描并生成入口文件..."); console.log("🚀 开始扫描并生成入口文件...");
genIndexFile(tsConfig); await genIndexFile(cssConfig);
genIndexFile(cssConfig); await genIndexFile(tsConfig);
console.log("✅ 脚本执行完毕!"); console.log("✅ 脚本执行完毕!");
} catch (error) { } catch (error) {
console.error("❌ 脚本执行失败:", error); console.error("❌ 脚本执行失败:", error);

View File

@@ -1,36 +1,36 @@
@import './styles/base/root'; @import "./styles/base/root";
@import './styles/utility/size-insensitive/align-content'; @import "./styles/utility/size-insensitive/align-content";
@import './styles/utility/size-insensitive/align-items'; @import "./styles/utility/size-insensitive/align-items";
@import './styles/utility/size-insensitive/align-self'; @import "./styles/utility/size-insensitive/align-self";
@import './styles/utility/size-insensitive/animation'; @import "./styles/utility/size-insensitive/animation";
@import './styles/utility/size-insensitive/box-decoration'; @import "./styles/utility/size-insensitive/box-decoration";
@import './styles/utility/size-insensitive/box-inside'; @import "./styles/utility/size-insensitive/box-inside";
@import './styles/utility/size-insensitive/box-sizing'; @import "./styles/utility/size-insensitive/box-sizing";
@import './styles/utility/size-insensitive/brand'; @import "./styles/utility/size-insensitive/brand";
@import './styles/utility/size-insensitive/break-after'; @import "./styles/utility/size-insensitive/break-after";
@import './styles/utility/size-insensitive/break-before'; @import "./styles/utility/size-insensitive/break-before";
@import './styles/utility/size-insensitive/cursor'; @import "./styles/utility/size-insensitive/cursor";
@import './styles/utility/size-insensitive/display'; @import "./styles/utility/size-insensitive/display";
@import './styles/utility/size-insensitive/drop-shadow'; @import "./styles/utility/size-insensitive/drop-shadow";
@import './styles/utility/size-insensitive/flex-direction'; @import "./styles/utility/size-insensitive/flex-direction";
@import './styles/utility/size-insensitive/flex-wrap'; @import "./styles/utility/size-insensitive/flex-wrap";
@import './styles/utility/size-insensitive/font-family'; @import "./styles/utility/size-insensitive/font-family";
@import './styles/utility/size-insensitive/justify-content'; @import "./styles/utility/size-insensitive/justify-content";
@import './styles/utility/size-insensitive/justify-items'; @import "./styles/utility/size-insensitive/justify-items";
@import './styles/utility/size-insensitive/justify-self'; @import "./styles/utility/size-insensitive/justify-self";
@import './styles/utility/size-insensitive/overflow'; @import "./styles/utility/size-insensitive/overflow";
@import './styles/utility/size-insensitive/overscroll-behavior'; @import "./styles/utility/size-insensitive/overscroll-behavior";
@import './styles/utility/size-insensitive/position'; @import "./styles/utility/size-insensitive/position";
@import './styles/utility/size-insensitive/screen-reader'; @import "./styles/utility/size-insensitive/screen-reader";
@import './styles/utility/size-insensitive/theme'; @import "./styles/utility/size-insensitive/theme";
@import './styles/utility/size-insensitive/user-select'; @import "./styles/utility/size-insensitive/user-select";
@import './styles/utility/size-insensitive/variant'; @import "./styles/utility/size-insensitive/variant";
@import './styles/utility/size-insensitive/z-index'; @import "./styles/utility/size-insensitive/z-index";
@import './styles/utility/size-sensitive/border-radius'; @import "./styles/utility/size-sensitive/border-radius";
@import './styles/utility/size-sensitive/font-size'; @import "./styles/utility/size-sensitive/font-size";
@import './styles/utility/size-sensitive/font-weight'; @import "./styles/utility/size-sensitive/font-weight";
@import './styles/utility/size-sensitive/gap'; @import "./styles/utility/size-sensitive/gap";
@import './styles/utility/size-sensitive/height'; @import "./styles/utility/size-sensitive/height";
@import './styles/utility/size-sensitive/margin'; @import "./styles/utility/size-sensitive/margin";
@import './styles/utility/size-sensitive/padding'; @import "./styles/utility/size-sensitive/padding";
@import './styles/utility/size-sensitive/width'; @import "./styles/utility/size-sensitive/width";

View File

@@ -1,7 +1,7 @@
import './index.css'; import "./index.css";
export * from './recipes/brandRecipe'; export * from "./recipes/brandRecipe";
export * from './recipes/inlineSizeRecipe'; export * from "./recipes/inlineSizeRecipe";
export * from './recipes/itemSizeRecipe'; export * from "./recipes/itemSizeRecipe";
export * from './recipes/variantRecipe'; export * from "./recipes/variantRecipe";
export * from './styles/utils/cpm'; export * from "./styles/utils/cpm";
export * from './styles/utils/cvr'; export * from "./styles/utils/cvr";

View File

@@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] {
return exports; return exports;
} }
function genIndexFile(config: Config) { async function genIndexFile(config: Config) {
// 确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
const allExports: string[] = []; const allExports: string[] = [];
// 遍历所有需要扫描的根目录 // 遍历所有需要扫描的根目录
@@ -235,6 +230,11 @@ function genIndexFile(config: Config) {
...Array.from(new Set(allExports)), ...Array.from(new Set(allExports)),
].join("\n"); ].join("\n");
// 写入之前,确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
// 将内容写入到最终的 index.ts 文件中 // 将内容写入到最终的 index.ts 文件中
const outputFilePath = path.join(config.outputDir, config.outputFile); const outputFilePath = path.join(config.outputDir, config.outputFile);
fs.writeFileSync(outputFilePath, fileContent, "utf-8"); fs.writeFileSync(outputFilePath, fileContent, "utf-8");
@@ -245,8 +245,8 @@ function genIndexFile(config: Config) {
// ================= 脚本执行入口 ================= // ================= 脚本执行入口 =================
try { try {
console.log("🚀 开始扫描并生成入口文件..."); console.log("🚀 开始扫描并生成入口文件...");
genIndexFile(tsConfig); await genIndexFile(cssConfig);
genIndexFile(cssConfig); await genIndexFile(tsConfig);
console.log("✅ 脚本执行完毕!"); console.log("✅ 脚本执行完毕!");
} catch (error) { } catch (error) {
console.error("❌ 脚本执行失败:", error); console.error("❌ 脚本执行失败:", error);

View File

@@ -1,29 +1,29 @@
import './index.css'; import "./index.css";
export * from './assets/svg/BoldSvg'; export * from "./assets/svg/BoldSvg";
export * from './assets/svg/CheckIndicatorSvg'; export * from "./assets/svg/CheckIndicatorSvg";
export * from './assets/svg/ChevronRightSvg'; export * from "./assets/svg/ChevronRightSvg";
export * from './assets/svg/CutSvg'; export * from "./assets/svg/CutSvg";
export * from './assets/svg/DownloadSvg'; export * from "./assets/svg/DownloadSvg";
export * from './assets/svg/FileSvg'; export * from "./assets/svg/FileSvg";
export * from './assets/svg/KeySvg'; export * from "./assets/svg/KeySvg";
export * from './assets/svg/MeshSvg'; export * from "./assets/svg/MeshSvg";
export * from './assets/svg/MoonSvg'; export * from "./assets/svg/MoonSvg";
export * from './assets/svg/PasteSvg'; export * from "./assets/svg/PasteSvg";
export * from './assets/svg/Ruler'; export * from "./assets/svg/Ruler";
export * from './assets/svg/SearchSvg'; export * from "./assets/svg/SearchSvg";
export * from './assets/svg/SettingSvg'; export * from "./assets/svg/SettingSvg";
export * from './assets/svg/SpinnerSvg'; export * from "./assets/svg/SpinnerSvg";
export * from './assets/svg/SunSvg'; export * from "./assets/svg/SunSvg";
export * from './assets/svg/UserSvg'; export * from "./assets/svg/UserSvg";
export * from './assets/svg/VolumeHighSvg'; export * from "./assets/svg/VolumeHighSvg";
export * from './assets/svg/VolumeLowSvg'; export * from "./assets/svg/VolumeLowSvg";
export * from './assets/svg/VolumeMuteSvg'; export * from "./assets/svg/VolumeMuteSvg";
export * from './componnets/button/index'; export * from "./componnets/button/index";
export * from './componnets/button/ButtonIcon'; export * from "./componnets/button/ButtonIcon";
export * from './componnets/button/ButtonLoading'; export * from "./componnets/button/ButtonLoading";
export * from './componnets/button/ButtonRoot'; export * from "./componnets/button/ButtonRoot";
export * from './componnets/button/common/ButtonContext'; export * from "./componnets/button/common/ButtonContext";
export * from './utils/mergeProps'; export * from "./utils/mergeProps";
export * from './utils/Slot'; export * from "./utils/Slot";
export * from './utils/useDefaultedProps'; export * from "./utils/useDefaultedProps";
export * from './utils/useSlotRegistry'; export * from "./utils/useSlotRegistry";

View File

@@ -6,11 +6,57 @@ export const ButtonGallery = () => {
return ( return (
<OW> <OW>
<IW> <IW>
<Button.Root> <Button.Root size="xs">XSmall</Button.Root>
<Button.Root size="xs">
<Button.Icon> <Button.Icon>
<DownloadSvg /> <DownloadSvg />
</Button.Icon> </Button.Icon>
Default XSmall
</Button.Root>
<Button.Root size="xs" iconOnly>
XSmall
</Button.Root>
// ==============================================
<Button.Root size="sm">Small</Button.Root>
<Button.Root size="sm">
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Small
</Button.Root>
<Button.Root size="sm" iconOnly>
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Small
</Button.Root>
// ==============================================
<Button.Root size="md">Medium</Button.Root>
<Button.Root size="md">
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Medium
</Button.Root>
<Button.Root size="md" iconOnly>
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Medium
</Button.Root>
// ==============================================
<Button.Root size="lg">Large</Button.Root>
<Button.Root size="lg">
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Large
</Button.Root>
<Button.Root size="lg" iconOnly>
<Button.Icon>
<DownloadSvg />
</Button.Icon>
Large
</Button.Root> </Button.Root>
</IW> </IW>
</OW> </OW>

View File

@@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] {
return exports; return exports;
} }
function genIndexFile(config: Config) { async function genIndexFile(config: Config) {
// 确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
const allExports: string[] = []; const allExports: string[] = [];
// 遍历所有需要扫描的根目录 // 遍历所有需要扫描的根目录
@@ -235,6 +230,11 @@ function genIndexFile(config: Config) {
...Array.from(new Set(allExports)), ...Array.from(new Set(allExports)),
].join("\n"); ].join("\n");
// 写入之前,确保输出目录存在,如果不存在就递归创建
if (!fs.existsSync(config.outputDir)) {
fs.mkdirSync(config.outputDir, { recursive: true });
}
// 将内容写入到最终的 index.ts 文件中 // 将内容写入到最终的 index.ts 文件中
const outputFilePath = path.join(config.outputDir, config.outputFile); const outputFilePath = path.join(config.outputDir, config.outputFile);
fs.writeFileSync(outputFilePath, fileContent, "utf-8"); fs.writeFileSync(outputFilePath, fileContent, "utf-8");
@@ -245,8 +245,8 @@ function genIndexFile(config: Config) {
// ================= 脚本执行入口 ================= // ================= 脚本执行入口 =================
try { try {
console.log("🚀 开始扫描并生成入口文件..."); console.log("🚀 开始扫描并生成入口文件...");
genIndexFile(tsConfig); await genIndexFile(cssConfig);
genIndexFile(cssConfig); await genIndexFile(tsConfig);
console.log("✅ 脚本执行完毕!"); console.log("✅ 脚本执行完毕!");
} catch (error) { } catch (error) {
console.error("❌ 脚本执行失败:", error); console.error("❌ 脚本执行失败:", error);