1#[macro_use]
24mod macros;
25
26#[cfg(test)]
27mod apptests;
28
29pub mod style;
30pub mod theme;
31
32#[doc(hidden)]
35pub use gpui::ParentElement as __ParentElement;
36
37#[doc(hidden)]
40pub use ::gpui;
41
42pub mod ai;
43pub mod anim;
44pub mod chart;
45pub mod data;
46pub mod devtools;
47pub mod dnd;
48pub mod editor;
49pub mod feedback;
50pub mod flex;
51pub mod input;
52pub mod layout;
53pub mod markdown;
54pub mod nav;
55pub mod overlay;
56pub mod reactive;
57pub mod settings;
58pub mod update;
59
60mod about;
61mod actionicon;
62mod anchor;
63mod badge;
64mod blockquote;
65mod button;
66mod card;
67mod carousel;
68mod chip;
69mod closebutton;
70mod code;
71mod copybutton;
72mod divider;
73mod icon;
74mod image;
75mod indicator;
76mod kbd;
77mod mark;
78pub mod panegroup;
79mod panel;
80mod paper;
81mod scrollarea;
82mod skeleton;
83mod splitpanel;
84mod spoiler;
85mod text;
86mod themeicon;
87mod title;
88mod transition;
89mod webview;
90mod windowcontrols;
91
92pub use about::{About, BuildKind};
93pub use actionicon::ActionIcon;
94pub use ai::{
95 format_cost, AIChatView, AIChatViewEvent, AICitation, AIComposer, AIComposerEvent, AICost,
96 AIMessage, AIModel, AIModelPicker, AIModelPickerEvent, AIPricing, AIReasoning, AIRole,
97 AISettings, AISettingsEvent, AISource, AISources, AIStreamingText, AIThinking, AITokenMeter,
98 AIToolCall, AIToolStatus, AITurn, AITurnTool, AIUsage,
99};
100pub use anchor::Anchor;
101pub use anim::{Easing, Presence, PresenceEvent, Spring};
102pub use badge::Badge;
103pub use blockquote::Blockquote;
104pub use button::Button;
105pub use card::Card;
106pub use carousel::{Carousel, CarouselEvent};
107pub use chip::Chip;
108pub use closebutton::CloseButton;
109pub use code::Code;
110pub use copybutton::CopyButton;
111pub use divider::{Divider, Orientation};
112pub use dnd::{apply_reorder, Draggable, DropTarget, SortableList};
113pub use icon::{Glyph, Icon, IconName, LUCIDE_VERSION};
114pub use image::{Image, ObjectFit};
115pub use indicator::Indicator;
116pub use kbd::Kbd;
117pub use mark::Mark;
118pub use panegroup::{PaneGroup, PaneGroupEvent};
119pub use panel::Panel;
120pub use paper::Paper;
121pub use scrollarea::ScrollArea;
122pub use skeleton::Skeleton;
123pub use splitpanel::{SplitDirection, SplitPanel, SplitPanelEvent};
124pub use spoiler::Spoiler;
125pub use text::Text;
126pub use themeicon::ThemeIcon;
127pub use title::Title;
128pub use transition::{Collapse, Transition, TransitionKind};
129pub use webview::{WebView, WebViewEvent};
130pub use windowcontrols::{ResizeHandles, WindowControls, TRAFFIC_LIGHT_INSET};
131
132pub use chart::{AreaChart, BarChart, LineChart, PieChart, ScatterChart, Sparkline};
133pub use data::{
134 Accordion, Avatar, AvatarGroup, Column, DataView, DataViewEvent, DataViewLayout, List,
135 SelectionMode, SortDir, TabBar, TabBarEvent, Table, TableView, TableViewEvent, Tabs, Timeline,
136 TreeNode, TreeView, TreeViewEvent, VirtualList,
137};
138#[cfg(feature = "treesitter")]
139pub use editor::TreeSitterHighlighter;
140pub use editor::{
141 Diagnostic, DocumentHighlighter, Editor, EditorEvent, EditorModel, EditorStyle, Highlighter,
142 Language, Pos, Severity, TokenKind,
143};
144pub use feedback::{
145 Alert, Loader, LoaderVariant, Notification, Progress, RingProgress, ToastStack,
146};
147pub use input::{
148 apply_key, days_in_month, is_leap_year, month_grid, Autocomplete, AutocompleteEvent, Calendar,
149 Checkbox, CheckboxGroup, ColorInput, ColorInputEvent, Combobox, ComboboxEvent, Date,
150 DatePicker, DatePickerEvent, Dropzone, Field, FileInput, FileInputEvent, KeyOutcome,
151 NumberInput, NumberInputEvent, PasswordInput, PasswordInputEvent, PinInput, PinInputEvent,
152 Radio, RadioGroup, RangeSlider, RangeSliderEvent, Rating, SegmentedControl,
153 SegmentedControlEvent, Select, SelectEvent, Slider, SliderEvent, Switch, TagsInput,
154 TagsInputEvent, TextArea, TextAreaEvent, TextAreaSubmit, TextEdit, TextInput, TextInputEvent,
155 Time, TimePicker, TimePickerEvent, Transfer, TransferEvent, Weekday, MONTH_NAMES,
156};
157pub use layout::{
158 Align, AppShell, Breakpoint, Center, Container, Group, Justify, Responsive, SimpleGrid, Space,
159 Stack,
160};
161pub use markdown::{Markdown, MarkdownEditor, MarkdownEditorEvent, MarkdownStyle};
162pub use nav::{
163 Breadcrumbs, NavLink, NavigationMenu, NavigationMenuEvent, Pagination, PaginationEvent,
164 StatusBar, Stepper,
165};
166pub use overlay::{
167 tooltip, ConfirmModal, ContextMenu, Drawer, HoverCard, LoadingOverlay, Menu, MenuBar,
168 MenuColumn, Modal, ModalCloser, OverlayHost, Placement, Popover, Side, Spotlight, Tooltip,
169 Tour, TourEvent,
170};
171pub use reactive::{
172 provide, use_context, use_effect, use_form, use_memo, use_state, validators, watch, Binding,
173 Form, FormState, FormValues, Rule, Signal, Validator,
174};
175pub use style::{surface, ColorValue, StyleExt, Surface, Variant};
176pub use theme::{
177 css, hsl, hsla, rgb, rgba, theme, Color, ColorName, ColorScheme, CssColorError, Palette, Scale,
178 Shades, Size, Theme, ThemeJsonError, PRESET_NAMES,
179};
180pub use update::{
183 InstallKind, Relaunch, Release, ReleaseAsset, UpdateCheck, UpdateConfig, UpdateNotice,
184 UpdateNoticeEvent, UpdateOutcome, UpdatePrompt, UpdatePromptEvent, UpdateSource, UpdateStage,
185 Updater,
186};
187
188pub mod prelude {
189 pub use crate::ai::{
191 AIChatView, AIChatViewEvent, AICitation, AIComposer, AIComposerEvent, AICost, AIMessage,
192 AIModel, AIModelPicker, AIModelPickerEvent, AIPricing, AIReasoning, AIRole, AISettings,
193 AISettingsEvent, AISource, AISources, AIStreamingText, AIThinking, AITokenMeter,
194 AIToolCall, AIToolStatus, AITurn, AITurnTool, AIUsage,
195 };
196 pub use crate::chart::{AreaChart, BarChart, LineChart, PieChart, ScatterChart, Sparkline};
197 pub use crate::data::{
198 Accordion, Avatar, AvatarGroup, Column, DataView, DataViewEvent, DataViewLayout, List,
199 SelectionMode, SortDir, TabBar, TabBarEvent, Table, TableView, TableViewEvent, Tabs,
200 Timeline, TreeNode, TreeView, TreeViewEvent, VirtualList,
201 };
202 pub use crate::devtools::{
203 DevTools, DevToolsEvent, DevToolsState, DevToolsTab, Dock, LogLevel, LogRecord,
204 NetworkRecord, Probed, ProbedAny, RequestState, ResourceKind, SourceRef, StorageDomain,
205 StorageEntry, StorageKind, TimelineEvent, TimelineKind, Timings,
206 };
207 pub use crate::dnd::{apply_reorder, Draggable, DropTarget, SortableList};
208 pub use crate::editor::{
209 Diagnostic, Editor, EditorEvent, EditorModel, EditorStyle, Language, Pos, Severity,
210 };
211 pub use crate::feedback::{
212 Alert, Loader, LoaderVariant, Notification, Progress, RingProgress, ToastStack,
213 };
214 pub use crate::input::{
215 apply_key, apply_nav, Autocomplete, AutocompleteEvent, Calendar, Checkbox, CheckboxGroup,
216 ColorInput, ColorInputEvent, Combobox, ComboboxEvent, Date, DatePicker, DatePickerEvent,
217 Dropzone, Field, FileInput, FileInputEvent, KeyOutcome, NumberInput, NumberInputEvent,
218 PasswordInput, PasswordInputEvent, PinInput, PinInputEvent, Radio, RadioGroup, RangeSlider,
219 RangeSliderEvent, Rating, Select, SelectEvent, Slider, SliderEvent, Switch, TagsInput,
220 TagsInputEvent, TextArea, TextAreaEvent, TextAreaSubmit, TextEdit, TextInput,
221 TextInputEvent, Time, TimePicker, TimePickerEvent, Transfer, TransferEvent, Weekday,
222 };
223 pub use crate::input::{SegmentedControl, SegmentedControlEvent};
224 pub use crate::layout::SimpleGrid;
225 pub use crate::layout::{
226 Align, AppShell, Breakpoint, Center, Container, Group, Justify, Responsive, Space, Stack,
227 };
228 pub use crate::markdown::{Markdown, MarkdownEditor, MarkdownEditorEvent, MarkdownStyle};
229 pub use crate::nav::{
230 Breadcrumbs, NavLink, NavigationMenu, NavigationMenuEvent, Pagination, PaginationEvent,
231 StatusBar, Stepper,
232 };
233 pub use crate::overlay::{
234 tooltip, ConfirmModal, ContextMenu, Drawer, HoverCard, LoadingOverlay, Menu, MenuBar,
235 MenuColumn, Modal, ModalCloser, OverlayHost, Placement, Popover, Side, Spotlight, Tooltip,
236 Tour, TourEvent,
237 };
238 pub use crate::reactive::{
239 provide, use_context, use_effect, use_form, use_memo, use_state, validators, watch,
240 Binding, Form, FormState, FormValues, Rule, Signal, Validator,
241 };
242 pub use crate::settings::{
243 SettingsPage, SettingsRow, SettingsSection, SettingsView, SettingsViewEvent,
244 };
245 pub use crate::style::{ColorValue, StyleExt, Variant};
246 pub use crate::theme::{
247 css, hsl, hsla, rgb, rgba, theme, Color, ColorName, ColorScheme, Size, Theme,
248 };
249 pub use crate::update::{
250 InstallKind, Relaunch, Release, ReleaseAsset, UpdateCheck, UpdateConfig, UpdateNotice,
251 UpdateNoticeEvent, UpdateOutcome, UpdatePrompt, UpdatePromptEvent, UpdateSource,
252 UpdateStage, Updater,
253 };
254 pub use crate::{badge, button, code, kbd, text, title};
255 pub use crate::{card, center, col, hstack, modal, paper, row, vstack, wrap, zstack};
256 pub use crate::{color, style};
257 pub use crate::{About, BuildKind, ResizeHandles, WindowControls};
258 pub use crate::{
259 ActionIcon, Anchor, Chip, CloseButton, Code, CopyButton, Glyph, Icon, IconName, Indicator,
260 Kbd, ScrollArea, Skeleton, ThemeIcon,
261 };
262 pub use crate::{
263 Badge, Button, Card, Carousel, CarouselEvent, Divider, Panel, Paper, Text, Title,
264 };
265 pub use crate::{Blockquote, Image, Mark, ObjectFit, Spoiler};
266 pub use crate::{Collapse, Transition, TransitionKind};
267 pub use crate::{Easing, Presence, PresenceEvent, Spring};
268 pub use crate::{SplitDirection, SplitPanel, SplitPanelEvent};
269 pub use crate::{WebView, WebViewEvent};
270}