1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3pub mod accordion;
4pub mod alert;
5pub mod alert_dialog;
6pub mod aspect_ratio;
7pub mod avatar;
8pub mod badge;
9pub mod breadcrumb;
10pub mod button;
11pub mod button_group;
12pub mod calendar;
13pub mod card;
14pub mod carousel;
15#[cfg(feature = "plot")]
16pub mod chart;
17pub mod checkbox;
18pub mod collapsible;
19pub mod combobox;
20pub mod command;
21pub mod context_menu;
22pub mod data_table;
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 icons;
32pub mod input;
33pub mod input_otp;
34pub mod item;
35pub mod kbd;
36pub use kbd::{KbdProps, KbdSize, kbd, kbd_group, kbd_shortcut};
37pub mod label;
38pub mod light_switch;
39pub mod menu_primitives;
40pub mod menubar;
41pub mod navigation_menu;
42pub mod pagination;
43pub mod popover;
44pub mod progress;
45pub mod radio;
46pub mod resizable;
47pub mod scroll_area;
48pub mod select;
49pub mod separator;
50pub mod sheet;
51pub mod sidebar;
52pub mod skeleton;
53pub mod slider;
54pub mod spinner;
55pub mod switch;
56pub mod table;
57pub mod tabs;
58pub mod textarea;
59pub mod theme;
60pub mod toast;
61pub mod toggle;
62pub mod toggle_group;
63pub mod tokens;
64pub mod tooltip;
65pub mod typography;
66
67pub use accordion::{
68 AccordionContext, AccordionItemContext, AccordionItemProps, AccordionProps, AccordionState,
69 AccordionType, accordion, accordion_item,
70};
71pub use alert::{AlertProps, AlertVariant, alert};
72pub use alert_dialog::{AlertDialogProps, AlertDialogResult, alert_dialog};
73pub use aspect_ratio::{AspectRatioProps, aspect_ratio};
74pub use avatar::{AvatarProps, AvatarSize, AvatarVariant, avatar};
75pub use badge::{BadgeProps, BadgeSize, BadgeVariant, badge};
76pub use breadcrumb::{
77 BreadcrumbContext, BreadcrumbMetrics, BreadcrumbProps, BreadcrumbTokens, breadcrumb,
78 breadcrumb_ellipsis, breadcrumb_item, breadcrumb_link, breadcrumb_list, breadcrumb_page,
79 breadcrumb_separator,
80};
81pub use button::{
82 Button, ButtonJustify, ButtonProps, ButtonRadius, ButtonSize, ButtonStyle, ButtonVariant,
83 button,
84};
85pub use button_group::{ButtonGroup, ButtonGroupOrientation, button_group};
86pub use calendar::{
87 CalendarCaptionLayout, CalendarMode, CalendarProps, calendar, calendar_with_props,
88};
89pub use card::{CardProps, CardSize, CardTokens, CardVariant, card, card_tokens_with_options};
90pub use carousel::{
91 CarouselContentProps, CarouselContentResponse, CarouselContext, CarouselItemProps,
92 CarouselItemResponse, CarouselOptions, CarouselOrientation, CarouselProps, CarouselResponse,
93 carousel, carousel_content, carousel_item, carousel_next, carousel_previous,
94};
95#[cfg(feature = "plot")]
96pub use chart::{
97 BarChart, ChartIndicator, ChartLegend, ChartLegendItem, ChartProps, ChartResponse,
98 ChartTooltip, ChartTooltipItem, LineChart, ShadcnChart, chart,
99};
100pub use checkbox::{
101 CheckboxCycle, CheckboxOptions, CheckboxProps, CheckboxSize, CheckboxState, CheckboxVariant,
102 checkbox, checkbox_state, checkbox_with_props,
103};
104pub use collapsible::{CollapsibleContentProps, CollapsibleContext, CollapsibleProps, collapsible};
105pub use combobox::{ComboboxProps, ComboboxSize, combobox, combobox_with_props};
106pub use command::{
107 CommandContext, CommandDialogProps, CommandGroupProps, CommandInputProps, CommandItemProps,
108 CommandListProps, CommandProps, OnCommandSelect, command, command_dialog, command_empty,
109 command_group, command_input, command_item, command_list, command_separator, command_shortcut,
110};
111pub use context_menu::{
112 ContextMenuCheckboxItemProps, ContextMenuItemProps, ContextMenuItemVariant,
113 ContextMenuLabelProps, ContextMenuRadioGroupProps, ContextMenuRadioItemProps,
114 ContextMenuSubProps, ContextMenuTokens, context_menu, context_menu_checkbox_item,
115 context_menu_item, context_menu_label, context_menu_radio_group, context_menu_radio_item,
116 context_menu_separator, context_menu_shortcut, context_menu_sub, context_menu_tokens,
117};
118pub use data_table::{
119 DataTableAlign, DataTableColumn, DataTableProps, DataTableResponse, SortDirection, SortValue,
120 data_table,
121};
122pub use date_picker::{
123 DatePickerIconPosition, DatePickerProps, DateRange, DateRangePickerProps, date_picker,
124 date_picker_with_props, date_range_picker, date_range_picker_with_props,
125};
126pub use dialog::{
127 DialogAlign, DialogLayoutTokens, DialogProps, DialogSize, DialogTokens, compute_dialog_rect,
128 dialog, dialog_layout_tokens, dialog_tokens_with_options,
129};
130pub use drawer::{DrawerProps, DrawerSide, drawer, drawer_description, drawer_title};
131pub use dropdown_menu::{
132 DropdownMenuCheckboxItemProps, DropdownMenuItemProps, DropdownMenuItemVariant,
133 DropdownMenuLabelProps, DropdownMenuProps, DropdownMenuRadioGroupProps,
134 DropdownMenuRadioItemProps, DropdownMenuSubProps, DropdownMenuTokens, DropdownMenuTriggerProps,
135 DropdownMenuTriggerResponse, dropdown_menu, dropdown_menu_checkbox_item, dropdown_menu_group,
136 dropdown_menu_item, dropdown_menu_label, dropdown_menu_radio_group, dropdown_menu_radio_item,
137 dropdown_menu_separator, dropdown_menu_shortcut, dropdown_menu_sub, dropdown_menu_tokens,
138 dropdown_menu_trigger,
139};
140pub use empty::{EmptyProps, empty};
141pub use field::{FieldProps, field};
142pub use form::{
143 FieldState, FieldValue, FormControl, FormDescription, FormDescriptionProps, FormItem,
144 FormItemContext, FormItemProps, FormLabel, FormLabelProps, FormMessage, FormMessageProps,
145 FormState, ValidationMode, Validator, compose, email, form_control, form_description,
146 form_item, form_label, form_message, max_length, min_length, none, pattern, required,
147};
148pub use hover_card::{HoverCardProps, hover_card, hover_card_content, hover_card_trigger};
149pub use icons::{icon_calendar, icon_check, icon_chevrons_up_down};
150pub use input::{
151 Input, InputConfig, InputProps, InputRadius, InputSize, InputStyle, InputType, InputVariant,
152 input, input_with_config, input_with_props, resolve_input_style,
153};
154pub use input_otp::{
155 InputOTPContext, InputOTPProps, input_otp, input_otp_group, input_otp_separator,
156 input_otp_slot, input_otp_slot_last,
157};
158pub use item::{ItemProps, item};
159pub use label::{Label, LabelProps, LabelVariant, label, label_with_props};
160pub use light_switch::{LightSwitchProps, light_switch};
161pub use menu_primitives::{
162 MenuCheckboxItemProps, MenuItemProps, MenuItemVariant, MenuLabelProps, MenuRadioGroupProps,
163 MenuRadioItemProps, MenuSubProps, MenuTokens, menu_checkbox_item, menu_item, menu_label,
164 menu_radio_group, menu_radio_item, menu_separator, menu_shortcut, menu_sub, menu_tokens,
165};
166pub use menubar::{
167 MenubarMenuProps, MenubarProps, menubar, menubar_item, menubar_menu, menubar_separator,
168};
169pub use navigation_menu::{
170 NavigationMenuContentProps, NavigationMenuContext, NavigationMenuItemContext,
171 NavigationMenuLinkProps, NavigationMenuLinkResponse, NavigationMenuLinkState,
172 NavigationMenuProps, navigation_menu, navigation_menu_content, navigation_menu_item,
173 navigation_menu_link, navigation_menu_list, navigation_menu_trigger,
174};
175pub use pagination::{
176 OnPageChange, PaginationLinkProps, PaginationProps, pagination, pagination_content,
177 pagination_ellipsis, pagination_item, pagination_link, pagination_next, pagination_previous,
178};
179pub use popover::{
180 PopoverAlign, PopoverCollisionPadding, PopoverPlacement, PopoverPortalContainer, PopoverProps,
181 PopoverSide, PopoverSticky, PopoverUpdatePositionStrategy, popover,
182};
183pub use progress::{ProgressProps, ProgressSize, ProgressVariant, progress};
184pub use radio::{
185 GridLayout, RadioCardVariant, RadioDirection, RadioGroup, RadioGroupProps, RadioOption,
186 radio_group,
187};
188pub use resizable::{
189 ResizableContext, ResizableDirection, ResizableHandleProps, ResizablePanelGroupProps,
190 ResizablePanelProps, resizable_handle, resizable_panel, resizable_panel_group,
191};
192pub use scroll_area::{
193 ScrollAreaColors, ScrollAreaDir, ScrollAreaProps, ScrollAreaRadius, ScrollAreaSize,
194 ScrollAreaType, ScrollDirection, scroll_area,
195};
196pub use select::{
197 ContentVariant, PopupPosition, SelectAlign, SelectAutoFocusEvent, SelectCollisionPadding,
198 SelectDirection, SelectEscapeKeyDownEvent, SelectItem, SelectPointerDownOutsideEvent,
199 SelectPortalContainer, SelectProps, SelectPropsSimple, SelectRadius, SelectSide, SelectSize,
200 SelectSticky, SelectStyle, SelectUpdatePositionStrategy, TriggerVariant, select,
201 select_with_items,
202};
203pub use separator::{SeparatorOrientation, SeparatorProps, SeparatorSize, separator};
204pub use sheet::{
205 SheetContext, SheetProps, SheetSide, sheet, sheet_content, sheet_description, sheet_footer,
206 sheet_header, sheet_title, sheet_trigger,
207};
208pub use sidebar::{
209 SidebarContext, SidebarGroupLabelProps, SidebarGroupProps, SidebarMenuButtonProps,
210 SidebarMenuButtonSize, SidebarProps, SidebarProviderProps, SidebarResponse, SidebarSide,
211 sidebar, sidebar_content, sidebar_footer, sidebar_group, sidebar_group_content,
212 sidebar_group_label, sidebar_header, sidebar_menu, sidebar_menu_button, sidebar_menu_item,
213 sidebar_provider, sidebar_trigger,
214};
215pub use skeleton::{SkeletonProps, skeleton, skeleton_text};
216pub use slider::{
217 SliderOrientation, SliderProps, SliderRadius, SliderSize, SliderVariant, slider,
218 slider_with_props,
219};
220pub use spinner::{SpinnerProps, SpinnerSize, SpinnerVariant, spinner, spinner_with_content};
221pub use switch::{
222 OnCheckedChange, SwitchOptions, SwitchProps, switch, switch_with_options, switch_with_props,
223};
224pub use table::{
225 TableCellProps, TableContext, TableProps, TableRowProps, TableRowResponse, TableSize,
226 TableVariant, table, table_body, table_caption, table_cell, table_footer, table_head,
227 table_header, table_row,
228};
229pub use tabs::{
230 TabItem, TabsActivationMode, TabsContentForceMount, TabsDirection, TabsDirectionality,
231 TabsJustify, TabsListLoop, TabsOrientation, TabsProps, TabsSize, TabsVariant, TabsWrap, tabs,
232};
233pub use textarea::{
234 TextareaBuilder, TextareaBuilder as Textarea, TextareaProps, TextareaRadius, TextareaResize,
235 TextareaSize, TextareaStyle, TextareaVariant, textarea_with_props,
236};
237pub use theme::{ControlVisuals, InputVisuals, Theme};
238pub use toast::{Toast, ToastPosition, ToastPromise, ToastVariant, Toaster};
239pub use toggle::toggle;
240pub use toggle_group::{
241 ToggleGroupContext, ToggleGroupProps, toggle_group, toggle_group_item, toggle_group_item_last,
242};
243pub use tokens::{
244 ColorPalette, ControlSize, ControlVariant, DEFAULT_FOCUS, DEFAULT_MOTION, DEFAULT_RADIUS,
245 FocusTokens, InputTokens, InputVariant as TokenInputVariant, MotionTokens, RadiusScale,
246 ShadcnBaseColor, StateColors, SwitchSize, SwitchTokenOptions, SwitchTokens, SwitchVariant,
247 ToggleVariant, VariantTokens, checkbox_metrics, checkbox_tokens, input_tokens, mix,
248 switch_metrics, switch_metrics_for_control_size, switch_tokens, switch_tokens_with_options,
249 toggle_button_tokens, toggle_metrics, variant_tokens,
250};
251pub use tooltip::{
252 TooltipAlign, TooltipAnimationState, TooltipCollisionPadding, TooltipEscapeKeyDownEvent,
253 TooltipOpenState, TooltipPointerDownOutsideEvent, TooltipPortalContainer, TooltipPosition,
254 TooltipProps, TooltipSide, TooltipState, TooltipSticky, TooltipStyle,
255 TooltipUpdatePositionStrategy, tooltip,
256};
257pub use typography::{
258 BlockquoteProps, CodeProps, CodeVariant, HeadingAs, HeadingProps, LinkProps, LinkUnderline,
259 ResolvedTextStyle, ShadcnTypographyVariant, TextAlign, TextAs, TextProps, TextTrim, TextWeight,
260 TextWrap, TypographyColor, TypographyProps, blockquote, code, heading, link,
261 resolve_shadcn_style, text, typography,
262};