Coverage for src/lexigram/admin/dashboard/widget_types.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-24 23:39 +0800

1from __future__ import annotations 

2 

3from dataclasses import dataclass 

4 

5 

6@dataclass 

7class ConfigField: 

8 """Schema field for a configurable widget parameter.""" 

9 

10 name: str 

11 type: str # "select" | "number" | "text" | "boolean" 

12 label: str 

13 options: list[tuple[str | int, str]] | None = ( 

14 None # (value, display_label) for select 

15 ) 

16 default: str | int | bool | float | None = None 

17 description: str = ""