{
  "name": "@tml/tml-ui",
  "versions": {
    "1.1.0": {
      "name": "@tml/tml-ui",
      "version": "1.1.0",
      "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"
      },
      "files": [
        "dist"
      ],
      "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": "@tml/tml-ui@1.1.0",
      "readmeFilename": "README.md",
      "gitHead": "7851a7e09a1d5d3439f0041a7ac0c5b4f5756bda",
      "_nodeVersion": "20.19.6",
      "_npmVersion": "10.8.2",
      "dist": {
        "integrity": "sha512-DOp2y3JfhoG9Unr9BOmuIj+vSqxEOw2y3RKm8keZ87rjPRPAGjmz9vi4q2YTDjknK4p/0MYRFY7YN5HJvTjifw==",
        "shasum": "4589b564174da4f2e46705948f4a1e6a27e67b57",
        "tarball": "https://gaq0noe1.cn-nb1.rainapp.top/@tml/tml-ui/-/tml-ui-1.1.0.tgz"
      },
      "contributors": []
    },
    "1.1.1": {
      "name": "@tml/tml-ui",
      "version": "1.1.1",
      "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"
      },
      "files": [
        "dist"
      ],
      "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": "@tml/tml-ui@1.1.1",
      "readmeFilename": "README.md",
      "gitHead": "60e831d0be4265c59b5fc1b031c9633687eede5f",
      "_nodeVersion": "20.19.6",
      "_npmVersion": "10.8.2",
      "dist": {
        "integrity": "sha512-J9JOBEhul2BNIgLEAVEeHEVOYq1lDWL/ot4TBNgfBHWuhn/vqRweeLXfWd5riGr9g7pzi8uYnILk+QMSc4x5xA==",
        "shasum": "38c11e5739744333beeb9feb8ebf30882c242f8e",
        "tarball": "https://gaq0noe1.cn-nb1.rainapp.top/@tml/tml-ui/-/tml-ui-1.1.1.tgz"
      },
      "contributors": []
    },
    "1.1.2": {
      "name": "@tml/tml-ui",
      "version": "1.1.2",
      "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"
      },
      "files": [
        "dist"
      ],
      "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": "@tml/tml-ui@1.1.2",
      "readmeFilename": "README.md",
      "gitHead": "3ccc2d1d99892f54badb8d3053a0c58da185701d",
      "_nodeVersion": "20.19.6",
      "_npmVersion": "10.8.2",
      "dist": {
        "integrity": "sha512-HeFQURYAkQjoNixdWu/RG64I0oVNyqELbgQshD8gE4Ytr6/ltUtYK9edG9EHlsOC1U9tUwtwcJRjCiI2k06ODA==",
        "shasum": "a6250ea9c9c1e470ddbf0dd6bea62184a88356c9",
        "tarball": "https://gaq0noe1.cn-nb1.rainapp.top/@tml/tml-ui/-/tml-ui-1.1.2.tgz"
      },
      "contributors": []
    }
  },
  "time": {
    "modified": "2026-01-11T13:46:11.369Z",
    "created": "2025-12-20T07:50:37.457Z",
    "1.1.0": "2025-12-20T07:50:37.457Z",
    "1.1.1": "2026-01-04T12:53:56.436Z",
    "1.1.2": "2026-01-11T13:46:11.369Z"
  },
  "users": {},
  "dist-tags": {
    "latest": "1.1.2"
  },
  "_rev": "12-a847d554b743a301",
  "_id": "@tml/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/%40tml%2Ftml-ui.svg)](https://www.npmjs.com/package/@tml/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 @tml/tml-ui\n\n# yarn\nyarn add @tml/tml-ui\n\n# pnpm\npnpm add @tml/tml-ui\n```\n\n### 使用自建源安装\n\n本项目会发布到自建源：`https://gaq0noe1.cn-nb1.rainapp.top/`。\n\n```bash\n# npm\nnpm install @tml/tml-ui --registry=https://gaq0noe1.cn-nb1.rainapp.top/\n\n# yarn\nyarn add @tml/tml-ui --registry=https://gaq0noe1.cn-nb1.rainapp.top/\n\n# pnpm\npnpm add @tml/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 '@tml/tml-ui'\nimport '@tml/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 '@tml/tml-ui'\nimport '@tml/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": {}
}
