nextui/apps/docs/components/preview-button.tsx
WK 0d217e466f
refactor: optimization (#5362)
* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps
2025-06-09 14:17:44 +08:00

34 lines
958 B
TypeScript

import type {ButtonProps} from "@heroui/react";
import {forwardRef} from "react";
import {Button} from "@heroui/react";
import {clsx} from "@heroui/shared-utils";
export interface PreviewButtonProps extends ButtonProps {
icon: React.ReactNode;
}
export const PreviewButton = forwardRef<HTMLButtonElement | null, PreviewButtonProps>(
(props, ref) => {
const {icon, className, ...buttonProps} = props;
return (
<Button
ref={ref}
isIconOnly
className={clsx(
"relative z-50 text-zinc-300 top-8 border-1 border-transparent bg-transparent before:bg-white/10 before:content-[''] before:block before:z-[-1] before:absolute before:inset-0 before:backdrop-blur-md before:backdrop-saturate-100 before:rounded-lg",
className,
)}
size="sm"
variant="light"
{...buttonProps}
>
{icon}
</Button>
);
},
);
PreviewButton.displayName = "PreviewButton";