Repository navigation
v0.25.0
@kanzo-tech/ui
Findings: what a check found, behind one badge. A Badge that tallies the findings and opens a
popover listing them worst first, grouped by variant, each with a way to its place.
FindingsRoottakesfindings— anything with anidand avariant("destructive" | "warning" | "info",Diagnostic's) — andonSelect. It is Ark'sPopover, soopen,
defaultOpenandonOpenChangework as they do there.FindingsTriggeris painted by the worst variant present; its child is the tally in your words,
as a function of{ destructive, warning, info, total }. With nothing found it is a static
successbadge, not a button.FindingsContent(title,description),FindingsGroup(variant,title, and a function from
a finding to its row),FindingsGoTo(closes the popover, then callsonSelectwith the row's
finding).useFindingsanduseFindingreach the same state from a part of your own.
No part authors a word: every label is a prop or a child of the part that draws it.
PreferencesSections draws a picture for a contributed choice. Pass specimens, keyed
namespace.preference, and that choice's options become cards with the picture over the name — the
way the core draws density:
<PreferencesSections
specimens={{ "playground.layout": (option) => <LayoutGlyph layout={option.value} /> }}
/>A choice without one is still a list.
@kanzo-tech/ai
Assist takes a context of its own. What the host knows about one field that its label and
description do not say — the values it accepts, its limits, what its neighbours hold — is told to the
model under Field context, before the provider's form context. A string, or a function read when the
field asks:
<Assist context={() => describeConstraints(field)} onValueChange={setValue} value={value}>
<Input />
</Assist>instructions stays the one-sentence instruction it was; nothing else changes.