{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "controls",
  "entry": "@fayegram-ai/faye-ui/controls/button",
  "source": "packages/controls/src/button.tsx",
  "clientBoundary": true,
  "declarations": [
    {
      "name": "ButtonVariantOverrides",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ButtonVariantOverrides {\n}",
      "members": [],
      "line": 10
    },
    {
      "name": "ButtonToneOverrides",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ButtonToneOverrides {\n}",
      "members": [],
      "line": 12
    },
    {
      "name": "ButtonSizeOverrides",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ButtonSizeOverrides {\n}",
      "members": [],
      "line": 14
    },
    {
      "name": "ButtonTone",
      "kind": "TypeAliasDeclaration",
      "signature": "export type ButtonTone = VisualVariant<'button', 'tone'> | keyof ButtonToneOverrides;",
      "line": 16
    },
    {
      "name": "ButtonSize",
      "kind": "TypeAliasDeclaration",
      "signature": "export type ButtonSize = VisualVariant<'button', 'size'> | keyof ButtonSizeOverrides;",
      "line": 17
    },
    {
      "name": "ButtonVariant",
      "kind": "TypeAliasDeclaration",
      "signature": "export type ButtonVariant = VisualVariant<'button', 'variant'> | keyof ButtonVariantOverrides;",
      "line": 18
    },
    {
      "name": "ButtonProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ButtonProps extends Omit<ComponentProps<typeof BaseButton>, 'color'> {\n    variant?: ButtonVariant;\n    size?: ButtonSize;\n    tone?: ButtonTone;\n    pending?: boolean;\n    /** Center replaces the label without a size change; start/end reserve an indicator slot. */\n    pendingPosition?: 'start' | 'end' | 'center';\n    pendingIndicator?: ReactNode;\n    /** Decorative slots keep artwork and labels centered with the same gap on either side. */\n    startIcon?: ReactNode;\n    endIcon?: ReactNode;\n    fullWidth?: boolean;\n}",
      "members": [
        {
          "name": "variant",
          "optional": true,
          "type": "ButtonVariant"
        },
        {
          "name": "size",
          "optional": true,
          "type": "ButtonSize"
        },
        {
          "name": "tone",
          "optional": true,
          "type": "ButtonTone"
        },
        {
          "name": "pending",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "pendingPosition",
          "optional": true,
          "type": "'start' | 'end' | 'center'"
        },
        {
          "name": "pendingIndicator",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "startIcon",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "endIcon",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "fullWidth",
          "optional": true,
          "type": "boolean"
        }
      ],
      "line": 19
    },
    {
      "name": "Button",
      "kind": "FunctionDeclaration",
      "signature": "export function Button(input: ButtonProps)",
      "line": 34
    },
    {
      "name": "IconButtonProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface IconButtonProps extends Omit<ButtonProps, 'children'> {\n    'aria-label': string;\n    children: React.ReactNode;\n}",
      "members": [
        {
          "name": "'aria-label'",
          "optional": false,
          "type": "string"
        },
        {
          "name": "children",
          "optional": false,
          "type": "React.ReactNode"
        }
      ],
      "line": 49
    },
    {
      "name": "IconButton",
      "kind": "FunctionDeclaration",
      "signature": "export function IconButton({ className, pendingPosition = 'center', ...props }: IconButtonProps)",
      "line": 53
    },
    {
      "name": "ButtonGroupProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement>, GroupDefaults {\n    orientation?: 'horizontal' | 'vertical';\n    ref?: Ref<HTMLDivElement>;\n}",
      "members": [
        {
          "name": "orientation",
          "optional": true,
          "type": "'horizontal' | 'vertical'"
        },
        {
          "name": "ref",
          "optional": true,
          "type": "Ref<HTMLDivElement>"
        }
      ],
      "line": 54
    },
    {
      "name": "ButtonGroup",
      "kind": "FunctionDeclaration",
      "signature": "export function ButtonGroup(input: ButtonGroupProps)",
      "line": 58
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "Button",
      "kind": "value",
      "type": "(input: ButtonProps) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "IconButton",
      "kind": "value",
      "type": "({ className, pendingPosition, ...props }: IconButtonProps) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "ButtonGroup",
      "kind": "value",
      "type": "(input: ButtonGroupProps) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "ButtonVariantOverrides",
      "kind": "type",
      "type": "ButtonVariantOverrides",
      "description": "Augment this interface in your application to type custom visual variants."
    },
    {
      "name": "ButtonToneOverrides",
      "kind": "type",
      "type": "ButtonToneOverrides",
      "description": ""
    },
    {
      "name": "ButtonSizeOverrides",
      "kind": "type",
      "type": "ButtonSizeOverrides",
      "description": ""
    },
    {
      "name": "ButtonTone",
      "kind": "type",
      "type": "ButtonTone",
      "description": ""
    },
    {
      "name": "ButtonSize",
      "kind": "type",
      "type": "ButtonSize",
      "description": ""
    },
    {
      "name": "ButtonVariant",
      "kind": "type",
      "type": "ButtonVariant",
      "description": ""
    },
    {
      "name": "ButtonProps",
      "kind": "type",
      "type": "ButtonProps",
      "description": ""
    },
    {
      "name": "IconButtonProps",
      "kind": "type",
      "type": "IconButtonProps",
      "description": "Square action sized to its frame and artwork. fullWidth explicitly opts into a rectangular action."
    },
    {
      "name": "ButtonGroupProps",
      "kind": "type",
      "type": "ButtonGroupProps",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/controls/button.d.ts"
}
