Coverage for src / lexigram / ui / atoms / inputs / special / simple.py: 73%
15 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-10 04:11 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-10 04:11 +0800
1from __future__ import annotations
3from typing import Any
5from lexigram.ui.atoms.inputs.base import AbstractInput
6from lexigram.ui.core.base import el
9class Hidden(AbstractInput):
10 """Hidden input field."""
12 def _render_input(self) -> Any:
13 return el(
14 "input",
15 type="hidden",
16 name=self.name,
17 value=self.value,
18 id=self.input_id,
19 )
21 def render(self) -> Any:
22 return self._render_input()
25class TimePicker(AbstractInput):
26 """Time selection input."""
28 def _render_input(self) -> Any:
29 return el(
30 "input",
31 type="time",
32 name=self.name,
33 id=self.input_id,
34 value=self.value or "",
35 disabled=self.disabled,
36 class_=self._get_input_classes("pl-3 pr-3"),
37 **self._get_extra_props(),
38 )
41class ColorPicker(AbstractInput):
42 """Color selection input."""
44 def _render_input(self) -> Any:
45 return el(
46 "input",
47 type="color",
48 name=self.name,
49 id=self.input_id,
50 value=self.value or "#000000",
51 disabled=self.disabled,
52 class_="h-10 w-20 rounded border border-input bg-background cursor-pointer",
53 **self._get_extra_props(),
54 )