'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 ( ) }