Skip to content
Tennantite
中文
Documentation

Button

Vanilla-geometry stone-textured button with default / success / ghost variants.

Install

CLI copy

$npx shadcn add @tennantite/button

npm install

$pnpm add @tennantite/ui

npm installs the compiled package; use the CLI copy above to adapt the source.

Usage

npm import

import { Button } from "@tennantite/ui";

CLI copy import

import { Button } from "@/components/tennantite/button";
import { useState } from "react";

import { Button } from "./index";

/**
 * Button 预览用例(规格 §10:story / 示例可运行)
*/
export function ButtonDemo() {
  const [count, setCount] = useState(0);

  return (
    <div className="flex flex-wrap items-center gap-4">
      <Button className="w-100" onClick={() => setCount(c => c + 1)}>
        默认(已点
        {count}
        {" "}
        次)
      </Button>
      <Button className="w-100" variant="success">Success</Button>
      <Button className="w-60" variant="ghost">Ghost</Button>
      <Button className="w-100" disabled>Disabled</Button>
    </div>
  );
}

API Reference

PropTypeDescription
variant"default" | "ghost" | "realms" | "success"Visual variant: default stone / success primary-action green / ghost transparent.

Source

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

The npm package keeps the source tree, so you can copy and adapt it directly.