macro_rules! examples {
($($name:ident $(($kind:ident))? $([$($variant:ident),*])?),* $(,)?) => {
$(
pub mod $name {
pub(crate) mod component;
#[allow(unused)]
pub use component::*;
pub(crate) mod variants {
pub(crate) mod main;
$(
$(
pub(crate) mod $variant;
)*
)?
}
}
)*
};
(@kind) => { ComponentType::Normal };
(@kind normal) => { ComponentType::Normal };
(@kind block) => { ComponentType::Block };
}
examples!(
accordion,
alert_dialog,
aspect_ratio,
avatar,
badge,
button[size, icon],
calendar[simple, internationalized, range, multi_month, unavailable_dates],
card,
checkbox,
collapsible,
color_picker,
combobox[controlled, disabled, dynamic],
context_menu,
date_picker[internationalized, range, multi_month, unavailable_dates],
dialog,
drag_and_drop_list[removable],
dropdown_menu,
hover_card,
input,
item[variant, size, image, group],
label,
menubar,
navbar,
pagination,
popover,
progress,
radio_group,
scroll_area,
select[multi],
separator,
sheet,
sidebar(block)[floating, inset],
skeleton,
slider[dynamic_range, range],
switch,
tabs,
textarea[outline, fade, ghost],
toast,
toggle,
toggle_group,
toolbar,
tooltip,
virtual_list[random_heights],
);