diff --git a/packages/canon/report.api.md b/packages/canon/report.api.md index c51d6b6218..4f4a52ffd3 100644 --- a/packages/canon/report.api.md +++ b/packages/canon/report.api.md @@ -142,22 +142,12 @@ export const buttonPropDefs: { }; // @public -export interface ButtonProps { - // (undocumented) +export interface ButtonProps + extends Omit, 'children'> { children: React.ReactNode; - // (undocumented) - className?: string; - // (undocumented) - disabled?: boolean; - // (undocumented) iconEnd?: IconNames; - // (undocumented) iconStart?: IconNames; - // (undocumented) size?: ButtonOwnProps['size']; - // (undocumented) - style?: React.CSSProperties; - // (undocumented) variant?: ButtonOwnProps['variant']; } diff --git a/packages/canon/src/components/Button/types.ts b/packages/canon/src/components/Button/types.ts index 89bb8c79e5..0d61e1cda4 100644 --- a/packages/canon/src/components/Button/types.ts +++ b/packages/canon/src/components/Button/types.ts @@ -21,13 +21,32 @@ import type { ButtonOwnProps } from './Button.props'; * * @public */ -export interface ButtonProps { +export interface ButtonProps + extends Omit, 'children'> { + /** + * The size of the button + * @defaultValue 'medium' + */ size?: ButtonOwnProps['size']; + + /** + * The visual variant of the button + * @defaultValue 'primary' + */ variant?: ButtonOwnProps['variant']; + + /** + * The content of the button + */ children: React.ReactNode; - className?: string; - disabled?: boolean; + + /** + * Optional icon to display at the start of the button + */ iconStart?: IconNames; + + /** + * Optional icon to display at the end of the button + */ iconEnd?: IconNames; - style?: React.CSSProperties; }