Packages
@celine-eu/ui
Shared design system and base component library for CELINE frontends.
Components
| Component |
Description |
Button |
Button with variants (primary, secondary, ghost, danger) |
Icon |
Lucide-based SVG icon component |
Modal |
Centered modal dialog with slot content |
Panel |
Slide-over side panel |
Skeleton |
Loading skeleton placeholder |
ThemeToggle |
Dark/light theme switcher |
Usage
<script>
import { Icon, Button, Skeleton, Panel, Modal, ThemeToggle } from '@celine-eu/ui';
import '@celine-eu/ui/theme.css';
</script>
<Button variant="primary" onclick={handleClick}>
<Icon name="zap" size={16} />
Click me
</Button>
Import theme.css once at the app root to load CSS custom properties.
@celine-eu/assistant-ui
AI assistant chat interface. Provides a full chat experience that can be embedded in any SvelteKit app.
Exports
| Export |
Type |
Description |
ChatCore |
Component |
Main chat component with configurable modes |
AssistantProvider |
Component |
Context provider — wraps the app and includes the floating widget |
AssistantWidget |
Component |
Floating button that opens a chat modal |
AskAssistantButton |
Component |
Context-aware trigger button for inline assistant access |
api |
Module |
Typed API client functions |
AssistantContext |
Type |
Context payload shape |
ChatCore Modes
| Mode |
Description |
full |
Full-viewport chat, used in standalone apps |
modal |
Centered modal dialog |
floating |
Floating window, used by the widget |
ChatCore Props
| Prop |
Type |
Default |
Description |
apiBaseUrl |
string |
/api |
API base URL |
mode |
full / modal / floating |
full |
Display mode |
embedded |
boolean |
false |
Embedded in another app |
showHeader |
boolean |
true |
Show header bar |
enableHistory |
boolean |
true |
Enable history panel |
enableAttachments |
boolean |
true |
Enable attachments panel |
enableUpload |
boolean |
true |
Allow file uploads |
enableCitations |
boolean |
true |
Show source citations |
conversationId |
string |
none |
Load an existing conversation |
initialContext |
AssistantContext |
none |
Pre-load assistant context |
initialPrompt |
string |
none |
Pre-fill the composer |
AssistantContext Shape
interface AssistantContext {
page?: string; // Current page identifier
section?: string; // Section within the page
data?: object; // Structured data for the AI
hint?: string; // Natural language hint
}