{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "action-bar",
  "title": "Action Bar",
  "description": "A horizontal toolbar with left and right slots, designed to sit below a text input. Pairs with PromptArea for a complete chat input experience.",
  "registryDependencies": [],
  "files": [
    {
      "path": "packages/prompt-area/src/action-bar/action-bar.tsx",
      "content": "'use client'\n\nimport { cn } from '@/lib/utils'\nimport type { ActionBarProps } from './types'\n\n/**\n * ActionBar - A horizontal toolbar with left and right slots.\n *\n * Designed to sit below a text input (e.g., PromptArea) and stay\n * anchored via normal document flow. Place it as a sibling after\n * the input inside a shared wrapper.\n *\n * @example\n * ```tsx\n * <div className=\"rounded-lg border p-4\">\n *   <PromptArea value={segments} onChange={setSegments} ... />\n *   <ActionBar\n *     left={\n *       <>\n *         <button><PlusCircle /></button>\n *         <button><AtSign /></button>\n *       </>\n *     }\n *     right={\n *       <>\n *         <button><Mic /></button>\n *         <button onClick={handleSubmit}><ArrowUp /></button>\n *       </>\n *     }\n *   />\n * </div>\n * ```\n */\nexport function ActionBar({\n  left,\n  right,\n  className,\n  leftClassName,\n  rightClassName,\n  disabled = false,\n  'aria-label': ariaLabel,\n  'data-test-id': dataTestId,\n  ref,\n}: ActionBarProps & { ref?: React.Ref<HTMLDivElement> }) {\n  return (\n    <div\n      ref={ref}\n      role=\"toolbar\"\n      aria-label={ariaLabel ?? 'Action bar'}\n      aria-disabled={disabled || undefined}\n      data-test-id={dataTestId}\n      className={cn(\n        'action-bar',\n        'flex items-center justify-between gap-2 pt-2',\n        disabled && 'pointer-events-none opacity-50',\n        className,\n      )}>\n      {left && <div className={cn('flex items-center gap-1', leftClassName)}>{left}</div>}\n      {right && (\n        <div className={cn('ml-auto flex items-center gap-1', rightClassName)}>{right}</div>\n      )}\n    </div>\n  )\n}\n",
      "type": "registry:component"
    },
    {
      "path": "packages/prompt-area/src/action-bar/types.ts",
      "content": "/**\n * ActionBar component types\n *\n * A horizontal toolbar with left and right slots, designed to sit\n * below a text input (e.g., PromptArea) and stay anchored via\n * normal document flow.\n */\n\n/**\n * Props for the ActionBar component.\n */\nexport type ActionBarProps = {\n  /** Content rendered on the left side of the bar */\n  left?: React.ReactNode\n  /** Content rendered on the right side of the bar */\n  right?: React.ReactNode\n  /** Additional CSS class for the root element */\n  className?: string\n  /** Additional CSS class for the left slot wrapper */\n  leftClassName?: string\n  /** Additional CSS class for the right slot wrapper */\n  rightClassName?: string\n  /** Whether the action bar is disabled (visually dims and disables pointer events) */\n  disabled?: boolean\n  /** Accessible label for the toolbar */\n  'aria-label'?: string\n  /** data-test-id for e2e testing */\n  'data-test-id'?: string\n}\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}