Summary
Implement a floating chatbot widget (FAB style), inspired by Airtable, for ObjectUI. This feature will enable users to access the chatbot from any page via a floating button (FAB), which expands into a chat panel overlay when clicked.
Background
- The current chatbot in
@object-ui/plugin-chatbot is only available as an inline, embedded component.
- Modern enterprise UIs like Airtable offer a floating, context-aware chatbot that does not occupy dashboard or main content areas, improving UX and discoverability. ([See reference screenshot below])
Requirements
- Floating action button (FAB) fixed to bottom-right (configurable position)
- FAB opens a panel with the full chatbot UI (
ChatbotEnhanced)
- Panel supports drag, collapse, close, and fullscreen
- Configurable: default open/closed, position (bottom-right/left), width/height, trigger icon
- Panel header supports conversation title, history, fullscreen toggle, close button
- Integrates with ObjectUI's context (current object/view/data) for prompt injection
- Demo mode and AI streaming modes must both work
- Schema-driven: enable via
displayMode: 'floating' in schema
- Fully compatible with component registry (
type: 'chatbot')
- Portal rendering (avoid DOM/Z-index conflicts)
Implementation
- Extend
ChatbotSchema with floating config fields
- Add
FloatingChatbotProvider context for global state and external control
- New components:
FloatingChatbot, FloatingChatbotPanel, FloatingChatbotTrigger, provider/hook
- Console shell integration for metadata-aware prompts
- Storybook stories, Vitest tests, full docs
Acceptance Criteria
See detailed architectural proposal in engineering notes and reference screenshot above.
Summary
Implement a floating chatbot widget (FAB style), inspired by Airtable, for ObjectUI. This feature will enable users to access the chatbot from any page via a floating button (FAB), which expands into a chat panel overlay when clicked.
Background
@object-ui/plugin-chatbotis only available as an inline, embedded component.Requirements
ChatbotEnhanced)displayMode: 'floating'in schematype: 'chatbot')Implementation
ChatbotSchemawith floating config fieldsFloatingChatbotProvidercontext for global state and external controlFloatingChatbot,FloatingChatbotPanel,FloatingChatbotTrigger, provider/hookAcceptance Criteria
See detailed architectural proposal in engineering notes and reference screenshot above.