1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
//! # kael_ui: Professional UI Component Library for Kael
//!
//! A comprehensive, themeable component library inspired by shadcn/ui, designed specifically
//! for building polished desktop applications using Kael. Provides a complete set of
//! reusable components with consistent styling, smooth animations, and accessibility support.
//! ## Architecture Overview
//!
//! The library is organized into several key modules:
//! - `theme`: Design tokens and theming system with light/dark variants
//! - `components`: Core interactive elements (buttons, inputs, selects, etc.)
//! - `display`: Presentation components (tables, cards, badges, etc.)
//! - `navigation`: Navigation components (sidebars, menus, tabs, etc.)
//! - `overlays`: Modal dialogs, popovers, tooltips, and command palettes
//! - `animations`: Professional animation presets and easing functions
//!
//! ## Key Features
//!
//! - **Theme System**: Comprehensive design tokens with automatic light/dark mode support
//! - **Accessibility**: Full keyboard navigation, ARIA labels, and screen reader support
//! - **Performance**: Optimized rendering with virtual scrolling for large datasets
//! - **Animation**: Smooth, professional animations using spring physics and easing curves
//! - **Type Safety**: Strong typing throughout with compile-time guarantees
//!
//! ## Design Philosophy
//!
//! Components follow shadcn/ui principles with Kael-specific optimizations:
//! - Composition over inheritance for flexible component APIs
//! - Builder pattern for ergonomic component construction
//! - Entity-based state management for complex interactive components
//! - Consistent naming and styling patterns across all components
//!
//! ## Usage Example
//!
//! ```rust,ignore
//! use kael_ui::{prelude::*, theme};
//!
//! // Initialize theme and components
//! fn init_app(cx: &mut kael::App) {
//! theme::install_theme(cx, theme::Theme::dark());
//! kael_ui::init(cx);
//! }
//!
//! // Use components in your views
//! fn render(cx: &mut kael::App) -> impl kael::IntoElement {
//! div()
//! .child(Button::new("Click me").on_click(|_, _, _| println!("Clicked!")))
//! .child(Input::new(&input_state).placeholder("Enter text..."))
//! }
//! ```
//!
extern crate kael;
/// Extension traits for common types
/// Font loading and registration
/// Icon configuration for custom asset paths
/// HTTP client for remote image loading
// Re-export commonly used icon configuration functions
pub use set_icon_base_path;
// Re-export HTTP client functions
pub use ;
/// Initialize the UI library
///
/// This registers all necessary keybindings and initializes component systems.
/// Registers custom fonts for the component library.
/// Also initializes HTTP client for remote image loading.