Coverage for src / lexigram / ui / types.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-08-10 04:11 +0800

1"""UI package common types and dataclasses.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6 

7 

8@dataclass 

9class NavItem: 

10 """A single item in a navigation component.""" 

11 

12 label: str 

13 url: str 

14 icon: str | None = None 

15 active: bool = False 

16 children: list[NavItem] = field(default_factory=list) 

17 

18 

19@dataclass 

20class Breadcrumb: 

21 """A breadcrumb trail item.""" 

22 

23 label: str 

24 url: str | None = None 

25 active: bool = False