"use client" import { Slot } from "@radix-ui/react-slot" import { Button as ButtonRAC } from "react-aria-components" import { buttonVariants } from "./variants" import type { VariantProps } from "class-variance-authority" import type { ButtonProps as ReactAriaButtonProps } from "react-aria-components" export interface ButtonPropsRAC extends Omit, VariantProps { asChild?: false | undefined | never disabled?: ReactAriaButtonProps["isDisabled"] onClick?: ReactAriaButtonProps["onPress"] } export interface ButtonPropsSlot extends React.ButtonHTMLAttributes, VariantProps { asChild: true } export type ButtonProps = ButtonPropsSlot | ButtonPropsRAC /** * @deprecated Use `@scandic-hotels/design-system/Button` instead. */ export function OldDSButton(props: ButtonProps) { const { className, clean, intent, size, theme, fullWidth, wrapping, variant, ...restProps } = props const classNames = buttonVariants({ className, clean, intent, size, theme, fullWidth, wrapping, variant, }) if (restProps.asChild) { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { asChild, ...slotProps } = restProps return } // eslint-disable-next-line @typescript-eslint/no-unused-vars const { asChild, onClick, disabled, ...racProps } = restProps return ( ) }