mirror of
https://github.com/tabler/tabler.git
synced 2026-08-28 12:56:24 +04:00
- ui/Table.astro: type the people rows with a local Person interface
instead of Record<string, any>[]. Surfaced a latent type mismatch:
<Avatar personId={person.id}> passed a string id into a prop typed
as number (only silently worked because of the any cast) — replaced
with <Avatar person={person}>, which resolves to the same person
object without the redundant numeric re-lookup.
- ui/Select.astro: add SelectOption/SelectData types for selects.json
entries instead of two Record<string, any> casts.
- components/navbar/NavbarMenu.astro: type Level1.children as
Record<string, Level2> (matching NavbarMenuItem's own Level2/Level3
shapes) instead of Record<string, unknown>, removing the `as any`
casts at both NavbarMenuItem call sites.
- components/parts/Tasks.astro: add a Task interface instead of
Record<string, any>[]; also drops the now-redundant inline subtask
type annotation.
No behavior change other than the Table.astro Avatar fix above.
Verified: astro check 0/0/0 in shared, astro build succeeds for
preview (127 pages) and docs (128 pages), vitest passes (38 tests).