@l7mp/tivadar-ai-chat-widget
v1.0.4
Published
AI-powered chat widget for websites. Works with React, Angular, Vue, Next.js, and vanilla HTML. Integrates with Tivadar.ai from L7mp.io.
Readme
@l7mp/tivadar-ai-chat-widget
AI-powered chat widget for websites. Works with React, Angular, Vue, Next.js, and vanilla HTML.
Integrates with Azure OpenAI and Retrieval-Augmented Generation (RAG) for context-aware responses.
Installation
npm install @l7mp/tivadar-ai-chat-widgetOr with yarn:
yarn add @l7mp/tivadar-ai-chat-widgetOr via CDN:
<script src="https://unpkg.com/@l7mp/tivadar-ai-chat-widget@latest/widget-webcomponent.js"></script>Quick Start
Vanilla HTML
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/@l7mp/tivadar-ai-chat-widget@latest/widget-webcomponent.js"></script>
</head>
<body>
<h1>My Website</h1>
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
></tivadar-ai-chat-widget>
</body>
</html>React / Next.js
// Import once in your app (e.g., _app.tsx or layout.tsx)
import '@l7mp/tivadar-ai-chat-widget'
export default function Page() {
return (
<div>
<h1>My Website</h1>
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
/>
</div>
)
}React wrapper component (with TypeScript support)
import AIChatWidget from '@l7mp/tivadar-ai-chat-widget/react'
export default function Page() {
return (
<div>
<h1>My Website</h1>
<AIChatWidget
apiKey="your-api-key"
apiEndpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
/>
</div>
)
}Angular
// app.module.ts
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import '@l7mp/tivadar-ai-chat-widget'
@NgModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AppModule { }<!-- app.component.html -->
<h1>My Website</h1>
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
></tivadar-ai-chat-widget>Vue
<script setup>
import '@l7mp/tivadar-ai-chat-widget'
</script>
<template>
<div>
<h1>My Website</h1>
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
/>
</div>
</template>Svelte
<script>
import '@l7mp/tivadar-ai-chat-widget'
</script>
<h1>My Website</h1>
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/v1/chat"
position="bottom-right"
title="Chat with AI"
/>Configuration
The widget accepts the following HTML attributes:
| Attribute | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| api-key | string | Yes | - | Chat API key (sent as query param) |
| api-endpoint | string | Yes | - | Chat API endpoint URL |
| position | string | No | "bottom-right" | Widget position: "bottom-right", "bottom-left", "top-right", "top-left" |
| title | string | No | "Chat with AI" | Widget header title |
| theme | string | No | "light" | Theme (currently only "light" supported) |
| placeholder | string | No | "Type your message..." | Input field placeholder |
| welcome-message | string | No | "Hello! How can I help you today?" | Initial greeting message |
Example with All Options
<tivadar-ai-chat-widget
api-key="your-api-key"
api-endpoint="https://api.yourdomain.com/chat"
position="bottom-left"
theme="light"
title="Support Chat"
placeholder="Ask me anything..."
welcome-message="Hi! How can I assist you today?"
></tivadar-ai-chat-widget>Classic Version (Legacy)
For compatibility with older browsers or if you prefer the imperative API, you can use the classic version:
<script src="https://unpkg.com/@l7mp/tivadar-ai-chat-widget@latest/widget.js"></script>
<script>
AIChatWidget.init({
apiKey: 'your-api-key',
apiEndpoint: 'https://api.yourdomain.com/v1/chat',
position: 'bottom-right',
title: 'Chat with AI'
});
</script>Browser Support
- Chrome/Edge 88+
- Firefox 85+
- Safari 14.1+
- Opera 74+
(Supports all modern browsers with Web Components API)
TypeScript
TypeScript definitions are included via index.d.ts.
Development
Files
| File | Description |
|------|-------------|
| widget-webcomponent.js | Web Component version (recommended) |
| widget.js | Classic vanilla JS version (legacy) |
Publish to npm
cd packages/tivadar-chat-widget
# Bump version
npm version patch # or minor/major
# Publish (requires npm login)
npm publish --access publicLicense
Copyright (c) 2025 L7mp.io
See LICENSE file for details.
