Coverage report: 74%

Files Functions Classes

coverage.py v7.13.5, created at 2026-08-10 04:11 +0800

File class   statements missing excluded   coverage
src / lexigram / ui / __init__.py (no class)   17 1 63   94%
src / lexigram / ui / accessibility / __init__.py (no class)   4 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py (no class)   68 37 0   46%
src / lexigram / ui / accessibility / _aria_types.py AriaLive   0 0 0   100%
src / lexigram / ui / accessibility / _aria_types.py AriaRole   0 0 0   100%
src / lexigram / ui / accessibility / _aria_types.py AriaAttrs   44 0 0   100%
src / lexigram / ui / accessibility / _aria_types.py (no class)   74 0 0   100%
src / lexigram / ui / atoms / __init__.py (no class)   16 0 0   100%
src / lexigram / ui / atoms / badge.py Badge   5 0 0   100%
src / lexigram / ui / atoms / badge.py (no class)   8 0 0   100%
src / lexigram / ui / atoms / button.py Button   14 0 0   100%
src / lexigram / ui / atoms / button.py SubmitButton   11 0 0   100%
src / lexigram / ui / atoms / button.py (no class)   14 0 0   100%
src / lexigram / ui / atoms / divider.py Divider   9 0 0   100%
src / lexigram / ui / atoms / divider.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / editors.py RichEditor   20 20 0   0%
src / lexigram / ui / atoms / editors.py MarkdownEditor   22 22 0   0%
src / lexigram / ui / atoms / editors.py (no class)   9 0 0   100%
src / lexigram / ui / atoms / fieldset.py Fieldset   8 8 0   0%
src / lexigram / ui / atoms / fieldset.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / file_upload.py FileUpload   38 38 0   0%
src / lexigram / ui / atoms / file_upload.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / icon.py Icon   13 0 0   100%
src / lexigram / ui / atoms / icon.py (no class)   7 0 0   100%
src / lexigram / ui / atoms / icons.py (no class)   17 1 0   94%
src / lexigram / ui / atoms / inputs / __init__.py (no class)   10 0 0   100%
src / lexigram / ui / atoms / inputs / base.py AbstractInput   25 25 1   0%
src / lexigram / ui / atoms / inputs / base.py (no class)   23 0 1   100%
src / lexigram / ui / atoms / inputs / date.py DateInput   10 10 0   0%
src / lexigram / ui / atoms / inputs / date.py (no class)   7 0 0   100%
src / lexigram / ui / atoms / inputs / file.py FileUpload   11 11 0   0%
src / lexigram / ui / atoms / inputs / file.py MultiFileUpload   10 10 0   0%
src / lexigram / ui / atoms / inputs / file.py AvatarUpload   8 8 0   0%
src / lexigram / ui / atoms / inputs / file.py (no class)   15 0 0   100%
src / lexigram / ui / atoms / inputs / numeric.py NumberInput   6 6 0   0%
src / lexigram / ui / atoms / inputs / numeric.py Slider   12 12 0   0%
src / lexigram / ui / atoms / inputs / numeric.py (no class)   12 0 0   100%
src / lexigram / ui / atoms / inputs / selection / __init__.py (no class)   5 0 0   100%
src / lexigram / ui / atoms / inputs / selection / choice.py Radio   15 15 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py MultiSelect   24 24 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py CheckboxList   16 16 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py (no class)   17 0 0   100%
src / lexigram / ui / atoms / inputs / selection / relational.py BelongsTo   8 8 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py MorphTo   13 13 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py (no class)   12 0 0   100%
src / lexigram / ui / atoms / inputs / selection / select.py Select   20 20 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py NativeMultiSelect   2 2 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py LazySelect   15 15 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py (no class)   13 0 0   100%
src / lexigram / ui / atoms / inputs / special / __init__.py (no class)   3 0 0   100%
src / lexigram / ui / atoms / inputs / special / complex.py Rating   15 15 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py TagsInput   17 17 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py KeyValueField   32 32 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py (no class)   18 0 0   100%
src / lexigram / ui / atoms / inputs / special / simple.py Hidden   2 2 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py TimePicker   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py ColorPicker   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py (no class)   11 0 0   100%
src / lexigram / ui / atoms / inputs / text.py TextInput   4 4 0   0%
src / lexigram / ui / atoms / inputs / text.py PasswordInput   1 1 0   0%
src / lexigram / ui / atoms / inputs / text.py EmailInput   1 1 0   0%
src / lexigram / ui / atoms / inputs / text.py TextArea   5 5 0   0%
src / lexigram / ui / atoms / inputs / text.py (no class)   15 0 0   100%
src / lexigram / ui / atoms / inputs / toggle.py Toggle   11 11 0   0%
src / lexigram / ui / atoms / inputs / toggle.py Checkbox   0 0 0   100%
src / lexigram / ui / atoms / inputs / toggle.py (no class)   10 0 0   100%
src / lexigram / ui / atoms / label.py Label   18 0 0   100%
src / lexigram / ui / atoms / label.py (no class)   9 0 0   100%
src / lexigram / ui / atoms / layout.py Row   13 0 0   100%
src / lexigram / ui / atoms / layout.py Col   15 0 0   100%
src / lexigram / ui / atoms / layout.py Aside   15 0 0   100%
src / lexigram / ui / atoms / layout.py Grid   22 0 0   100%
src / lexigram / ui / atoms / layout.py Stack   12 0 0   100%
src / lexigram / ui / atoms / layout.py Container   11 0 0   100%
src / lexigram / ui / atoms / layout.py (no class)   21 0 0   100%
src / lexigram / ui / atoms / link.py Link   19 1 0   95%
src / lexigram / ui / atoms / link.py (no class)   8 0 0   100%
src / lexigram / ui / atoms / progress_bar.py ProgressBar   12 0 0   100%
src / lexigram / ui / atoms / progress_bar.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / skeleton.py Skeleton   21 0 0   100%
src / lexigram / ui / atoms / skeleton.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / spinner.py Spinner   5 0 0   100%
src / lexigram / ui / atoms / spinner.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / switch.py Switch   13 0 0   100%
src / lexigram / ui / atoms / switch.py (no class)   6 0 0   100%
src / lexigram / ui / atoms / theme_toggle.py ThemeToggle   1 0 0   100%
src / lexigram / ui / atoms / theme_toggle.py (no class)   5 0 0   100%
src / lexigram / ui / atoms / tooltip.py Tooltip   9 0 0   100%
src / lexigram / ui / atoms / tooltip.py (no class)   6 0 0   100%
src / lexigram / ui / charts / __init__.py (no class)   4 0 0   100%
src / lexigram / ui / charts / config.py (no class)   10 0 0   100%
src / lexigram / ui / charts / htmx.py (no class)   12 0 0   100%
src / lexigram / ui / charts / static.py BarChart   19 1 0   95%
src / lexigram / ui / charts / static.py LineChart   53 1 0   98%
src / lexigram / ui / charts / static.py AreaChart   1 1 0   0%
src / lexigram / ui / charts / static.py PieChart   30 0 0   100%
src / lexigram / ui / charts / static.py Sparkline   36 4 0   89%
src / lexigram / ui / charts / static.py MiniBar   14 14 0   0%
src / lexigram / ui / charts / static.py (no class)   27 0 0   100%
src / lexigram / ui / charts / types.py ChartType   0 0 0   100%
src / lexigram / ui / charts / types.py ChartDataPoint   0 0 0   100%
src / lexigram / ui / charts / types.py ChartConfig   0 0 0   100%
src / lexigram / ui / charts / types.py (no class)   25 0 0   100%
src / lexigram / ui / cli / __init__.py (no class)   0 0 0   100%
src / lexigram / ui / cli / add.py (no class)   69 6 0   91%
src / lexigram / ui / cli / registry.py ComponentEntry   0 0 0   100%
src / lexigram / ui / cli / registry.py (no class)   10 0 0   100%
src / lexigram / ui / config.py DebounceConfig   5 0 0   100%
src / lexigram / ui / config.py UIConfig   5 0 0   100%
src / lexigram / ui / config.py HTMLDocumentConfig   0 0 0   100%
src / lexigram / ui / config.py BaseLayoutConfig   0 0 0   100%
src / lexigram / ui / config.py HeadConfig   0 0 0   100%
src / lexigram / ui / config.py FooterConfig   0 0 0   100%
src / lexigram / ui / config.py ToastConfig   0 0 0   100%
src / lexigram / ui / config.py (no class)   92 0 0   100%
src / lexigram / ui / constants.py UITheme   0 0 0   100%
src / lexigram / ui / constants.py Breakpoint   0 0 0   100%
src / lexigram / ui / constants.py (no class)   22 2 0   91%
src / lexigram / ui / core / __init__.py (no class)   2 0 0   100%
src / lexigram / ui / core / base.py Element   38 6 1   84%
src / lexigram / ui / core / base.py RawHTML   2 0 0   100%
src / lexigram / ui / core / base.py NoContext   3 3 0   0%
src / lexigram / ui / core / base.py Component   45 18 0   60%
src / lexigram / ui / core / base.py (no class)   72 12 3   83%
src / lexigram / ui / core / context.py UIContext   2 0 0   100%
src / lexigram / ui / core / context.py (no class)   19 0 0   100%
src / lexigram / ui / core / slot.py Slot   7 0 0   100%
src / lexigram / ui / core / slot.py (no class)   6 0 0   100%
src / lexigram / ui / core / zones.py SwapMode   0 0 0   100%
src / lexigram / ui / core / zones.py Zone   3 0 0   100%
src / lexigram / ui / core / zones.py Zones   8 0 0   100%
src / lexigram / ui / core / zones.py (no class)   42 0 0   100%
src / lexigram / ui / decorators.py (no class)   16 0 0   100%
src / lexigram / ui / di / __init__.py (no class)   3 0 0   100%
src / lexigram / ui / di / provider.py UIProvider   19 2 0   89%
src / lexigram / ui / di / provider.py (no class)   17 0 2   100%
src / lexigram / ui / exceptions.py UIError   4 0 0   100%
src / lexigram / ui / exceptions.py ErrorCategory   0 0 0   100%
src / lexigram / ui / exceptions.py FieldError   0 0 0   100%
src / lexigram / ui / exceptions.py ErrorResponse   15 5 0   67%
src / lexigram / ui / exceptions.py (no class)   74 0 0   100%
src / lexigram / ui / hooks.py UIComponentRenderedHook   0 0 0   100%
src / lexigram / ui / hooks.py UITemplateRenderedHook   0 0 0   100%
src / lexigram / ui / hooks.py (no class)   9 0 0   100%
src / lexigram / ui / htmx / __init__.py (no class)   8 0 0   100%
src / lexigram / ui / htmx / action_response.py ToastType   0 0 0   100%
src / lexigram / ui / htmx / action_response.py HtmxActionResponse   11 0 0   100%
src / lexigram / ui / htmx / action_response.py (no class)   19 0 0   100%
src / lexigram / ui / htmx / attrs.py (no class)   28 16 0   43%
src / lexigram / ui / htmx / helpers.py (no class)   51 33 2   35%
src / lexigram / ui / htmx / sse.py SSEEventType   0 0 0   100%
src / lexigram / ui / htmx / sse.py SSEMessage   17 0 0   100%
src / lexigram / ui / htmx / sse.py SSEStream   10 2 0   80%
src / lexigram / ui / htmx / sse.py SSE   8 8 0   0%
src / lexigram / ui / htmx / sse.py (no class)   25 0 0   100%
src / lexigram / ui / layouts / __init__.py (no class)   8 0 0   100%
src / lexigram / ui / layouts / base_layout.py BaseLayoutContext   0 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase   85 5 0   94%
src / lexigram / ui / layouts / base_layout.py (no class)   45 0 0   100%
src / lexigram / ui / layouts / footer.py FooterLink   0 0 0   100%
src / lexigram / ui / layouts / footer.py FooterRenderer   38 0 0   100%
src / lexigram / ui / layouts / footer.py (no class)   17 0 0   100%
src / lexigram / ui / layouts / head.py HeadRenderer   31 0 0   100%
src / lexigram / ui / layouts / head.py (no class)   10 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument   60 1 0   98%
src / lexigram / ui / layouts / html_document.py (no class)   17 0 0   100%
src / lexigram / ui / layouts / mixins.py CSSManager   15 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager   26 0 0   100%
src / lexigram / ui / layouts / mixins.py (no class)   14 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ToastType   0 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ToastData   2 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel   39 5 0   87%
src / lexigram / ui / layouts / server_toasts.py Toast   3 3 0   0%
src / lexigram / ui / layouts / server_toasts.py ToastRenderer   3 0 0   100%
src / lexigram / ui / layouts / server_toasts.py (no class)   46 8 0   83%
src / lexigram / ui / module.py UIModule   4 2 0   50%
src / lexigram / ui / module.py (no class)   11 0 0   100%
src / lexigram / ui / molecules / __init__.py (no class)   15 0 0   100%
src / lexigram / ui / molecules / action_button.py ActionButton   41 5 0   88%
src / lexigram / ui / molecules / action_button.py (no class)   9 0 0   100%
src / lexigram / ui / molecules / alert.py Alert   11 0 0   100%
src / lexigram / ui / molecules / alert.py (no class)   10 0 0   100%
src / lexigram / ui / molecules / breadcrumbs.py Breadcrumbs   4 0 0   100%
src / lexigram / ui / molecules / breadcrumbs.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / builder.py Builder   25 25 0   0%
src / lexigram / ui / molecules / builder.py (no class)   11 0 0   100%
src / lexigram / ui / molecules / card.py Card   34 0 0   100%
src / lexigram / ui / molecules / card.py (no class)   7 0 0   100%
src / lexigram / ui / molecules / dropdown.py Dropdown   18 0 0   100%
src / lexigram / ui / molecules / dropdown.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / empty_state.py EmptyState   6 0 0   100%
src / lexigram / ui / molecules / empty_state.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / error_boundary.py ErrorBoundary   10 0 0   100%
src / lexigram / ui / molecules / error_boundary.py (no class)   9 0 0   100%
src / lexigram / ui / molecules / error_state.py ErrorState   6 0 0   100%
src / lexigram / ui / molecules / error_state.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / form_actions.py FormActions   17 0 0   100%
src / lexigram / ui / molecules / form_actions.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / form_field.py FormField   47 47 0   0%
src / lexigram / ui / molecules / form_field.py (no class)   8 0 0   100%
src / lexigram / ui / molecules / input_group.py InputGroup   10 0 0   100%
src / lexigram / ui / molecules / input_group.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / loading_overlay.py LoadingOverlay   5 0 0   100%
src / lexigram / ui / molecules / loading_overlay.py (no class)   7 0 0   100%
src / lexigram / ui / molecules / metric_card.py MetricCard   23 23 0   0%
src / lexigram / ui / molecules / metric_card.py (no class)   8 0 0   100%
src / lexigram / ui / molecules / modal.py Modal   38 10 0   74%
src / lexigram / ui / molecules / modal.py (no class)   17 0 0   100%
src / lexigram / ui / molecules / pagination.py Pagination   24 0 0   100%
src / lexigram / ui / molecules / pagination.py (no class)   10 0 0   100%
src / lexigram / ui / molecules / popover.py Popover   7 7 0   0%
src / lexigram / ui / molecules / popover.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / realtime.py RealTimeFeed   14 14 0   0%
src / lexigram / ui / molecules / realtime.py LiveCounter   5 5 0   0%
src / lexigram / ui / molecules / realtime.py (no class)   10 0 0   100%
src / lexigram / ui / molecules / rich_select.py RichSelect   66 66 0   0%
src / lexigram / ui / molecules / rich_select.py (no class)   21 1 0   95%
src / lexigram / ui / molecules / section.py Section   24 0 0   100%
src / lexigram / ui / molecules / section.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / simple_alert.py SimpleAlert   9 0 0   100%
src / lexigram / ui / molecules / simple_alert.py (no class)   6 0 0   100%
src / lexigram / ui / molecules / stack.py Stack   24 10 0   58%
src / lexigram / ui / molecules / stack.py (no class)   10 0 0   100%
src / lexigram / ui / molecules / stat_card.py StatCard   39 39 0   0%
src / lexigram / ui / molecules / stat_card.py (no class)   7 0 0   100%
src / lexigram / ui / molecules / tabs.py Tabs   13 13 0   0%
src / lexigram / ui / molecules / tabs.py TabPanel   3 3 0   0%
src / lexigram / ui / molecules / tabs.py (no class)   9 0 0   100%
src / lexigram / ui / molecules / toast.py InlineToast   18 1 0   94%
src / lexigram / ui / molecules / toast.py Toast   3 0 0   100%
src / lexigram / ui / molecules / toast.py (no class)   11 0 0   100%
src / lexigram / ui / molecules / toggle.py Toggle   9 0 0   100%
src / lexigram / ui / molecules / toggle.py ToggleIcon   11 11 0   0%
src / lexigram / ui / molecules / toggle.py (no class)   10 0 0   100%
src / lexigram / ui / molecules / virtual_scroll.py VirtualScroll   7 7 0   0%
src / lexigram / ui / molecules / virtual_scroll.py InfiniteScrollTrigger   8 8 0   0%
src / lexigram / ui / molecules / virtual_scroll.py (no class)   17 7 0   59%
src / lexigram / ui / organisms / __init__.py (no class)   8 0 0   100%
src / lexigram / ui / organisms / activity_feed.py ActivityFeed   16 16 0   0%
src / lexigram / ui / organisms / activity_feed.py (no class)   6 0 0   100%
src / lexigram / ui / organisms / admin.py AdminCard   18 2 0   89%
src / lexigram / ui / organisms / admin.py PageLayout   20 2 0   90%
src / lexigram / ui / organisms / admin.py (no class)   10 0 0   100%
src / lexigram / ui / organisms / forms.py Form   44 44 0   0%
src / lexigram / ui / organisms / forms.py (no class)   7 0 0   100%
src / lexigram / ui / organisms / repeater.py Repeater   21 21 0   0%
src / lexigram / ui / organisms / repeater.py (no class)   8 0 2   100%
src / lexigram / ui / organisms / slide_over.py SlideOver   56 56 0   0%
src / lexigram / ui / organisms / slide_over.py (no class)   8 0 0   100%
src / lexigram / ui / performance / __init__.py (no class)   3 0 0   100%
src / lexigram / ui / performance / observability.py MetricType   0 0 0   100%
src / lexigram / ui / performance / observability.py MetricProtocol   0 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector   29 0 0   100%
src / lexigram / ui / performance / observability.py (no class)   28 0 0   100%
src / lexigram / ui / performance / performance.py ResponseOptimizer   10 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache   38 1 0   97%
src / lexigram / ui / performance / performance.py RequestCoalescer   4 0 0   100%
src / lexigram / ui / performance / performance.py (no class)   69 3 2   96%
src / lexigram / ui / protocols.py RenderableProtocol   0 0 1   100%
src / lexigram / ui / protocols.py (no class)   6 0 2   100%
src / lexigram / ui / styles / __init__.py (no class)   5 0 0   100%
src / lexigram / ui / styles / design_tokens.py (no class)   28 0 0   100%
src / lexigram / ui / styles / theme.py (no class)   30 0 0   100%
src / lexigram / ui / styles / tokens.py (no class)   13 0 0   100%
src / lexigram / ui / types.py NavItem   0 0 0   100%
src / lexigram / ui / types.py Breadcrumb   0 0 0   100%
src / lexigram / ui / types.py (no class)   14 0 0   100%
Total     3980 1018 80   74%

No items found using the specified filter.