pub mod action;
pub mod assets;
pub mod catalog;
pub mod component;
pub mod config;
pub mod data;
pub mod expression;
pub mod layout;
pub mod loader;
pub mod plugin;
pub mod plugins;
pub mod render;
pub mod resolve;
pub mod spec;
pub mod visibility;
pub(crate) mod runtime;
pub use action::{Action, ActionOutcome, ConfirmDialog, DialogVariant, HttpMethod, NotifyVariant};
pub use assets::FERRO_BASE_CSS;
pub use component::{
ActionCardProps, ActionCardVariant, AlertProps, AlertVariant, AvatarProps, BadgeProps,
BadgeVariant, BreadcrumbItem, BreadcrumbProps, ButtonGroupProps, ButtonProps, ButtonType,
ButtonVariant, CardProps, CardVariant, CheckboxListProps, CheckboxProps, ChecklistItem,
ChecklistProps, CollapsibleProps, Column, ColumnFormat, DataTableProps, DescriptionItem,
DescriptionListProps, DropdownMenuAction, DropdownMenuProps, EmptyStateProps, FormMaxWidth,
FormProps, FormSectionProps, GapSize, GridProps, HeaderProps, IconPosition, ImageProps,
InputProps, InputType, KanbanBoardProps, KanbanColumnProps, ModalProps,
NotificationDropdownProps, NotificationItem, Orientation, PageHeaderProps, PaginationProps,
ProductTileProps, ProgressProps, RawHtmlProps, RichTextEditorProps, SelectOption, SelectProps,
SeparatorProps, SidebarGroup, SidebarNavItem, SidebarProps, Size, SkeletonProps, SortDirection,
StatCardProps, SwitchProps, Tab, TableProps, TabsProps, TextElement, TextProps, ToastProps,
ToastVariant,
};
pub use config::JsonUiConfig;
pub use layout::{
register_layout, render_layout, DashboardLayout, DashboardLayoutConfig, Layout, LayoutContext,
LayoutRegistry, NavItem, SidebarSection,
};
pub use catalog::{global_catalog, Catalog, CatalogError, ComponentSpec};
pub use expression::resolve_expressions;
pub use loader::{load_cached, LoadError};
pub use plugin::{
collect_plugin_assets, global_plugin_registry, register_plugin, registered_plugin_types,
with_plugin, Asset, CollectedAssets, JsonUiPlugin, PluginRegistry,
};
pub use plugins::{register_built_in_plugins, MapPlugin, RichTextEditorPlugin};
pub use render::{render_spec_to_html, render_spec_to_html_with_plugins, RenderResult};
pub use resolve::{
expand_directives, resolve_actions, resolve_actions_strict, resolve_errors, resolve_errors_all,
};
pub use spec::{
DataRef, Element, ElementBuilder, Spec, SpecBuilder, SpecError, TitleBinding,
MAX_NESTING_DEPTH, SCHEMA_VERSION,
};
pub use visibility::{Visibility, VisibilityCondition, VisibilityOperator};
#[cfg(feature = "projections")]
pub mod projection;
#[cfg(feature = "projections")]
pub use projection::{JsonUiRenderer, ProjectionError, RenderMode, VisualContext};