The app uses shadcn-svelte (built on bits-ui ) as the UI component library. Components are located in src/lib/components/ui/ and are configured via components.json.
44+ component categories organized by purpose:
Component Description buttonPrimary interactive element inputText input fields input-groupGrouped input with addons labelForm labels checkboxBoolean toggles radio-groupOption selection selectDropdown selection textareaMulti-line text input toggleToggle switches switchOn/off switches formForm wrapper with validation calendarDate picker range-calendarDate range picker
Component Description cardContent containers accordionCollapsible sections tabsTabbed content collapsibleShow/hide content separatorVisual dividers scroll-areaCustom scrollbars sidebarSide navigation panels
Component Description breadcrumbPath navigation navigation-menuTop navigation dropdown-menuAction menus context-menuRight-click menus paginationPage navigation commandCommand palette
Component Description dialogModal dialogs alert-dialogConfirmation dialogs drawerSlide-out panels (vaul-svelte) popoverFloating content sheetSide sheets tooltipHover information
Component Description tableData tables data-tableAdvanced tables badgeStatus indicators avatarUser avatars progressProgress bars skeletonLoading placeholders emptyEmpty state displays kbdKeyboard shortcuts sonnerToast notifications
import { Button } from ' $lib/components/ui/button ' ;
import * as Dialog from ' $lib/components/ui/dialog ' ;
import * as Card from ' $lib/components/ui/card ' ;
< Card . Title > Title </ Card . Title >
< Button > Click me </ Button >
Tailwind CSS 4.0 with @tailwindcss/typography and @tailwindcss/vite
tailwind-variants for component variant definitions
tailwind-merge via cn() utility for class merging
tw-animate-css for animations
mode-watcher for dark/light theme support
import { clsx } from ' clsx ' ;
import { twMerge } from ' tailwind-merge ' ;
export function cn ( ... inputs ) {
return twMerge ( clsx (inputs));
Located in src/lib/components/shared/:
Component Description doc-tree.svelteDocument tree view (30.6KB, used in docs/hubs) bubble-chat/Chat bubble interface messages-toggle/Message notification toggle notifications-toggle.svelteNotification bell with badge dark-mode-toggle.svelteTheme switcher file-upload.svelteFile upload handler country-combobox.svelteCountry selector categories-combobox.svelteCategory selector emoji-picker.svelteEmoji selection popup storage-breakdown.svelteStorage usage visualization
Each module has a dedicated sidebar in src/lib/components/sidebars/:
Sidebar Module profile-sdiebar.svelteProfile editing connect-sidebar.svelteChat/messaging hyvflow-sidebar.svelteProject management account-sidebar.svelteAccount settings marketplace-sidebar.svelteMarketplace browsing orders-sidebar.svelteOrder management