Coverage for src/lexigram/admin/ui/layouts/__init__.py: 57%
7 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:31 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:31 +0800
1"""Admin layouts for lexigram-admin.
3This module provides layout components for the admin interface.
5Layout hierarchy:
6- HTMLDocument (abstract base)
7 - BaseLayout (with mixins: CSS, JS, HTMX, Theme)
8 - AdminLayout (full admin with sidebar)
9 - StandaloneLayout (simple pages like login/error)
10"""
12from __future__ import annotations
14# Admin layout
15from lexigram.admin.ui.layouts.admin_layout import (
16 AdminLayout,
17 AdminLayoutConfig,
18 AdminLayoutContext,
19 NavItemConfig,
20 admin_layout,
21)
23# Components
24from lexigram.admin.ui.layouts.components import (
25 FooterConfig,
26 FooterLink,
27 FooterRenderer,
28 HeadConfig,
29 HeaderConfig,
30 HeaderRenderer,
31 HeadRenderer,
32 NavGroup,
33 NavItem,
34 ServerToastChannel,
35 SidebarConfig,
36 SidebarRenderer,
37 ToastConfig,
38 ToastData,
39 ToastType,
40 UserInfo,
41 build_nav_from_resources,
42 flash_to_toast,
43)
45# Standalone layout
46from lexigram.admin.ui.layouts.standalone_layout import (
47 StandaloneLayout,
48 StandaloneLayoutConfig,
49 StandaloneLayoutContext,
50 standalone_layout,
51)
53# Widgets
54from lexigram.admin.ui.widgets import InfolistEntry, InfolistEntryType, InfolistWidget
56# Tab group
57# Base classes
58from lexigram.ui import (
59 BaseLayoutConfig,
60 BaseLayoutContext,
61 CSSManager,
62 HTMLDocument,
63 HTMLDocumentConfig,
64 JSManager,
65 LayoutBase,
66 Tab,
67 TabGroup,
68)
70__all__ = [ # noqa: RUF022
71 "AdminLayout",
72 "AdminLayoutConfig",
73 "AdminLayoutContext",
74 "LayoutBase",
75 "BaseLayoutConfig",
76 "BaseLayoutContext",
77 "CSSManager",
78 "FooterConfig",
79 "FooterLink",
80 # Components - Footer
81 "FooterRenderer",
82 # Base
83 "HTMLDocument",
84 "HTMLDocumentConfig",
85 "InfolistEntry",
86 "InfolistEntryType",
87 "InfolistWidget",
88 "JSManager",
89 "HeadConfig",
90 # Components - Head
91 "HeadRenderer",
92 "HeaderConfig",
93 # Components - Header
94 "HeaderRenderer",
95 "NavGroup",
96 "NavItem",
97 "NavItemConfig",
98 "SidebarConfig",
99 # Components - Sidebar
100 "SidebarRenderer",
101 "StandaloneLayout",
102 "StandaloneLayoutConfig",
103 "StandaloneLayoutContext",
104 "Tab",
105 "TabGroup",
106 "ServerToastChannel",
107 "ToastConfig",
108 # Components - Toast
109 "ToastData",
110 "ToastType",
111 "UserInfo",
112 # Admin layout
113 "admin_layout",
114 "build_nav_from_resources",
115 "flash_to_toast",
116 # Standalone layout
117 "standalone_layout",
118]