Appearance
Shared Components
- Package:
@rkosafo/cai.components(v0.0.x)
Overview
The portal shares one UI kit across all features. It provides the low-level components (buttons, modals, forms, tables, alerts, dropdowns, toasts) as well as the Keycloak auth service and utility helpers. It is a published npm package (node_modules/@rkosafo/cai.components, source type definitions in dist/index.d.ts).
UI primitives
| Component | Purpose |
|---|---|
Modal | Generic modal dialog (sizes, outside-close, buttons) |
Drawer | Slide-in side panel (used for the chat drawer) |
Alert / AlertDialog | Banners and confirm dialogs |
Dropdown, DropdownItem, DropdownDivider, DropdownGroup, DropdownHeader | Menu system |
Button, ActionButton, GradientButton | Button variants |
Avatar, Indicator | Avatars + online indicators |
Tooltip, Popper | Hover/popover helpers |
Table, Datatable, Paginate, TableLoader | Tabular data |
Tabs, Accordion, Breadcrumb, Box, Toolbar | Layout primitives |
PageLoader / PageLoader2 | Loading states |
SpeedDial, SpeedDialButton, SpeedDialTrigger | Floating action buttons |
NotificationList, Heading, Footer* | Misc |
Forms
Felte-based form suite (used via the portal's feature Forms):
| Component | Purpose |
|---|---|
Form | Felte form wrapper + key |
Input / FormInput | Text/number inputs |
Select / FormSelect | Dropdowns |
Textarea / FormTextarea, Radio / FormRadio, Checkbox / FormCheckbox | Inputs |
Datepicker / FormDatepicker | Date pickers |
Toggle, ButtonToggle | Switch/segmented controls |
Label, FormClEditor (Tiptap), FormFileUpload | Label, rich text, file upload |
FilterBuilder | Dynamic filters |
Auth & utilities
KeycloakService/createAuthStore()— the OIDC/Keycloak SPA service the portal uses for login, token refresh, and logout (see Auth).Toaster/toast/updateToastConfig— global toasts.getTheme/ThemeProvider,clickOutsideAction,trapFocus,cn,getInitials,saveToLocalStorage/loadFromLocalStorage,createTableHeightStore.
Usage
svelte
<script lang="ts">
import { Button, Modal, Form, FormInput, Datatable, toast } from '@rkosafo/cai.components';
</script>Related
- Web overview
- Topbar — app chrome built on this kit.