{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "motion",
  "entry": "@fayegram-ai/faye-ui/motion/presence",
  "source": "packages/motion/src/presence.tsx",
  "clientBoundary": true,
  "declarations": [
    {
      "name": "PresenceProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface PresenceProps extends HTMLAttributes<HTMLDivElement> {\n    present: boolean;\n    keepMounted?: boolean;\n    appear?: boolean;\n    effect?: 'fade' | 'slide' | 'collapse' | 'scale';\n    onExitComplete?: () => void;\n    /** Slide starts at this edge; start/end follow computed text direction. */\n    direction?: 'up' | 'down' | 'left' | 'right' | 'start' | 'end';\n    /** Optional boundary to slide fully outside instead of using the small default offset. */\n    container?: HTMLElement | RefObject<HTMLElement | null> | null;\n    orientation?: 'horizontal' | 'vertical';\n    scaleOrigin?: CSSProperties['transformOrigin'];\n    enterDuration?: number;\n    exitDuration?: number;\n    ref?: Ref<HTMLDivElement>;\n}",
      "members": [
        {
          "name": "present",
          "optional": false,
          "type": "boolean"
        },
        {
          "name": "keepMounted",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "appear",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "effect",
          "optional": true,
          "type": "'fade' | 'slide' | 'collapse' | 'scale'"
        },
        {
          "name": "onExitComplete",
          "optional": true,
          "type": "() => void"
        },
        {
          "name": "direction",
          "optional": true,
          "type": "'up' | 'down' | 'left' | 'right' | 'start' | 'end'"
        },
        {
          "name": "container",
          "optional": true,
          "type": "HTMLElement | RefObject<HTMLElement | null> | null"
        },
        {
          "name": "orientation",
          "optional": true,
          "type": "'horizontal' | 'vertical'"
        },
        {
          "name": "scaleOrigin",
          "optional": true,
          "type": "CSSProperties['transformOrigin']"
        },
        {
          "name": "enterDuration",
          "optional": true,
          "type": "number"
        },
        {
          "name": "exitDuration",
          "optional": true,
          "type": "number"
        },
        {
          "name": "ref",
          "optional": true,
          "type": "Ref<HTMLDivElement>"
        }
      ],
      "line": 6
    },
    {
      "name": "Presence",
      "kind": "FunctionDeclaration",
      "signature": "export function Presence({ present, keepMounted = false, appear = false, effect = 'fade', onExitComplete, direction = 'down', container, orientation = 'vertical', scaleOrigin, enterDuration, exitDuration, ref, style, children, className, ...props }: PresenceProps)",
      "line": 23
    },
    {
      "name": "Fade",
      "kind": "FunctionDeclaration",
      "signature": "export function Fade(props: Omit<PresenceProps, 'effect'>)",
      "line": 90
    },
    {
      "name": "Collapse",
      "kind": "FunctionDeclaration",
      "signature": "export function Collapse(props: Omit<PresenceProps, 'effect'>)",
      "line": 91
    },
    {
      "name": "Slide",
      "kind": "FunctionDeclaration",
      "signature": "export function Slide(props: Omit<PresenceProps, 'effect'>)",
      "line": 92
    },
    {
      "name": "Scale",
      "kind": "FunctionDeclaration",
      "signature": "export function Scale(props: Omit<PresenceProps, 'effect'>)",
      "line": 93
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "Presence",
      "kind": "value",
      "type": "({ present, keepMounted, appear, effect, onExitComplete, direction, container, orientation, scaleOrigin, enterDuration, exitDuration, ref, style, children, className, ...props }: PresenceProps) => import(\"react\").JSX.Element | null",
      "description": "Show and hide ordinary content. Dialogs, menus and drawers include their own transitions."
    },
    {
      "name": "Fade",
      "kind": "value",
      "type": "(props: Omit<PresenceProps, \"effect\">) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "Collapse",
      "kind": "value",
      "type": "(props: Omit<PresenceProps, \"effect\">) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "Slide",
      "kind": "value",
      "type": "(props: Omit<PresenceProps, \"effect\">) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "Scale",
      "kind": "value",
      "type": "(props: Omit<PresenceProps, \"effect\">) => import(\"react\").JSX.Element",
      "description": ""
    },
    {
      "name": "PresenceProps",
      "kind": "type",
      "type": "PresenceProps",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/motion/presence.d.ts"
}
