跳到主要内容
Tennantite
EN
文档目录

标签页

130×24 原版 tab / tab_selected / highlighted 标签页。

工作台 / 熔炉 / 箱子…

安装

CLI 拷贝

$npx shadcn add @tennantite/tabs

npm 直装

$pnpm add @tennantite/ui

npm 方式安装编译产物;需要改造源码请用上方的 CLI 拷贝安装。

用法

npm 导入

import { Tabs, TabsList, TabsPanel, TabsTab } from "@tennantite/ui";

CLI 拷贝导入

import { Tabs, TabsList, TabsPanel, TabsTab } from "@/components/tennantite/tabs";
import { useState } from "react";

import { Tabs, TabsList, TabsPanel, TabsTab } from "./index";

const CATEGORIES = ["方块", "物品", "红石"] as const;

/**
 * Tabs 预览用例:配方书分类
*/
export function TabsDemo() {
  const [category, setCategory] = useState("方块");

  return (
    <Tabs onValueChange={setCategory} value={category}>
      <TabsList aria-label="配方分类">
        {CATEGORIES.map(name => (
          <TabsTab key={name} value={name}>
            {name}
          </TabsTab>
        ))}
      </TabsList>
      <TabsPanel value="方块">工作台 / 熔炉 / 箱子…</TabsPanel>
      <TabsPanel value="物品">火把 / 梯子 / 栅栏…</TabsPanel>
      <TabsPanel value="红石">中继器 / 比较器 / 活塞…</TabsPanel>
    </Tabs>
  );
}

API Reference

PropTypeDefault描述
variant"panel" | "plain""plain"面板外观:panel 自带窗口面板纹理 / plain 无纹理无内边距(嵌在已有面板内时用)。仅 TabsPanel。

源码

packages/ui/src/primitives/tabs/index.tsx

npm 包保留源码目录,可直接复制改造。