Skip to content

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
}