///|
/// Public façade: every component is re-exported here so callers use a
/// single import (`@sumi.button`, `@sumi.select`, …) while the
/// implementation stays organized in category packages. When adding a
/// component, add it to the matching `pub using` block — the committed
/// `pkg.generated.mbti` snapshot will flag a missing entry.
///|
pub using @primitives {
add_tile,
avatar,
badge,
button,
credits,
favorite_toggle,
icon,
icon_adjust,
icon_adjust_fill,
icon_align_left,
icon_at,
icon_caret_down,
icon_arrow_down,
icon_arrow_up,
icon_arrow_up_fill,
icon_button,
icon_chat_history,
icon_check,
icon_check_fill,
icon_check_fill_large,
icon_chevron_down,
icon_chevron_down_fill,
icon_chevron_left,
icon_chevron_right,
icon_chevron_right_fill,
icon_chevron_up,
icon_chevron_up_fill,
icon_clock,
icon_close_circle,
icon_copy,
icon_crop,
icon_delete,
icon_download,
icon_draw,
icon_edit,
icon_element,
icon_expand,
icon_folder,
icon_fullscreen_alt,
icon_grid,
icon_group,
icon_image,
icon_image_fill,
icon_important,
icon_info_circle_fill,
icon_layers,
icon_minus,
icon_more,
icon_new_conversation,
icon_play,
icon_plus,
icon_plus_fill,
icon_ratio,
icon_reset,
icon_scissors,
icon_search,
icon_skill,
icon_slash,
icon_sparkle_fill,
icon_sound,
icon_sparkle,
icon_star,
icon_star_fill,
icon_stop_fill,
icon_target,
icon_text,
icon_tick_circle_fill,
icon_timeline,
icon_upload,
icon_upload_fill,
icon_video,
icon_x,
icon_x_fill,
kbd,
media_tag,
result_chip,
spinner,
tag,
type ButtonSize,
type ButtonVariant,
type MediaTagKind,
type MediaTagState,
type MediaTagVariant,
type ResultChipSize,
type TagVariant,
}
///|
pub using @feedback {
alert,
empty_state,
progress,
shimmer_text,
skeleton,
skeleton_lines,
skeleton_tile,
status_badge,
tool_call_row,
type AlertVariant,
type StatusBadgeState,
type ToolCallState,
}
///|
pub using @layout {
card,
chat_bubble,
card_section,
divider,
pagination,
session_divider,
session_header,
session_item,
session_list,
session_status,
session_title,
md_text,
generation_meta,
shortcuts_panel,
tabs,
task_card,
task_list,
toolbar,
toolbar_divider,
type SessionStatus,
type MdTextKind,
type ShortcutItem,
type ShortcutSection,
type TabEntry,
}
///|
pub using @forms {
agent_input,
agent_tool_button,
attachment_strip,
hitl_card,
editable_text,
action_chip,
checkbox,
chip,
chip_panel,
input,
prompt_box,
segmented,
select,
send_button,
skill_chip,
slider,
slider_field,
stepper,
switch,
textarea,
type AttachmentItem,
type AttachmentKind,
type HitlItem,
type SegmentedItem,
type SelectVariant,
type SkillMark,
}
///|
pub using @overlays {
checkbox_menu,
context_menu,
dialog,
dropdown_menu,
menu_chevron,
popover,
toast,
tooltip,
type CheckboxMenuGroup,
type CheckboxMenuItem,
type MenuAlign,
type MenuEntry,
type MenuItem,
type MenuSide,
type ToastVariant,
type TooltipSide,
}