{"_id":"@daflow-ui/ui-tabs","_rev":"2-a0a530a6dd6816d80e752d57b873d6e5","name":"@daflow-ui/ui-tabs","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@daflow-ui/ui-tabs","version":"0.1.0","license":"MIT","_id":"@daflow-ui/ui-tabs@0.1.0","maintainers":[{"name":"cuiguojie","email":"cuiguojie@me.com"}],"dist":{"shasum":"29ac225a966c614e4e542ba196e8bfc94abf9518","tarball":"https://registry.npmjs.org/@daflow-ui/ui-tabs/-/ui-tabs-0.1.0.tgz","fileCount":9,"integrity":"sha512-unUMCzAoZJwJG1zLjYKTZNuLxVQjX1Ntk/xSX7U/0I3yd6yynU4/Ui6BDGLVF5NNH5wVWHNK3c1cS8KoRrzS2g==","signatures":[{"sig":"MEUCIQCT2Y2CBeFZKr55Tcz9EVBcicVdye/6zz8aLatXqqze3QIgIoZl3uLT8HOO8TOrpl4HiMeBpFRftcmdXsWFftDARfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14473},"main":"./dist/index.js","type":"module","_from":"file:daflow-ui-ui-tabs-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css"},"scripts":{"lint":"eslint .","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","lint:fix":"eslint . --fix","typecheck":"vue-tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"cuiguojie","email":"cuiguojie@me.com"},"_resolved":"/private/var/folders/vs/64py3jt92l966q_27tfst1xh0000gn/T/6902efb944abbed41495f956d61afc7a/daflow-ui-ui-tabs-0.1.0.tgz","_integrity":"sha512-unUMCzAoZJwJG1zLjYKTZNuLxVQjX1Ntk/xSX7U/0I3yd6yynU4/Ui6BDGLVF5NNH5wVWHNK3c1cS8KoRrzS2g==","_npmVersion":"10.9.2","description":"Tabs component for DaFlow UI","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.17.0","dependencies":{"@ark-ui/vue":"5.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.27","vite":"^7.3.1","eslint":"^9.39.2","vue-tsc":"^3.2.4","typescript":"^5.9.3","@types/node":"^22.10.5","sass-embedded":"^1.97.3","@vue/compiler-sfc":"^3.5.27","@vitejs/plugin-vue":"^6.0.3","vite-plugin-vue-devtools":"^8.0.5","@seemusic/eslint-config-vue3":"^2.0.0"},"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-tabs_0.1.0_1772534944553_0.4459163277177507","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-03T10:49:04.469Z","modified":"2026-03-05T04:11:17.099Z","0.1.0":"2026-03-03T10:49:04.682Z"},"license":"MIT","description":"Tabs component for DaFlow UI","maintainers":[{"email":"cuiguojie@me.com","name":"cuiguojie"},{"email":"xiaoxuan.chang@kanjian.com","name":"charicexxuan"}],"readme":"# @daflow-ui/ui-tabs\n\n基于 Ark UI 封装的 Tabs 组件（单体组件包），支持 v-model、lazy 加载、disabled 状态等功能。\n\n> 💡 单体组件设计：独立发布、按需升级，避免\"组件库\"的整体升级障碍\n\n## 📦 安装\n\n```bash\nnpm install @daflow-ui/ui-tabs\n# or\npnpm add @daflow-ui/ui-tabs\n```\n\n## 🚀 快速开始\n\n全局引入样式（在 `main.ts` 中）：\n\n```ts\nimport '@daflow-ui/ui-tabs/style.css'\n```\n\n在组件中使用：\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { DfTabs, DfTabPane } from '@daflow-ui/ui-tabs'\n\nconst active = ref('first')\n</script>\n\n<template>\n  <DfTabs v-model=\"active\">\n    <DfTabPane label=\"用户\" name=\"first\">用户内容</DfTabPane>\n    <DfTabPane label=\"配置\" name=\"second\" lazy>配置内容</DfTabPane>\n    <DfTabPane label=\"禁用\" name=\"disabled\" disabled>禁用内容</DfTabPane>\n  </DfTabs>\n</template>\n```\n\n## 📖 API\n\n### DfTabs Props\n\n| 属性 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| modelValue | `string \\| number` | - | 当前激活的 tab（支持 v-model） |\n| variant | `'underline'` | `'underline'` | 样式变体 |\n\n### DfTabs Emits\n\n| 事件 | 参数 | 说明 |\n|------|------|------|\n| update:modelValue | `(value: string \\| number)` | v-model 更新事件 |\n| tab-change | `(name: string \\| number)` | tab 切换时触发 |\n\n### DfTabPane Props\n\n| 属性 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| label | `string` | - | 标签文本（必填） |\n| name | `string \\| number` | - | 唯一标识符（必填） |\n| disabled | `boolean` | `false` | 是否禁用 |\n| lazy | `boolean` | `false` | 是否延迟渲染（首次激活时才渲染） |\n\n## 📝 文档\n\n### 组件文档（本仓库）\n- [COMPONENT_SPEC.md](./docs/COMPONENT_SPEC.md) - 完整的组件 API 规格\n- [DECISIONS.md](./docs/DECISIONS.md) - 设计决策记录\n- [INDICATOR_EXPLORATION.md](./docs/INDICATOR_EXPLORATION.md) - 技术探索细节\n\n### 开发规范\n本组件遵循 DaFlow UI 组件库的统一开发规范。\n\n> 📖 通用开发规范：（TODO: 添加在线文档链接或规范仓库 URL）\n\n\n## 🛠️ 本地开发\n\n```bash\n# 安装依赖\npnpm install\n\n# 启动开发环境（playground 使用源码，支持热更新）\npnpm dev\n\n# 代码检查\npnpm lint\npnpm typecheck\n\n# 构建产物\npnpm build\n\n# 发布前检查（自动执行 lint + typecheck + build）\npnpm prepublishOnly\n```\n\n## 🏗️ 项目结构\n\n```\nui-tabs/\n├── src/                 # 组件源码\n│   ├── index.ts        # 入口（自动读取包名，无硬编码）\n│   ├── Tabs.vue        # Tabs 组件\n│   ├── TabPane.vue     # TabPane 组件\n│   ├── types.ts        # 类型定义\n│   └── style.css       # 样式\n├── playground/         # 开发预览\n├── docs/              # 组件文档\n├── dist/              # 构建产物（发布到 npm）\n└── package.json       # 包配置\n```\n\n## 📄 License\n\nMIT\n\n","readmeFilename":"README.md"}