Chat Components
SidekickChat for full interfaces and SidekickChatPlugin for floating widgets
A Vue 3 plugin providing beautiful chat interfaces with shared state management
Install the plugin:
npm install @sprout_lbjocson/sprout-sidekickUse in your Vue app:
import { createApp } from 'vue'
import SproutSidekick from '@sprout_lbjocson/sprout-sidekick'
import '@sprout_lbjocson/sprout-sidekick/dist/sprout-sidekick.css'
const app = createApp(App)
app.use(SproutSidekick)Already using Sprout Design System?
import { createApp } from 'vue'
import SproutSidekick from '@sprout_lbjocson/sprout-sidekick'
import '@sprout_lbjocson/sprout-sidekick/dist/sprout-sidekick.css'
const app = createApp(App)
app.use(SproutSidekick, {
skipDesignSystem: true, // Skip installing the design system if already installed
})Add components to your templates:
<template>
<!-- Full chat interface -->
<ClientOnly>
<SidekickChat />
</ClientOnly>
<!-- Floating chat widget -->
<ClientOnly>
<SidekickChatPlugin />
</ClientOnly>
</template>
<script>
import { useChatStore } from '@sprout_lbjocson/sprout-sidekick'
const chatStore = useChatStore()
onMounted(() => {
// Set the token
chatStore.setToken(newToken)
})
</script>Drop-in components that work out of the box with any Vue 3 application.
Chat messages and state are synchronized between all components automatically.
Clean styling makes it easy to customize the appearance to match your brand.
Responsive design ensures great user experience on all devices.
Built-in authentication token system for secure chat sessions.