Skip to content

pantoken / packages/plugin-kit/src / definePlugin

Function: definePlugin()

definePlugin(config): PantokenPlugin

Beta

Create a pantoken plugin from its hooks. The result is a normal PantokenPlugin branded with the capabilities inferred from the hooks you provided.

Parameters

config

PantokenPlugin

The plugin name plus any of the tokens/icons/css/rehype/native hooks.

Returns

PantokenPlugin

A branded PantokenPlugin.

Example

A unified tokens + css plugin

ts
import { capabilitiesOf, definePlugin } from "@pantoken/plugin-kit";

const brand = definePlugin({
  name: "@acme/brand",
  tokens: (ctx) => [
    ...ctx.tokens,
    ctx.define({ name: "--instui-brand", value: "var(--instui-color-background-brand)" }),
  ],
  css: () => ({ append: ":root { color-scheme: light dark; }" }),
});

capabilitiesOf(brand); // → ["tokens", "css"]