Skip to content

v0.1.0-alpha.6

Pre-release
Pre-release

Choose a tag to compare

@inureyes inureyes released this 06 Aug 06:39
· 101 commits to main since this release
0eb390a

Four places where one product's concepts had come across with the code, found by re-reading the package against a single question: is this a rendering component, or does it need to know something only a product knows?

All four are breaking. They land while there is exactly one consumer and no stable release.

Changed

  • DataTable no longer writes to localStorage. persistKey is replaced by columnState and onColumnStateChange. Where column preferences live, under which key, per user or per workspace, or whether they persist at all, is a decision only a consumer can make, and the old arrangement also stopped the table working anywhere localStorage is absent.
  • ErrorState takes a tone, not an error category. type was "network" | "configuration" | "model" | "permission" | "generic"; "model" is one product's vocabulary, and the five names resolved to three colours anyway. Now tone: "danger" | "warning" | "accent" plus an icon slot.
  • EmptyState takes an illustration, not the name of one. The ten drawings that shipped here are one product's information architecture. illustration is a ReactNode now. This reverses the export added in 0.1.0-alpha.3, which unblocked a consumer by widening the wrong side of the boundary.
  • Tabs no longer carries a guide-tag system. tag, required, TabTagType, TabTagLabels, TAG_CONFIG and tagLabels are removed. The badge variant lived here while its label text came from the consumer's locale bundle, which is what a wrong boundary looks like from the inside. Render your own badge through the existing TabItem.labelExtra.

Migration

- <DataTable persistKey="sessions.activeTab" ... />
+ <DataTable columnState={state} onColumnStateChange={setState} ... />

- <ErrorState type="model" />         → tone="danger"
- <ErrorState type="network" />       → tone="warning"
- <ErrorState type="configuration" /> → tone="accent"

- <EmptyState illustration="models" ... />
+ <EmptyState illustration={<ModelsIllustration />} ... />

- { id, label, content, tag: "beta" }
+ { id, label, content, labelExtra: <Badge variant="info">Beta</Badge> }