claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
52 lines • 1.24 kB
TypeScript
/**
* TypeScript types for ChannelSidebar component
*/
export interface ChannelNode {
id: string;
name: string;
type: 'channel' | 'category' | 'dm' | 'voice';
parentId?: string;
children?: ChannelNode[];
unreadCount?: number;
mentionCount?: number;
isOnline?: boolean;
isTyping?: boolean;
icon?: string;
description?: string;
permissions?: {
canView: boolean;
canEdit: boolean;
canDelete: boolean;
canManage: boolean;
};
}
export interface ChannelSidebarEvents {
'channel-select': {
channel: ChannelNode;
};
'channel-context-menu': {
channel: ChannelNode;
event: MouseEvent;
};
'channels-reorder': {
draggedChannel: ChannelNode;
targetChannel: ChannelNode;
position: 'before' | 'after' | 'inside';
};
'search-change': {
query: string;
};
'toggle-collapse': {
collapsed: boolean;
};
}
export interface ChannelSidebarProps {
channels?: ChannelNode[];
selectedChannelId?: string;
collapsed?: boolean;
showSearch?: boolean;
searchPlaceholder?: string;
allowDragDrop?: boolean;
class?: string;
}
//# sourceMappingURL=types.d.ts.map