/** * `@ekklesia/ui` — the foundational Ekklesia elements every Ekklesia screen is built from, whether * that screen belongs to the Dashboard shell, to a module's own management UI, or to a renderer one * module contributes to another. * * Every element draws its colour, type, spacing, radius, shadow, and interaction state from * `@ekklesia/design-tokens`. There is no hardcoded brand value anywhere in the package, which is * what makes a future theme editor possible rather than aspirational. * * This is deliberately **not** a large component catalogue, a design-system site, a brand builder, * or a theme editor. It is the set a real module dashboard cannot be built without, and nothing * more; a component earns its place here when two independent consumers need the same one. */ export { classNames } from "./class-names.js"; export { Button, type ButtonProps, Checkbox, type CheckboxProps, type EkklesiaButtonVariant, type EkklesiaControlSize, Field, type FieldProps, IconButton, type IconButtonProps, Select, type SelectProps, TextInput, type TextInputProps, } from "./controls.js"; export { List, type ListItemProps, ListItem, type ListProps, Table, TableBody, TableCell, type TableCellProps, TableHead, type TableProps, TableRow, type TableRowProps, type TableSectionProps, } from "./data.js"; export { EkklesiaUiStyles } from "./EkklesiaUiStyles.js"; export { Badge, type BadgeProps, type EkklesiaStatusTone, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, LoadingState, type LoadingStateProps, Toast, type ToastProps, ToastStack, type ToastStackProps, } from "./feedback.js"; export { EKKLESIA_UI_STYLE_ATTRIBUTE, EKKLESIA_UI_STYLESHEET, type EkklesiaUiStyleRoot, installEkklesiaUiStyles, } from "./styles.js"; export { Dialog, type DialogProps, Panel, type PanelProps, type TabDefinition, Tabs, type TabsProps, } from "./surfaces.js";