···2020import {type Props as SVGIconProps} from '#/components/icons/common'
2121import {Text} from '#/components/Typography'
22222323+/**
2424+ * The `Button` component, and some extensions of it like `Link` are intended
2525+ * to be generic and therefore apply no styles by default. These `VariantProps`
2626+ * are what control the `Button`'s presentation, and are intended only use cases where the buttons appear as, well, buttons.
2727+ *
2828+ * If `Button` or an extension of it are used for other compound components, use this property to avoid misuse of these variant props further down the line.
2929+ *
3030+ * @example
3131+ * type MyComponentProps = Omit<ButtonProps, UninheritableButtonProps> & {...}
3232+ */
3333+export type UninheritableButtonProps = 'variant' | 'color' | 'size' | 'shape'
3434+2335export type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'gradient'
2436export type ButtonColor =
2537 | 'primary'