Coverage report: 74%

Files Functions Classes

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

File function   statements missing excluded   coverage
src / lexigram / ui / __init__.py __getattr__   7 1 0   86%
src / lexigram / ui / __init__.py __dir__   1 0 0   100%
src / lexigram / ui / __init__.py (no function)   9 0 63   100%
src / lexigram / ui / accessibility / __init__.py (no function)   4 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py table_aria   2 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py row_aria   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py cell_aria   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py header_aria   9 9 0   0%
src / lexigram / ui / accessibility / _aria_functions.py button_aria   2 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py dialog_aria   5 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py search_aria   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py live_region_aria   2 0 0   100%
src / lexigram / ui / accessibility / _aria_functions.py tab_aria   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py tabpanel_aria   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py announce   1 1 0   0%
src / lexigram / ui / accessibility / _aria_functions.py announce_table_update   7 7 0   0%
src / lexigram / ui / accessibility / _aria_functions.py announce_selection_change   6 6 0   0%
src / lexigram / ui / accessibility / _aria_functions.py announce_action_complete   2 2 0   0%
src / lexigram / ui / accessibility / _aria_functions.py SkipLink   1 1 0   0%
src / lexigram / ui / accessibility / _aria_functions.py keyboard_navigation_script   1 1 0   0%
src / lexigram / ui / accessibility / _aria_functions.py (no function)   20 0 0   100%
src / lexigram / ui / accessibility / _aria_types.py AriaAttrs.to_dict   44 0 0   100%
src / lexigram / ui / accessibility / _aria_types.py (no function)   74 0 0   100%
src / lexigram / ui / atoms / __init__.py (no function)   16 0 0   100%
src / lexigram / ui / atoms / badge.py Badge.__init__   3 0 0   100%
src / lexigram / ui / atoms / badge.py Badge.render   2 0 0   100%
src / lexigram / ui / atoms / badge.py (no function)   8 0 0   100%
src / lexigram / ui / atoms / button.py Button.__init__   4 0 0   100%
src / lexigram / ui / atoms / button.py Button.render   10 0 0   100%
src / lexigram / ui / atoms / button.py SubmitButton.__init__   6 0 0   100%
src / lexigram / ui / atoms / button.py SubmitButton.render   5 0 0   100%
src / lexigram / ui / atoms / button.py (no function)   14 0 0   100%
src / lexigram / ui / atoms / divider.py Divider.__init__   3 0 0   100%
src / lexigram / ui / atoms / divider.py Divider.render   6 0 0   100%
src / lexigram / ui / atoms / divider.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / editors.py RichEditor.__init__   10 10 0   0%
src / lexigram / ui / atoms / editors.py RichEditor.render   10 10 0   0%
src / lexigram / ui / atoms / editors.py MarkdownEditor.__init__   10 10 0   0%
src / lexigram / ui / atoms / editors.py MarkdownEditor.render   12 12 0   0%
src / lexigram / ui / atoms / editors.py (no function)   9 0 0   100%
src / lexigram / ui / atoms / fieldset.py Fieldset.__init__   3 3 0   0%
src / lexigram / ui / atoms / fieldset.py Fieldset.render   5 5 0   0%
src / lexigram / ui / atoms / fieldset.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / file_upload.py FileUpload.__init__   10 10 0   0%
src / lexigram / ui / atoms / file_upload.py FileUpload.render   28 28 0   0%
src / lexigram / ui / atoms / file_upload.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / icon.py Icon.__init__   7 0 0   100%
src / lexigram / ui / atoms / icon.py Icon.render   6 0 0   100%
src / lexigram / ui / atoms / icon.py (no function)   7 0 0   100%
src / lexigram / ui / atoms / icons.py get_icon   10 1 0   90%
src / lexigram / ui / atoms / icons.py (no function)   7 0 0   100%
src / lexigram / ui / atoms / inputs / __init__.py (no function)   10 0 0   100%
src / lexigram / ui / atoms / inputs / base.py AbstractInput.__init__   8 8 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput.input_id   1 1 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._get_input_classes   4 4 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._get_extra_props   2 2 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._render_label   3 3 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._render_error   3 3 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._render_with_wrapper   3 3 0   0%
src / lexigram / ui / atoms / inputs / base.py AbstractInput._render_input   0 0 1   100%
src / lexigram / ui / atoms / inputs / base.py AbstractInput.render   1 1 0   0%
src / lexigram / ui / atoms / inputs / base.py (no function)   23 0 1   100%
src / lexigram / ui / atoms / inputs / date.py DateInput.__init__   4 4 0   0%
src / lexigram / ui / atoms / inputs / date.py DateInput._render_input   6 6 0   0%
src / lexigram / ui / atoms / inputs / date.py (no function)   7 0 0   100%
src / lexigram / ui / atoms / inputs / file.py FileUpload.__init__   2 2 0   0%
src / lexigram / ui / atoms / inputs / file.py FileUpload._render_input   5 5 0   0%
src / lexigram / ui / atoms / inputs / file.py FileUpload.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / file.py MultiFileUpload.__init__   2 2 0   0%
src / lexigram / ui / atoms / inputs / file.py MultiFileUpload._render_input   4 4 0   0%
src / lexigram / ui / atoms / inputs / file.py MultiFileUpload.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / file.py AvatarUpload._render_input   4 4 0   0%
src / lexigram / ui / atoms / inputs / file.py AvatarUpload.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / file.py (no function)   15 0 0   100%
src / lexigram / ui / atoms / inputs / numeric.py NumberInput.__init__   5 5 0   0%
src / lexigram / ui / atoms / inputs / numeric.py NumberInput._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / numeric.py Slider.__init__   4 4 0   0%
src / lexigram / ui / atoms / inputs / numeric.py Slider._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / numeric.py Slider.render   7 7 0   0%
src / lexigram / ui / atoms / inputs / numeric.py (no function)   12 0 0   100%
src / lexigram / ui / atoms / inputs / selection / __init__.py (no function)   5 0 0   100%
src / lexigram / ui / atoms / inputs / selection / choice.py Radio.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py Radio._render_input   8 8 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py Radio.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py MultiSelect.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py MultiSelect._render_input   17 17 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py MultiSelect.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py CheckboxList.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py CheckboxList._render_input   9 9 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py CheckboxList.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / choice.py (no function)   17 0 0   100%
src / lexigram / ui / atoms / inputs / selection / relational.py BelongsTo.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py BelongsTo._render_input   5 5 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py MorphTo.__init__   5 5 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py MorphTo._render_input   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py MorphTo.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / relational.py (no function)   12 0 0   100%
src / lexigram / ui / atoms / inputs / selection / select.py Select.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py Select._render_input   17 17 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py NativeMultiSelect.__init__   2 2 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py LazySelect.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py LazySelect.render_options   8 8 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py LazySelect._render_input   4 4 0   0%
src / lexigram / ui / atoms / inputs / selection / select.py (no function)   13 0 0   100%
src / lexigram / ui / atoms / inputs / special / __init__.py (no function)   3 0 0   100%
src / lexigram / ui / atoms / inputs / special / complex.py Rating.__init__   2 2 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py Rating._render_input   9 9 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py Rating.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py TagsInput.__init__   2 2 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py TagsInput._render_input   11 11 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py TagsInput.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py KeyValueField.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py KeyValueField._render_input   25 25 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py KeyValueField.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / special / complex.py (no function)   18 0 0   100%
src / lexigram / ui / atoms / inputs / special / simple.py Hidden._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py Hidden.render   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py TimePicker._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py ColorPicker._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / special / simple.py (no function)   11 0 0   100%
src / lexigram / ui / atoms / inputs / text.py TextInput.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / text.py TextInput._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / text.py PasswordInput.__init__   1 1 0   0%
src / lexigram / ui / atoms / inputs / text.py EmailInput.__init__   1 1 0   0%
src / lexigram / ui / atoms / inputs / text.py TextArea.__init__   3 3 0   0%
src / lexigram / ui / atoms / inputs / text.py TextArea._render_input   2 2 0   0%
src / lexigram / ui / atoms / inputs / text.py (no function)   15 0 0   100%
src / lexigram / ui / atoms / inputs / toggle.py Toggle.__init__   6 6 0   0%
src / lexigram / ui / atoms / inputs / toggle.py Toggle._render_input   1 1 0   0%
src / lexigram / ui / atoms / inputs / toggle.py Toggle.render   4 4 0   0%
src / lexigram / ui / atoms / inputs / toggle.py (no function)   10 0 0   100%
src / lexigram / ui / atoms / label.py Label.__init__   7 0 0   100%
src / lexigram / ui / atoms / label.py Label.render   11 0 0   100%
src / lexigram / ui / atoms / label.py (no function)   9 0 0   100%
src / lexigram / ui / atoms / layout.py Row.__init__   5 0 0   100%
src / lexigram / ui / atoms / layout.py Row.render   8 0 0   100%
src / lexigram / ui / atoms / layout.py Col.__init__   5 0 0   100%
src / lexigram / ui / atoms / layout.py Col.render   10 0 0   100%
src / lexigram / ui / atoms / layout.py Aside.__init__   5 0 0   100%
src / lexigram / ui / atoms / layout.py Aside.render   10 0 0   100%
src / lexigram / ui / atoms / layout.py Grid.__init__   5 0 0   100%
src / lexigram / ui / atoms / layout.py Grid.render   17 0 0   100%
src / lexigram / ui / atoms / layout.py Stack.__init__   4 0 0   100%
src / lexigram / ui / atoms / layout.py Stack.render   8 0 0   100%
src / lexigram / ui / atoms / layout.py Container.__init__   3 0 0   100%
src / lexigram / ui / atoms / layout.py Container.render   8 0 0   100%
src / lexigram / ui / atoms / layout.py (no function)   21 0 0   100%
src / lexigram / ui / atoms / link.py Link.__init__   5 0 0   100%
src / lexigram / ui / atoms / link.py Link.render   14 1 0   93%
src / lexigram / ui / atoms / link.py (no function)   8 0 0   100%
src / lexigram / ui / atoms / progress_bar.py ProgressBar.__init__   6 0 0   100%
src / lexigram / ui / atoms / progress_bar.py ProgressBar.render   6 0 0   100%
src / lexigram / ui / atoms / progress_bar.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / skeleton.py Skeleton.__init__   5 0 0   100%
src / lexigram / ui / atoms / skeleton.py Skeleton.render   16 0 0   100%
src / lexigram / ui / atoms / skeleton.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / spinner.py Spinner.__init__   3 0 0   100%
src / lexigram / ui / atoms / spinner.py Spinner.render   2 0 0   100%
src / lexigram / ui / atoms / spinner.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / switch.py Switch.__init__   7 0 0   100%
src / lexigram / ui / atoms / switch.py Switch.render   6 0 0   100%
src / lexigram / ui / atoms / switch.py (no function)   6 0 0   100%
src / lexigram / ui / atoms / theme_toggle.py ThemeToggle.render   1 0 0   100%
src / lexigram / ui / atoms / theme_toggle.py (no function)   5 0 0   100%
src / lexigram / ui / atoms / tooltip.py Tooltip.__init__   5 0 0   100%
src / lexigram / ui / atoms / tooltip.py Tooltip.render   4 0 0   100%
src / lexigram / ui / atoms / tooltip.py (no function)   6 0 0   100%
src / lexigram / ui / charts / __init__.py (no function)   4 0 0   100%
src / lexigram / ui / charts / config.py hex_color   1 0 0   100%
src / lexigram / ui / charts / config.py bg_class   1 0 0   100%
src / lexigram / ui / charts / config.py text_class   1 0 0   100%
src / lexigram / ui / charts / config.py (no function)   7 0 0   100%
src / lexigram / ui / charts / htmx.py hx_chart_attrs   7 0 0   100%
src / lexigram / ui / charts / htmx.py chart_skeleton   1 0 0   100%
src / lexigram / ui / charts / htmx.py (no function)   4 0 0   100%
src / lexigram / ui / charts / static.py BarChart.__init__   3 0 0   100%
src / lexigram / ui / charts / static.py BarChart._parse_height   4 1 0   75%
src / lexigram / ui / charts / static.py BarChart._empty_state   2 0 0   100%
src / lexigram / ui / charts / static.py BarChart.render   10 0 0   100%
src / lexigram / ui / charts / static.py LineChart.__init__   5 0 0   100%
src / lexigram / ui / charts / static.py LineChart._parse_height   4 1 0   75%
src / lexigram / ui / charts / static.py LineChart._empty_state   2 0 0   100%
src / lexigram / ui / charts / static.py LineChart.render   42 0 0   100%
src / lexigram / ui / charts / static.py AreaChart.__init__   1 1 0   0%
src / lexigram / ui / charts / static.py PieChart.__init__   4 0 0   100%
src / lexigram / ui / charts / static.py PieChart._empty_state   4 0 0   100%
src / lexigram / ui / charts / static.py PieChart.render   22 0 0   100%
src / lexigram / ui / charts / static.py Sparkline.__init__   6 0 0   100%
src / lexigram / ui / charts / static.py Sparkline.render   30 4 0   87%
src / lexigram / ui / charts / static.py MiniBar.__init__   7 7 0   0%
src / lexigram / ui / charts / static.py MiniBar.render   7 7 0   0%
src / lexigram / ui / charts / static.py (no function)   27 0 0   100%
src / lexigram / ui / charts / types.py (no function)   25 0 0   100%
src / lexigram / ui / cli / __init__.py (no function)   0 0 0   100%
src / lexigram / ui / cli / add.py add   33 2 0   94%
src / lexigram / ui / cli / add.py _find_ui_package   9 3 0   67%
src / lexigram / ui / cli / add.py _collect_files   7 0 0   100%
src / lexigram / ui / cli / add.py _collect_files._add   8 0 0   100%
src / lexigram / ui / cli / add.py (no function)   12 1 0   92%
src / lexigram / ui / cli / registry.py (no function)   10 0 0   100%
src / lexigram / ui / config.py DebounceConfig.to_trigger   5 0 0   100%
src / lexigram / ui / config.py UIConfig.validate_for_environment   5 0 0   100%
src / lexigram / ui / config.py (no function)   92 0 0   100%
src / lexigram / ui / constants.py (no function)   22 2 0   91%
src / lexigram / ui / core / __init__.py (no function)   2 0 0   100%
src / lexigram / ui / core / base.py _is_htpy_element   1 0 0   100%
src / lexigram / ui / core / base.py Element.__init__   14 2 0   86%
src / lexigram / ui / core / base.py Element.__enter__   2 2 0   0%
src / lexigram / ui / core / base.py Element.__exit__   2 2 0   0%
src / lexigram / ui / core / base.py Element.__html__   20 0 0   100%
src / lexigram / ui / core / base.py Element.__str__   0 0 1   100%
src / lexigram / ui / core / base.py RawHTML.__init__   1 0 0   100%
src / lexigram / ui / core / base.py RawHTML.__html__   1 0 0   100%
src / lexigram / ui / core / base.py raw   1 0 0   100%
src / lexigram / ui / core / base.py el   3 0 0   100%
src / lexigram / ui / core / base.py NoContext.__enter__   2 2 0   0%
src / lexigram / ui / core / base.py NoContext.__exit__   1 1 0   0%
src / lexigram / ui / core / base.py add_child_to_current   3 2 0   33%
src / lexigram / ui / core / base.py Component.__init__   5 0 0   100%
src / lexigram / ui / core / base.py Component._render_as_child   12 3 0   75%
src / lexigram / ui / core / base.py Component.__init_subclass__   3 1 0   67%
src / lexigram / ui / core / base.py Component.on_mount   0 0 0   100%
src / lexigram / ui / core / base.py Component.__enter__   2 2 0   0%
src / lexigram / ui / core / base.py Component.__exit__   2 2 0   0%
src / lexigram / ui / core / base.py Component.add   2 2 0   0%
src / lexigram / ui / core / base.py Component.render   1 1 0   0%
src / lexigram / ui / core / base.py Component.__html__   17 7 0   59%
src / lexigram / ui / core / base.py Component.__str__   1 0 0   100%
src / lexigram / ui / core / base.py render_to_string   25 10 0   60%
src / lexigram / ui / core / base.py (no function)   39 0 3   100%
src / lexigram / ui / core / context.py UIContext.__repr__   2 0 0   100%
src / lexigram / ui / core / context.py get_ui_context   1 0 0   100%
src / lexigram / ui / core / context.py set_ui_context   1 0 0   100%
src / lexigram / ui / core / context.py reset_ui_context   1 0 0   100%
src / lexigram / ui / core / context.py (no function)   16 0 0   100%
src / lexigram / ui / core / slot.py Slot.__init__   2 0 0   100%
src / lexigram / ui / core / slot.py Slot.render   5 0 0   100%
src / lexigram / ui / core / slot.py (no function)   6 0 0   100%
src / lexigram / ui / core / zones.py Zone.selector   1 0 0   100%
src / lexigram / ui / core / zones.py Zone.__str__   1 0 0   100%
src / lexigram / ui / core / zones.py Zone.__repr__   1 0 0   100%
src / lexigram / ui / core / zones.py Zones.all_zones   1 0 0   100%
src / lexigram / ui / core / zones.py Zones.swappable   1 0 0   100%
src / lexigram / ui / core / zones.py Zones.get_by_id   4 0 0   100%
src / lexigram / ui / core / zones.py Zones.get_by_selector   2 0 0   100%
src / lexigram / ui / core / zones.py (no function)   42 0 0   100%
src / lexigram / ui / decorators.py component   2 0 0   100%
src / lexigram / ui / decorators.py component.decorator   6 0 0   100%
src / lexigram / ui / decorators.py component.decorator.wrapper   1 0 0   100%
src / lexigram / ui / decorators.py (no function)   7 0 0   100%
src / lexigram / ui / di / __init__.py (no function)   3 0 0   100%
src / lexigram / ui / di / provider.py UIProvider.__init__   4 0 0   100%
src / lexigram / ui / di / provider.py UIProvider.register   13 0 0   100%
src / lexigram / ui / di / provider.py UIProvider.boot   0 0 0   100%
src / lexigram / ui / di / provider.py UIProvider.shutdown   0 0 0   100%
src / lexigram / ui / di / provider.py UIProvider.health_check   2 2 0   0%
src / lexigram / ui / di / provider.py (no function)   17 0 2   100%
src / lexigram / ui / exceptions.py UIError.__init__   3 0 0   100%
src / lexigram / ui / exceptions.py UIError.__str__   1 0 0   100%
src / lexigram / ui / exceptions.py ErrorResponse.to_toast_html   3 0 0   100%
src / lexigram / ui / exceptions.py ErrorResponse.to_flash_html   2 0 0   100%
src / lexigram / ui / exceptions.py ErrorResponse.to_inline_errors_html   6 4 0   33%
src / lexigram / ui / exceptions.py ErrorResponse.to_error_state_html   4 1 0   75%
src / lexigram / ui / exceptions.py validation_error   1 0 0   100%
src / lexigram / ui / exceptions.py not_found_error   1 0 0   100%
src / lexigram / ui / exceptions.py permission_error   1 0 0   100%
src / lexigram / ui / exceptions.py server_error   1 0 0   100%
src / lexigram / ui / exceptions.py timeout_error   1 0 0   100%
src / lexigram / ui / exceptions.py render_validation_errors   14 0 0   100%
src / lexigram / ui / exceptions.py htmx_error_response   10 0 0   100%
src / lexigram / ui / exceptions.py (no function)   45 0 0   100%
src / lexigram / ui / hooks.py (no function)   9 0 0   100%
src / lexigram / ui / htmx / __init__.py (no function)   8 0 0   100%
src / lexigram / ui / htmx / action_response.py HtmxActionResponse._build_trigger   5 0 0   100%
src / lexigram / ui / htmx / action_response.py HtmxActionResponse.to_response   6 0 0   100%
src / lexigram / ui / htmx / action_response.py (no function)   19 0 0   100%
src / lexigram / ui / htmx / attrs.py hx_get   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_post   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_put   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_delete   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_patch   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_target   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_swap   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_trigger   1 1 0   0%
src / lexigram / ui / htmx / attrs.py hx_vals   4 4 0   0%
src / lexigram / ui / htmx / attrs.py hx_headers   4 4 0   0%
src / lexigram / ui / htmx / attrs.py (no function)   12 0 0   100%
src / lexigram / ui / htmx / helpers.py hx_swap_oob   6 6 0   0%
src / lexigram / ui / htmx / helpers.py hx_prefetch   1 1 0   0%
src / lexigram / ui / htmx / helpers.py hx_lazy_load   4 4 0   0%
src / lexigram / ui / htmx / helpers.py hx_morph   4 4 0   0%
src / lexigram / ui / htmx / helpers.py hx_preserve   1 1 0   0%
src / lexigram / ui / htmx / helpers.py hx_boost   6 6 0   0%
src / lexigram / ui / htmx / helpers.py hx_debounce   1 1 0   0%
src / lexigram / ui / htmx / helpers.py hx_optimistic   4 4 0   0%
src / lexigram / ui / htmx / helpers.py hx_polling   4 4 0   0%
src / lexigram / ui / htmx / helpers.py hx_websocket   1 1 0   0%
src / lexigram / ui / htmx / helpers.py hx_sse   1 1 0   0%
src / lexigram / ui / htmx / helpers.py optimistic_update   1 0 0   100%
src / lexigram / ui / htmx / helpers.py hx_optimistic_swap   2 0 0   100%
src / lexigram / ui / htmx / helpers.py (no function)   15 0 2   100%
src / lexigram / ui / htmx / sse.py SSEMessage.__init__   4 0 0   100%
src / lexigram / ui / htmx / sse.py SSEMessage.__str__   13 0 0   100%
src / lexigram / ui / htmx / sse.py SSEStream.__init__   5 0 0   100%
src / lexigram / ui / htmx / sse.py SSEStream.__init__.event_generator   5 2 0   60%
src / lexigram / ui / htmx / sse.py SSE.__init__   5 5 0   0%
src / lexigram / ui / htmx / sse.py SSE.render   3 3 0   0%
src / lexigram / ui / htmx / sse.py (no function)   25 0 0   100%
src / lexigram / ui / layouts / __init__.py (no function)   8 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.__init__   13 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase._setup_defaults   4 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.add_css   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.add_inline_style   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_css   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.add_js   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.add_inline_script   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_js_head   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_js_body_end   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_htmx_config   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_htmx_head   3 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_htmx_body_attrs   8 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_theme_css_variables   2 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_theme_html_attrs   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_dark_mode_script   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_alpine_theme_data   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render   6 1 0   83%
src / lexigram / ui / layouts / base_layout.py LayoutBase.get_body_attributes   6 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_head_content   17 2 0   88%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_body_content   1 0 0   100%
src / lexigram / ui / layouts / base_layout.py LayoutBase.render_body_end   8 1 0   88%
src / lexigram / ui / layouts / base_layout.py LayoutBase._render_flash_script   6 1 0   83%
src / lexigram / ui / layouts / base_layout.py (no function)   45 0 0   100%
src / lexigram / ui / layouts / footer.py FooterRenderer.__init__   1 0 0   100%
src / lexigram / ui / layouts / footer.py FooterRenderer.render   22 0 0   100%
src / lexigram / ui / layouts / footer.py FooterRenderer._render_copyright   6 0 0   100%
src / lexigram / ui / layouts / footer.py FooterRenderer._render_links   9 0 0   100%
src / lexigram / ui / layouts / footer.py (no function)   17 0 0   100%
src / lexigram / ui / layouts / head.py HeadRenderer.__init__   1 0 0   100%
src / lexigram / ui / layouts / head.py HeadRenderer.render   19 0 0   100%
src / lexigram / ui / layouts / head.py HeadRenderer._render_css_framework   8 0 0   100%
src / lexigram / ui / layouts / head.py HeadRenderer._render_icon_library   3 0 0   100%
src / lexigram / ui / layouts / head.py (no function)   10 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.__init__   1 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.render   7 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument._render_head   37 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument._render_body   13 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.get_body_attributes   1 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.render_head_content   0 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.render_body_content   0 0 0   100%
src / lexigram / ui / layouts / html_document.py HTMLDocument.render_body_end   1 1 0   0%
src / lexigram / ui / layouts / html_document.py (no function)   17 0 0   100%
src / lexigram / ui / layouts / mixins.py CSSManager.__init__   2 0 0   100%
src / lexigram / ui / layouts / mixins.py CSSManager.add_css   1 0 0   100%
src / lexigram / ui / layouts / mixins.py CSSManager.add_inline_style   1 0 0   100%
src / lexigram / ui / layouts / mixins.py CSSManager.render_css   11 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager.__init__   3 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager.add_js   5 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager.add_inline_script   3 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager.render_js_head   9 0 0   100%
src / lexigram / ui / layouts / mixins.py JSManager.render_js_body_end   6 0 0   100%
src / lexigram / ui / layouts / mixins.py (no function)   14 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ToastData.__post_init__   2 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel.__init__   1 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel.render   1 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel.render_container   10 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel.render_toast   24 5 0   79%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel._get_position_classes   2 0 0   100%
src / lexigram / ui / layouts / server_toasts.py ServerToastChannel._render_toast_script   1 0 0   100%
src / lexigram / ui / layouts / server_toasts.py flash_to_toast   8 8 0   0%
src / lexigram / ui / layouts / server_toasts.py Toast.__init__   3 3 0   0%
src / lexigram / ui / layouts / server_toasts.py ToastRenderer.__init__   3 0 0   100%
src / lexigram / ui / layouts / server_toasts.py (no function)   38 0 0   100%
src / lexigram / ui / module.py UIModule.configure   2 0 0   100%
src / lexigram / ui / module.py UIModule.stub   2 2 0   0%
src / lexigram / ui / module.py (no function)   11 0 0   100%
src / lexigram / ui / molecules / __init__.py (no function)   15 0 0   100%
src / lexigram / ui / molecules / action_button.py ActionButton.__init__   7 0 0   100%
src / lexigram / ui / molecules / action_button.py ActionButton._get_variant_classes   2 0 0   100%
src / lexigram / ui / molecules / action_button.py ActionButton._get_size_classes   2 0 0   100%
src / lexigram / ui / molecules / action_button.py ActionButton.render   30 5 0   83%
src / lexigram / ui / molecules / action_button.py (no function)   9 0 0   100%
src / lexigram / ui / molecules / alert.py Alert.__init__   4 0 0   100%
src / lexigram / ui / molecules / alert.py Alert.render   7 0 0   100%
src / lexigram / ui / molecules / alert.py (no function)   10 0 0   100%
src / lexigram / ui / molecules / breadcrumbs.py Breadcrumbs.__init__   2 0 0   100%
src / lexigram / ui / molecules / breadcrumbs.py Breadcrumbs.render   2 0 0   100%
src / lexigram / ui / molecules / breadcrumbs.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / builder.py Builder.__init__   11 11 0   0%
src / lexigram / ui / molecules / builder.py Builder.render   8 8 0   0%
src / lexigram / ui / molecules / builder.py Builder._render_block_fields   6 6 0   0%
src / lexigram / ui / molecules / builder.py (no function)   11 0 0   100%
src / lexigram / ui / molecules / card.py Card.__init__   4 0 0   100%
src / lexigram / ui / molecules / card.py Card.render   30 0 0   100%
src / lexigram / ui / molecules / card.py (no function)   7 0 0   100%
src / lexigram / ui / molecules / dropdown.py Dropdown.__init__   5 0 0   100%
src / lexigram / ui / molecules / dropdown.py Dropdown.render   13 0 0   100%
src / lexigram / ui / molecules / dropdown.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / empty_state.py EmptyState.__init__   5 0 0   100%
src / lexigram / ui / molecules / empty_state.py EmptyState.render   1 0 0   100%
src / lexigram / ui / molecules / empty_state.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / error_boundary.py ErrorBoundary.__init__   2 0 0   100%
src / lexigram / ui / molecules / error_boundary.py ErrorBoundary.render   8 0 0   100%
src / lexigram / ui / molecules / error_boundary.py (no function)   9 0 0   100%
src / lexigram / ui / molecules / error_state.py ErrorState.__init__   4 0 0   100%
src / lexigram / ui / molecules / error_state.py ErrorState.render   2 0 0   100%
src / lexigram / ui / molecules / error_state.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / form_actions.py FormActions.__init__   7 0 0   100%
src / lexigram / ui / molecules / form_actions.py FormActions.render   10 0 0   100%
src / lexigram / ui / molecules / form_actions.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / form_field.py FormField.__init__   9 9 0   0%
src / lexigram / ui / molecules / form_field.py FormField.render   38 38 0   0%
src / lexigram / ui / molecules / form_field.py (no function)   8 0 0   100%
src / lexigram / ui / molecules / input_group.py InputGroup.__init__   9 0 0   100%
src / lexigram / ui / molecules / input_group.py InputGroup.render   1 0 0   100%
src / lexigram / ui / molecules / input_group.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / loading_overlay.py LoadingOverlay.__init__   3 0 0   100%
src / lexigram / ui / molecules / loading_overlay.py LoadingOverlay.render   2 0 0   100%
src / lexigram / ui / molecules / loading_overlay.py (no function)   7 0 0   100%
src / lexigram / ui / molecules / metric_card.py MetricCard.__init__   7 7 0   0%
src / lexigram / ui / molecules / metric_card.py MetricCard.render   16 16 0   0%
src / lexigram / ui / molecules / metric_card.py (no function)   8 0 0   100%
src / lexigram / ui / molecules / modal.py Modal.__init__   8 0 0   100%
src / lexigram / ui / molecules / modal.py Modal._build_panel_classes   1 0 0   100%
src / lexigram / ui / molecules / modal.py Modal.render   29 10 0   66%
src / lexigram / ui / molecules / modal.py (no function)   17 0 0   100%
src / lexigram / ui / molecules / pagination.py Pagination.__init__   6 0 0   100%
src / lexigram / ui / molecules / pagination.py Pagination.total_pages   1 0 0   100%
src / lexigram / ui / molecules / pagination.py Pagination._page_url   2 0 0   100%
src / lexigram / ui / molecules / pagination.py Pagination.render   15 0 0   100%
src / lexigram / ui / molecules / pagination.py (no function)   10 0 0   100%
src / lexigram / ui / molecules / popover.py Popover.__init__   4 4 0   0%
src / lexigram / ui / molecules / popover.py Popover.render   3 3 0   0%
src / lexigram / ui / molecules / popover.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / realtime.py RealTimeFeed.__init__   5 5 0   0%
src / lexigram / ui / molecules / realtime.py RealTimeFeed.render   9 9 0   0%
src / lexigram / ui / molecules / realtime.py LiveCounter.__init__   4 4 0   0%
src / lexigram / ui / molecules / realtime.py LiveCounter.render   1 1 0   0%
src / lexigram / ui / molecules / realtime.py (no function)   10 0 0   100%
src / lexigram / ui / molecules / rich_select.py _js_str   1 1 0   0%
src / lexigram / ui / molecules / rich_select.py RichSelect.__init__   9 9 0   0%
src / lexigram / ui / molecules / rich_select.py RichSelect._needs_search   2 2 0   0%
src / lexigram / ui / molecules / rich_select.py RichSelect._alpine_data   4 4 0   0%
src / lexigram / ui / molecules / rich_select.py RichSelect._render_option   20 20 0   0%
src / lexigram / ui / molecules / rich_select.py RichSelect.render   31 31 0   0%
src / lexigram / ui / molecules / rich_select.py (no function)   20 0 0   100%
src / lexigram / ui / molecules / section.py Section.__init__   7 0 0   100%
src / lexigram / ui / molecules / section.py Section.render   17 0 0   100%
src / lexigram / ui / molecules / section.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / simple_alert.py SimpleAlert.__init__   4 0 0   100%
src / lexigram / ui / molecules / simple_alert.py SimpleAlert.render   5 0 0   100%
src / lexigram / ui / molecules / simple_alert.py (no function)   6 0 0   100%
src / lexigram / ui / molecules / stack.py Stack.__init__   3 0 0   100%
src / lexigram / ui / molecules / stack.py Stack.__iter__   4 4 0   0%
src / lexigram / ui / molecules / stack.py Stack.__html__   16 6 0   62%
src / lexigram / ui / molecules / stack.py Stack.__str__   1 0 0   100%
src / lexigram / ui / molecules / stack.py (no function)   10 0 0   100%
src / lexigram / ui / molecules / stat_card.py StatCard.__init__   8 8 0   0%
src / lexigram / ui / molecules / stat_card.py StatCard._render_sparkline   16 16 0   0%
src / lexigram / ui / molecules / stat_card.py StatCard.render   15 15 0   0%
src / lexigram / ui / molecules / stat_card.py (no function)   7 0 0   100%
src / lexigram / ui / molecules / tabs.py Tabs.__init__   4 4 0   0%
src / lexigram / ui / molecules / tabs.py Tabs.render   9 9 0   0%
src / lexigram / ui / molecules / tabs.py TabPanel.__init__   2 2 0   0%
src / lexigram / ui / molecules / tabs.py TabPanel.render   1 1 0   0%
src / lexigram / ui / molecules / tabs.py (no function)   9 0 0   100%
src / lexigram / ui / molecules / toast.py InlineToast.__init__   6 0 0   100%
src / lexigram / ui / molecules / toast.py InlineToast.render   12 1 0   92%
src / lexigram / ui / molecules / toast.py Toast.__init__   3 0 0   100%
src / lexigram / ui / molecules / toast.py (no function)   11 0 0   100%
src / lexigram / ui / molecules / toggle.py Toggle.__init__   6 0 0   100%
src / lexigram / ui / molecules / toggle.py Toggle.render   3 0 0   100%
src / lexigram / ui / molecules / toggle.py ToggleIcon.__init__   7 7 0   0%
src / lexigram / ui / molecules / toggle.py ToggleIcon.render   4 4 0   0%
src / lexigram / ui / molecules / toggle.py (no function)   10 0 0   100%
src / lexigram / ui / molecules / virtual_scroll.py VirtualScroll.__init__   6 6 0   0%
src / lexigram / ui / molecules / virtual_scroll.py VirtualScroll.render   1 1 0   0%
src / lexigram / ui / molecules / virtual_scroll.py render_infinite_row   7 7 0   0%
src / lexigram / ui / molecules / virtual_scroll.py InfiniteScrollTrigger.__init__   6 6 0   0%
src / lexigram / ui / molecules / virtual_scroll.py InfiniteScrollTrigger.render   2 2 0   0%
src / lexigram / ui / molecules / virtual_scroll.py (no function)   10 0 0   100%
src / lexigram / ui / organisms / __init__.py (no function)   8 0 0   100%
src / lexigram / ui / organisms / activity_feed.py ActivityFeed.__init__   4 4 0   0%
src / lexigram / ui / organisms / activity_feed.py ActivityFeed.render   12 12 0   0%
src / lexigram / ui / organisms / activity_feed.py (no function)   6 0 0   100%
src / lexigram / ui / organisms / admin.py AdminCard.__init__   3 0 0   100%
src / lexigram / ui / organisms / admin.py AdminCard.render   15 2 0   87%
src / lexigram / ui / organisms / admin.py PageLayout.__init__   6 1 0   83%
src / lexigram / ui / organisms / admin.py PageLayout.render   14 1 0   93%
src / lexigram / ui / organisms / admin.py (no function)   10 0 0   100%
src / lexigram / ui / organisms / forms.py Form.__init__   9 9 0   0%
src / lexigram / ui / organisms / forms.py Form.render   35 35 0   0%
src / lexigram / ui / organisms / forms.py (no function)   7 0 0   100%
src / lexigram / ui / organisms / repeater.py Repeater.__init__   7 7 0   0%
src / lexigram / ui / organisms / repeater.py Repeater.render   14 14 0   0%
src / lexigram / ui / organisms / repeater.py (no function)   8 0 2   100%
src / lexigram / ui / organisms / slide_over.py SlideOver.__init__   10 10 0   0%
src / lexigram / ui / organisms / slide_over.py SlideOver.render   46 46 0   0%
src / lexigram / ui / organisms / slide_over.py (no function)   8 0 0   100%
src / lexigram / ui / performance / __init__.py (no function)   3 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.__init__   3 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector._make_key   5 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.inc   2 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.observe   4 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.set   2 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.get_counter   2 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.get_histogram_stats   5 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.get_gauge   2 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.reset   3 0 0   100%
src / lexigram / ui / performance / observability.py MetricsCollector.to_dict   1 0 0   100%
src / lexigram / ui / performance / observability.py (no function)   28 0 0   100%
src / lexigram / ui / performance / performance.py ResponseOptimizer.compute_etag   1 0 0   100%
src / lexigram / ui / performance / performance.py ResponseOptimizer.should_return_304   4 0 0   100%
src / lexigram / ui / performance / performance.py ResponseOptimizer.optimize_response   5 0 0   100%
src / lexigram / ui / performance / performance.py optimize_htmx_response   3 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache._make_key   3 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.get   11 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.set   7 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.invalidate   5 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.cached   2 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.cached.decorator   4 0 0   100%
src / lexigram / ui / performance / performance.py RenderCache.cached.decorator.wrapper   6 1 0   83%
src / lexigram / ui / performance / performance.py cached_render   3 3 0   0%
src / lexigram / ui / performance / performance.py lazy_load_placeholder   5 0 0   100%
src / lexigram / ui / performance / performance.py infinite_scroll_trigger   4 0 0   100%
src / lexigram / ui / performance / performance.py debounced_search_attrs   3 0 0   100%
src / lexigram / ui / performance / performance.py RequestCoalescer.add   1 0 0   100%
src / lexigram / ui / performance / performance.py RequestCoalescer.flush   3 0 0   100%
src / lexigram / ui / performance / performance.py add_htmx_timing_header   3 0 0   100%
src / lexigram / ui / performance / performance.py measure_render_time   3 0 0   100%
src / lexigram / ui / performance / performance.py measure_render_time.wrapper   4 0 0   100%
src / lexigram / ui / performance / performance.py (no function)   41 0 2   100%
src / lexigram / ui / protocols.py RenderableProtocol.__str__   0 0 1   100%
src / lexigram / ui / protocols.py (no function)   6 0 2   100%
src / lexigram / ui / styles / __init__.py (no function)   5 0 0   100%
src / lexigram / ui / styles / design_tokens.py render_all_tokens   12 0 0   100%
src / lexigram / ui / styles / design_tokens.py render_utility_classes   5 0 0   100%
src / lexigram / ui / styles / design_tokens.py (no function)   11 0 0   100%
src / lexigram / ui / styles / theme.py shadcn_css   27 0 0   100%
src / lexigram / ui / styles / theme.py (no function)   3 0 0   100%
src / lexigram / ui / styles / tokens.py get_semantic_classes   1 0 0   100%
src / lexigram / ui / styles / tokens.py get_semantic_icon   1 0 0   100%
src / lexigram / ui / styles / tokens.py get_toast_classes   1 0 0   100%
src / lexigram / ui / styles / tokens.py get_alert_classes   1 0 0   100%
src / lexigram / ui / styles / tokens.py (no function)   9 0 0   100%
src / lexigram / ui / types.py (no function)   14 0 0   100%
Total     3980 1018 80   74%

No items found using the specified filter.