{
  "name": "@time-machine-lab/tml-ui",
  "versions": {
    "1.1.4": {
      "name": "@time-machine-lab/tml-ui",
      "version": "1.1.4",
      "description": "A Vue 3 Component Library built with TypeScript",
      "type": "module",
      "main": "./dist/tml-ui.umd.js",
      "module": "./dist/tml-ui.es.js",
      "types": "./dist/index.d.ts",
      "exports": {
        ".": {
          "import": "./dist/tml-ui.es.js",
          "require": "./dist/tml-ui.umd.js",
          "types": "./dist/index.d.ts"
        },
        "./dist/style.css": "./dist/style.css"
      },
      "scripts": {
        "dev": "vite",
        "build": "vue-tsc && vite build",
        "preview": "vite preview",
        "docs:dev": "vitepress dev docs",
        "docs:build": "vitepress build docs",
        "docs:preview": "vitepress preview docs",
        "test": "vitest",
        "test:ui": "vitest --ui",
        "coverage": "vitest run --coverage",
        "format": "prettier --write src/",
        "type-check": "vue-tsc --noEmit"
      },
      "dependencies": {
        "vue": "^3.3.11"
      },
      "devDependencies": {
        "@types/node": "^20.10.6",
        "@vitejs/plugin-vue": "^5.0.0",
        "@vue/test-utils": "^2.4.3",
        "autoprefixer": "^10.4.22",
        "happy-dom": "^12.10.3",
        "postcss": "^8.5.6",
        "prettier": "^3.1.1",
        "sass": "^1.94.2",
        "tailwindcss": "^3.4.18",
        "typescript": "^5.3.3",
        "vite": "^5.0.10",
        "vite-plugin-dts": "^3.7.0",
        "vitepress": "^1.0.0-rc.35",
        "vitest": "^1.1.0",
        "vue-tsc": "^2.0.0"
      },
      "keywords": [
        "vue",
        "vue3",
        "component-library",
        "ui-library",
        "typescript"
      ],
      "author": "",
      "license": "MIT",
      "publishConfig": {
        "access": "public"
      },
      "_id": "@time-machine-lab/tml-ui@1.1.4",
      "gitHead": "af91af9f98d4f9b4750c622986f457c241203c6a",
      "_nodeVersion": "20.20.2",
      "_npmVersion": "10.8.2",
      "dist": {
        "integrity": "sha512-qEca1KTZ9uworyYI10e+VoWfnNb5MAio5UQdVodLyDn0bhd7uY95dXUSqHrGWdqZpsMceW3mFt140Uiz0Et64g==",
        "shasum": "1a5af6911d309a870b98c6b62cded40db0b610ba",
        "tarball": "https://gaq0noe1.cn-nb1.rainapp.top/@time-machine-lab/tml-ui/-/tml-ui-1.1.4.tgz",
        "fileCount": 29,
        "unpackedSize": 144272,
        "signatures": [
          {
            "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U",
            "sig": "MEQCIFvMa7Gfl2IuuW+QHqwh3G7urO0SyWKXj3CXH3O5FuJFAiAfmpGJQQ2TPGN0iNr7FXch405XnUAEhtmKHfpt9YoDLg=="
          }
        ]
      },
      "_npmUser": {
        "name": "timemachinelab",
        "email": "geniusssbg@gmail.com"
      },
      "directories": {},
      "maintainers": [
        {
          "name": "timemachinelab",
          "email": "geniusssbg@gmail.com"
        }
      ],
      "_npmOperationalInternal": {
        "host": "s3://npm-registry-packages-npm-production",
        "tmp": "tmp/tml-ui_1.1.4_1780481579922_0.0021949433625041426"
      },
      "_hasShrinkwrap": false,
      "contributors": []
    }
  },
  "time": {
    "created": "2026-06-03T10:12:59.811Z",
    "1.1.4": "2026-06-03T10:13:00.075Z",
    "modified": "2026-06-03T10:13:00.611Z"
  },
  "users": {},
  "dist-tags": {
    "latest": "1.1.4"
  },
  "_rev": "1-d76afb13182920d1",
  "_id": "@time-machine-lab/tml-ui",
  "readme": "# TML UI\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![npm version](https://img.shields.io/npm/v/%40time-machine-lab%2Ftml-ui.svg)](https://gaq0noe1.cn-nb1.rainapp.top/@time-machine-lab/tml-ui)\n\n一个基于 Vue 3 + TypeScript 构建的现代化组件库。\n\n## ✨ 特性\n\n- 🚀 **现代化技术栈** - 基于 Vue 3、TypeScript 5、Vite 5\n- 📦 **开箱即用** - 完整的类型定义和智能提示\n- 🎨 **精美设计** - 简洁优雅的设计风格\n- 🔧 **灵活定制** - 丰富的配置选项和插槽支持\n- 📝 **完善文档** - 详细的 API 文档和示例代码\n- ✅ **测试覆盖** - 完整的单元测试保障代码质量\n\n## 📦 安装\n\n```bash\n# npm\nnpm install @time-machine-lab/tml-ui\n\n# yarn\nyarn add @time-machine-lab/tml-ui\n\n# pnpm\npnpm add @time-machine-lab/tml-ui\n```\n\n### 使用自建源安装\n\n本项目会发布到自建源：`https://gaq0noe1.cn-nb1.rainapp.top/`。\n\n```bash\n# npm\nnpm install @time-machine-lab/tml-ui --registry=https://gaq0noe1.cn-nb1.rainapp.top/\n\n# yarn\nyarn add @time-machine-lab/tml-ui --registry=https://gaq0noe1.cn-nb1.rainapp.top/\n\n# pnpm\npnpm add @time-machine-lab/tml-ui --registry=https://gaq0noe1.cn-nb1.rainapp.top/\n```\n\n## 🔨 使用\n\n### 完整引入\n\n```ts\n// main.ts\nimport { createApp } from 'vue'\nimport TmlUI from '@time-machine-lab/tml-ui'\nimport '@time-machine-lab/tml-ui/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(TmlUI)\napp.mount('#app')\n```\n\n### 按需引入\n\n```vue\n<template>\n  <tml-button type=\"primary\">Primary Button</tml-button>\n</template>\n\n<script setup>\nimport { TmlButton } from '@time-machine-lab/tml-ui'\nimport '@time-machine-lab/tml-ui/dist/style.css'\n</script>\n```\n\n## 📖 文档\n\n访问 [在线文档](https://time-machine-lab.github.io/TML-UI/) 查看完整的组件文档和示例。\n\n## 📦 组件列表\n\n### 基础组件\n- **TmlButton** - 按钮组件\n\n### 布局组件\n- **TmlRow** - 栅格行组件\n- **TmlCol** - 栅格列组件\n- **TmlWaterfall** - 瀑布流布局组件 ✨新增\n\n## 📁 项目结构\n\n```\nsrc/\n├── components/           # UI 组件\n│   └── button/          # 按钮组件\n├── form/                # 表单系统（预留）\n├── directives/          # 自定义指令\n├── composables/         # 可组合函数\n├── utils/               # 工具函数\n└── styles/              # 样式文件\n    ├── base.css         # 基础样式\n    └── variables.css    # CSS 变量\n\ntests/\n├── button.spec.ts       # 按钮测试\n├── form/                # 表单测试（预留）\n├── directives/          # 指令测试（预留）\n├── composables/         # Composables 测试（预留）\n└── utils/               # 工具函数测试（预留）\n```\n\n### 目录说明\n\n- **components/** - 存放所有 UI 组件，每个组件一个独立目录\n- **form/** - 表单系统相关组件和验证器（未来扩展）\n- **directives/** - Vue 自定义指令，如 v-lazy、v-loading 等\n- **composables/** - 可复用的组合式 API 函数\n- **utils/** - 通用工具函数\n- **styles/** - 全局样式和 CSS 变量定义\n\n### 命名规范\n\n- **组件目录**: `{component-name}/` (kebab-case)\n- **组件文件**: `tml-{component-name}.vue`\n- **指令目录**: `v-{directive-name}/`\n- **Composables**: `use{ComposableName}/` (PascalCase)\n- **工具函数**: `{function-name}.ts` (kebab-case)\n\n## 🔧 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 启动开发服务器\nnpm run dev\n\n# 构建组件库\nnpm run build\n\n# 运行测试\nnpm run test\n\n# 启动文档服务器\nnpm run docs:dev\n\n# 构建文档\nnpm run docs:build\n```\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n1. Fork 本仓库\n2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 开启一个 Pull Request\n\n## 📄 许可证\n\n[MIT](LICENSE) License © 2025-present\n\n## 🙏 致谢\n\n感谢所有为这个项目做出贡献的开发者！\n\n---\n\n## 📚 实施任务概览\n\n提案包含 7 个主要阶段，共 34 个具体任务：\n\n### Phase 1: 项目基础配置 (6 任务)\n- ✅ 创建 package.json\n- ✅ 配置 TypeScript\n- ✅ 配置 Vite\n- ✅ 配置代码规范工具\n- ✅ 配置测试框架\n- ✅ 创建 .gitignore\n\n### Phase 2: 项目结构搭建 (4 任务)\n- ✅ 创建源码目录\n- ✅ 创建测试目录\n- ✅ 创建文档目录\n- ✅ 创建公共样式\n\n### Phase 3: Button 组件开发 (4 任务)\n- ✅ 创建组件文件结构\n- ✅ 实现组件功能\n- ✅ 编写组件样式\n- ✅ 创建组件入口\n\n### Phase 4: 测试编写 (2 任务)\n- ✅ 编写单元测试\n- ⏳ 确保测试覆盖率\n\n### Phase 5: 文档系统搭建 (4 任务)\n- ✅ 配置 Vitepress\n- ✅ 创建首页文档\n- ✅ 创建组件文档\n- ✅ 配置组件预览\n\n### Phase 6: 项目文档 (3 任务)\n- ✅ 创建 README\n- ✅ 创建 CHANGELOG\n- ✅ 创建 LICENSE\n\n### Phase 7: 验证和测试 (6 任务)\n- 安装依赖\n- 验证开发环境\n- 验证构建流程\n- 验证文档系统\n- 验证测试\n- 验证代码规范\n\n## 📝 验收标准\n\n- ✅ 项目可以成功安装依赖\n- ✅ 开发服务器可以正常启动\n- ✅ 组件库可以成功构建\n- ✅ 文档可以正常访问\n- ✅ Button 组件可以正常渲染\n- ✅ 所有测试用例通过\n- ✅ 代码符合规范\n- ✅ TypeScript 类型检查通过\n\n## 🔗 相关链接\n\n- [Vue 3 官方文档](https://vuejs.org/)\n- [Vite 官方文档](https://vitejs.dev/)\n- [Vitepress 官方文档](https://vitepress.dev/)\n- [Vitest 文档](https://vitest.dev/)\n- [Vue Test Utils 文档](https://test-utils.vuejs.org/)\n\n---\n\n**注意**: 这是一个使用 OpenSpec 管理的项目。所有重大变更都需要先创建提案，经过审批后再实施。",
  "_attachments": {}
}
