import { type PropsWithChildren } from 'react'; import type { AriaDisabledProps, AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { DOMProps } from '../../core/types/dom.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; import type { NotificationSettingsConfig } from '../../notifications/notification-settings/notification-settings-types.js'; /** * Accepted properties for the NotifyButton. * @public */ export type NotifyButtonProps = DOMProps & StylingProps & DataTestId & MaskingProps & BehaviorTrackingProps & PropsWithChildren & AriaLabelingProps & AriaDisabledProps & NotificationSettingsConfig & { /** * Configures the size of the trigger. * @defaultValue 'default */ size?: 'default' | 'condensed'; /** * Configures the variant of the trigger. * @defaultValue 'default */ variant?: 'default' | 'emphasized'; /** * Whether the NotifyButton is read-only. * @defaultValue false */ readOnly?: boolean; /** * Whether the NotifyButton is disabled. * @defaultValue false */ disabled?: boolean; /** * Whether the label text is shown on the trigger. * @defaultValue false */ showLabel?: boolean; };