Skip to main content

iced_shadcn/
lib.rs

1pub mod accordion;
2pub mod alert;
3pub mod alert_dialog;
4pub mod aspect_ratio;
5pub mod avatar;
6pub mod badge;
7pub mod breadcrumb;
8pub mod button;
9pub mod button_group;
10#[cfg(feature = "date-components")]
11pub mod calendar;
12pub mod card;
13pub mod carousel;
14#[cfg(feature = "charts")]
15pub mod chart;
16pub mod checkbox;
17pub mod collapsible;
18pub mod combobox;
19pub mod command;
20pub mod context_menu;
21pub mod data_table;
22#[cfg(feature = "date-components")]
23pub mod date_picker;
24pub mod dialog;
25pub mod drawer;
26pub mod dropdown_menu;
27pub mod empty;
28pub mod field;
29pub mod form;
30pub mod hover_card;
31pub mod image_cropper;
32pub mod input;
33pub mod input_group;
34pub mod input_otp;
35pub mod item;
36pub mod kbd;
37pub mod label;
38pub mod light_switch;
39mod menu_primitives;
40pub mod menubar;
41pub mod navigation_menu;
42pub mod new_api;
43mod overlay;
44pub mod pagination;
45pub mod popover;
46pub mod progress;
47pub mod radio;
48pub mod rename;
49pub mod resizable;
50pub mod scroll_area;
51pub mod select;
52pub mod separator;
53pub mod sheet;
54pub mod sidebar;
55pub mod skeleton;
56pub mod slider;
57pub mod spinner;
58pub mod switch;
59pub mod table;
60pub mod tabs;
61pub mod textarea;
62pub mod theme;
63pub mod toast;
64pub mod toggle_group;
65pub mod tokens;
66pub mod tooltip;
67pub mod tree_view;
68pub mod tree_viewer;
69pub mod typography;
70
71pub use accordion::{AccordionItemProps, AccordionProps, AccordionState, AccordionType, accordion};
72pub use alert::{AlertProps, AlertVariant, alert};
73pub use alert_dialog::{AlertDialogProps, alert_dialog};
74pub use aspect_ratio::{AspectRatioProps, aspect_ratio};
75pub use avatar::{AvatarProps, AvatarSize, AvatarVariant, avatar};
76pub use badge::{BadgeProps, BadgeSize, BadgeVariant, badge};
77pub use breadcrumb::{
78    BreadcrumbContext, BreadcrumbMetrics, BreadcrumbProps, BreadcrumbTokens, breadcrumb,
79    breadcrumb_ellipsis, breadcrumb_item, breadcrumb_link, breadcrumb_list, breadcrumb_page,
80    breadcrumb_separator,
81};
82pub use button::{
83    ButtonProps, ButtonRadius, ButtonSize, ButtonVariant, button, button_content, icon_button,
84};
85pub use button_group::{ButtonGroup, ButtonGroupItem, ButtonGroupOrientation, button_group};
86#[cfg(feature = "date-components")]
87pub use calendar::{
88    CalendarAction, CalendarCaptionLayout, CalendarMode, CalendarProps, CalendarState,
89    CalendarView, calendar,
90};
91pub use card::{CardProps, CardSize, CardVariant, card};
92pub use carousel::{
93    CarouselContentProps, CarouselOptions, CarouselOrientation, CarouselState, carousel_content,
94    carousel_next, carousel_previous,
95};
96#[cfg(feature = "charts")]
97pub use chart::{
98    AxisFormatter, BarChart, ChartGrid, ChartPlot, ChartProps, ChartResponse, LineChart, chart,
99};
100pub use checkbox::{
101    CheckboxCycle, CheckboxProps, CheckboxSize, CheckboxState, CheckboxVariant, checkbox,
102};
103pub use collapsible::{CollapsibleContentProps, CollapsibleProps, collapsible};
104pub use combobox::{
105    ButtonJustify, ComboboxProps, ComboboxSize, SelectItem as ComboboxItem, combobox,
106};
107pub use command::{
108    CommandDialogProps, CommandEmptyProps, CommandFilter, CommandGroupProps, CommandInputProps,
109    CommandItemProps, CommandLinkItemProps, CommandListEntry, CommandListProps,
110    CommandLoadingProps, CommandProps, CommandSeparatorProps, command, command_dialog,
111};
112pub use context_menu::{
113    ContextMenuCheckboxItem, ContextMenuContentProps, ContextMenuContentSize,
114    ContextMenuContentVariant, ContextMenuEntry, ContextMenuItem, ContextMenuItemProps,
115    ContextMenuProps, ContextMenuRadioItem, ContextMenuSubMenu, context_menu,
116};
117pub use data_table::{
118    DataTableAction, DataTableAlign, DataTableColumn, DataTableProps, DataTableResponse,
119    DataTableState, SortDirection, SortValue, data_table,
120};
121#[cfg(feature = "date-components")]
122pub use date_picker::{
123    DatePickerIconPosition, DatePickerProps, DateRange, DateRangePickerProps, date_picker,
124    date_range_picker,
125};
126pub use dialog::{DialogAlign, DialogProps, DialogSize, dialog};
127pub use drawer::{DrawerProps, DrawerSide, drawer};
128pub use dropdown_menu::{
129    DropdownMenuCheckboxItem, DropdownMenuContentProps, DropdownMenuContentSize,
130    DropdownMenuContentVariant, DropdownMenuEntry, DropdownMenuItem, DropdownMenuItemProps,
131    DropdownMenuProps, DropdownMenuRadioItem, DropdownMenuSubMenu, dropdown_menu,
132};
133pub use empty::{
134    EmptyContentProps, EmptyDescriptionProps, EmptyHeaderProps, EmptyMediaProps, EmptyMediaVariant,
135    EmptyProps, EmptyRootProps, EmptyTitleProps, empty, empty_content, empty_description,
136    empty_header, empty_media, empty_root, empty_title,
137};
138pub use field::{FieldProps, field};
139pub use form::{
140    FieldValue, FormState, ValidationMode, compose, form_description, form_item, form_message,
141    min_length, none, required,
142};
143pub use hover_card::{HoverCardProps, HoverCardSize, hover_card};
144#[cfg(feature = "image-cropper-picker")]
145pub use image_cropper::image_cropper_pick_file_task;
146pub use image_cropper::{
147    ImageCropRect, ImageCropResult, ImageCropShape, ImageCropStatus, ImageCropperAction,
148    ImageCropperContext, ImageCropperProps, ImageCropperSource, ImageCropperState,
149    image_cropper_cancel, image_cropper_canvas, image_cropper_controls, image_cropper_crop,
150    image_cropper_dialog, image_cropper_preview, image_cropper_root, image_cropper_upload_trigger,
151};
152pub use input::{InputProps, InputSize, InputVariant, input};
153pub use input_group::{
154    InputGroupAddon, InputGroupAddonAlign, InputGroupAddonProps, InputGroupButtonProps,
155    InputGroupButtonSize, InputGroupInputProps, InputGroupItem, InputGroupProps,
156    InputGroupTextareaProps, input_group, input_group_addon, input_group_button,
157    input_group_control, input_group_input, input_group_text, input_group_textarea,
158    input_group_textarea_apply_action,
159};
160pub use input_otp::{
161    InputOTPContext, InputOTPOnComplete, InputOTPProps, InputOTPState, create_otp_slots, input_otp,
162    input_otp_group, input_otp_separator, input_otp_slot, input_otp_slot_last, input_otp_unified,
163};
164pub use item::{ItemProps, item};
165pub use kbd::{KbdGroupProps, KbdProps, KbdSize, kbd, kbd_group, kbd_shortcut};
166pub use label::{LabelProps, LabelVariant, label, label_with_props};
167pub use light_switch::{LightSwitchProps, light_switch};
168pub use menubar::{MenubarItem, MenubarProps, menubar};
169pub use navigation_menu::{
170    NavigationMenuAlign, NavigationMenuContent, NavigationMenuContentProps,
171    NavigationMenuIndicator, NavigationMenuItem, NavigationMenuJustify, NavigationMenuLink,
172    NavigationMenuLinkItem, NavigationMenuLinkProps, NavigationMenuLinkVariant, NavigationMenuList,
173    NavigationMenuListProps, NavigationMenuOrientation, NavigationMenuProps, NavigationMenuRoot,
174    NavigationMenuSide, NavigationMenuSize, NavigationMenuTrigger, NavigationMenuTriggerItem,
175    NavigationMenuViewport, NavigationMenuWrap, navigation_menu, navigation_menu_content,
176    navigation_menu_indicator, navigation_menu_item, navigation_menu_link,
177    navigation_menu_link_item, navigation_menu_list, navigation_menu_root, navigation_menu_trigger,
178    navigation_menu_trigger_style, navigation_menu_trigger_with, navigation_menu_viewport,
179};
180pub use pagination::{
181    PaginationItem, PaginationLinkProps, PaginationProps, pagination, pagination_content,
182    pagination_ellipsis, pagination_item, pagination_link, pagination_next, pagination_previous,
183};
184pub use popover::{PopoverProps, PopoverSize, popover};
185pub use progress::{ProgressProps, ProgressSize, ProgressVariant, progress};
186pub use radio::{RadioDirection, RadioGroupProps, RadioItem, radio_group};
187pub use rename::{
188    RenameAction, RenameActionHandler, RenameBlurBehavior, RenameButtonProps, RenameContext,
189    RenameFallbackSelectionBehavior, RenameInputTag, RenameMode, RenameProviderProps,
190    RenameRootProps, RenameSelectionRequest, RenameState, RenameUpdate, rename_apply_action,
191    rename_cancel, rename_edit, rename_provider, rename_root, rename_save, rename_update_task,
192};
193pub use resizable::{
194    ResizableContext, ResizableDirection, ResizableHandleProps, ResizablePanelGroupProps,
195    ResizablePanelProps, resizable_handle, resizable_panel, resizable_panel_group,
196};
197pub use scroll_area::{
198    ScrollAreaProps, ScrollAreaScrollbarVisibility, ScrollAreaScrollbars, ScrollAreaSize,
199    scroll_area,
200};
201pub use select::{
202    ContentVariant, SelectEntry, SelectGroup, SelectItem, SelectProps, SelectSize, TriggerVariant,
203    select, select_entries,
204};
205pub use separator::{SeparatorOrientation, SeparatorProps, SeparatorSize, separator};
206pub use sheet::{
207    SheetProps, SheetSide, sheet, sheet_description, sheet_footer, sheet_header, sheet_title,
208};
209pub use sidebar::{
210    SidebarContext, SidebarGroupLabelProps, SidebarGroupProps, SidebarMenuButtonProps,
211    SidebarMenuButtonSize, SidebarProps, SidebarProviderProps, SidebarSide, sidebar,
212    sidebar_content, sidebar_footer, sidebar_group, sidebar_group_content, sidebar_group_label,
213    sidebar_header, sidebar_menu, sidebar_menu_button, sidebar_menu_item, sidebar_provider,
214    sidebar_trigger,
215};
216pub use skeleton::{SkeletonProps, skeleton, skeleton_text};
217pub use slider::{
218    SliderOrientation, SliderProps, SliderSize, SliderVariant, slider, vertical_slider,
219};
220pub use spinner::{Spinner, SpinnerSize, spinner};
221pub use switch::{SwitchProps, SwitchSize, SwitchVariant, switch};
222pub use table::{
223    TableCellProps, TableContext, TableProps, TableRowProps, TableSize, TableVariant, table,
224    table_body, table_caption, table_cell, table_footer, table_head, table_header, table_row,
225};
226pub use tabs::{
227    TabItem, TabsActivationMode, TabsContentItem, TabsDirection, TabsHover, TabsJustify,
228    TabsListLoop, TabsListProps, TabsListVariant, TabsOrientation, TabsProps, TabsRootProps,
229    TabsSize, TabsTriggerContent, TabsTriggerItem, TabsVariant, TabsWrap, tabs, tabs_content,
230    tabs_contents, tabs_list, tabs_root, tabs_trigger, tabs_trigger_with,
231};
232pub use textarea::{
233    TextareaProps, TextareaResize, TextareaSize, TextareaVariant, textarea, textarea_apply_action,
234};
235pub use theme::{
236    ColorToken, CommandStyleTokens, EmptyStyleTokens, FieldStyleTokens, InputStyleTokens,
237    MenuStyleTokens, NavigationMenuStyleTokens, RadiusToken, ScrollAreaStyleTokens, ShadowStyle,
238    SidebarStyleTokens, SpacingToken, SwitchStyleTokens, TabsStyleTokens, Theme, ThemeStyles,
239    ThemeTokenRegistry, ThemeTokensSource, ToastStyleTokens,
240};
241pub use toast::{Toast, ToastPosition, ToastPromise, ToastVariant, Toaster};
242pub use toggle_group::{
243    ToggleGroupContext, ToggleGroupProps, ToggleVariant, toggle_group, toggle_group_item,
244    toggle_group_item_last,
245};
246pub use tokens::{AccentColor, ControlSize, ControlVariant, Palette, Radius, Spacing};
247pub use tooltip::{TooltipPosition, TooltipProps, tooltip};
248pub use tree_view::{
249    TreeNode, TreeScrollbarVisibility, TreeViewAction, TreeViewProps, TreeViewState, tree_view,
250};
251pub use tree_viewer::{
252    FlatNode, FolderState, TreeViewer, TreeViewerHandlers, TreeViewerProps, TreeViewerState,
253    tree_viewer,
254};
255pub use typography::{
256    HeadingAs, HeadingProps, LeadingTrim, TextAlign, TextAs, TextProps, TextSize, TextWeight,
257    TextWrap, heading, text,
258};