mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-13 01:53:30 +01:00
* fix(ExceptText): don't display import("d..-types/v10"). in return type
* Squashed 'packages/api-extractor-model/' content from commit 39ecb196c
git-subtree-dir: packages/api-extractor-model
git-subtree-split: 39ecb196ca210bdf84ba6c9cadb1bb93571849d7
* Squashed 'packages/api-extractor/' content from commit 341ad6c51
git-subtree-dir: packages/api-extractor
git-subtree-split: 341ad6c51b01656d4f73b74ad4bdb3095f9262c4
* feat(api-extractor): add api-extractor and -model
* fix: package.json docs script
* fix(SourcLink): use <> instead of function syntax
* fix: make packages private
* fix: rest params showing in docs, added labels
* fix: missed two files
* fix: cpy-cli & pnpm-lock
* fix: increase icon size
* fix: icon size again
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import type { ApiDocumentedItem } from '@discordjs/api-extractor-model';
|
|
import { ApiAbstractMixin, ApiProtectedMixin, ApiReadonlyMixin, ApiStaticMixin } from '@discordjs/api-extractor-model';
|
|
import type { PropsWithChildren } from 'react';
|
|
|
|
export enum BadgeColor {
|
|
Danger = 'bg-red-500',
|
|
Primary = 'bg-blurple',
|
|
Warning = 'bg-yellow-500',
|
|
}
|
|
|
|
export function Badge({
|
|
children,
|
|
color = BadgeColor.Primary,
|
|
}: PropsWithChildren<{ readonly color?: BadgeColor | undefined }>) {
|
|
return (
|
|
<span
|
|
className={`h-5 flex flex-row place-content-center place-items-center rounded-full px-3 text-center text-xs font-semibold uppercase text-white ${color}`}
|
|
>
|
|
{children}
|
|
</span>
|
|
);
|
|
}
|
|
|
|
export function Badges({ item }: { readonly item: ApiDocumentedItem }) {
|
|
const isStatic = ApiStaticMixin.isBaseClassOf(item) && item.isStatic;
|
|
const isProtected = ApiProtectedMixin.isBaseClassOf(item) && item.isProtected;
|
|
const isReadonly = ApiReadonlyMixin.isBaseClassOf(item) && item.isReadonly;
|
|
const isAbstract = ApiAbstractMixin.isBaseClassOf(item) && item.isAbstract;
|
|
const isDeprecated = Boolean(item.tsdocComment?.deprecatedBlock);
|
|
|
|
return (
|
|
<div className="flex flex-row gap-1 md:ml-7">
|
|
{isDeprecated ? <Badge color={BadgeColor.Danger}>Deprecated</Badge> : null}
|
|
{isProtected ? <Badge>Protected</Badge> : null}
|
|
{isStatic ? <Badge>Static</Badge> : null}
|
|
{isAbstract ? <Badge>Abstract</Badge> : null}
|
|
{isReadonly ? <Badge>Readonly</Badge> : null}
|
|
</div>
|
|
);
|
|
}
|