Minor changes
- da6eee1
feat(chart): rename
formattertodangerousHtmlFormatterfor XSS awarenessBREAKING CHANGE: The
formatterproperty inKumoChartOption['tooltip']has been renamed todangerousHtmlFormatter. This change makes the security implications of using HTML formatters more explicit to developers. The API remains identical—only the name has changed.Migration: Replace
formatterwithdangerousHtmlFormatterin your chart tooltip configurations. - 4785c43
feat(tooltip, popover): deprecate
asChildin favor ofrenderpropUnifies composition patterns across the library by adopting Base UI's
renderprop pattern. TheasChildprop is now deprecated on:TooltipPopover.TriggerPopover.Close
Migration:
- <Tooltip content="Save" asChild> - <Button>Save</Button> - </Tooltip> + <Tooltip content="Save" render={<Button>Save</Button>} /> - <Popover.Trigger asChild> - <Button>Open</Button> - </Popover.Trigger> + <Popover.Trigger render={<Button>Open</Button>} /> - <Popover.Close asChild> - <Button>Close</Button> - </Popover.Close> + <Popover.Close render={<Button>Close</Button>} />The
asChildprop remains functional for backward compatibility but will be removed in a future major version. - a0f2b18
feat(popover): expose
anchorprop onPopover.Contentfor virtual positioningForwards Base UI's
anchorprop throughPopover.Contentto the underlyingPositioner, enabling popover positioning against custom elements, refs, or virtual points (e.g., aDOMRectfromgetBoundingClientRect()). This is useful when the popover trigger and the desired anchor are in different component trees, or when anchoring to a coordinate rather than a DOM element. - 58b5777
Convert Table of Contents to exported Kumo component
- 0cae077
feat(Select): add size prop (xs/sm/base/lg) matching Input and Combobox heights
Patch changes
- 1e7ba10
feat(layer-card): support simple card usage and deprecate Surface
- allow
LayerCardto be used directly withoutLayerCard.Primaryfor simple single-layer card layouts - keep
LayerCard.SecondaryandLayerCard.Primarysupported for the existing layered card pattern - deprecate
Surfacein favor ofLayerCardwhile keeping the old API working as a compatibility wrapper - update docs and examples to prefer
LayerCard, including table examples that no longer need a nestedLayerCard.Primary
- allow
- 2682319
fix(pagination): add ARIA attributes for screen reader accessibility
- Wrap pagination controls in
<nav>for proper landmark navigation - Add
aria-live="polite"andaria-atomic="true"to status text for page change announcements - Add
navigationtoPaginationLabelsfor i18n customization of the nav aria-label
- Wrap pagination controls in
- 9eb1306
fix(chart): escape HTML in tooltip series name and values
Escapes HTML entities in TimeseriesChart tooltip series names and values before rendering.
- 4565baa
fix(combobox): make TriggerInput caret button clickable for Playwright tests
- 4dfdc3f
fix(dropdown): pass children through when render prop is provided on DropdownMenu.Trigger
- 98e3170
fix(Select): TypeScript inference with
strictNullChecksandrenderValue/placeholderinteractionTypeScript fix: Under
strictNullChecks, usingvalue={objectOrNull}would causeTto be inferred asnever, making callbacks likeonValueChangeandrenderValueunusable. This is now fixed.Runtime fix:
renderValueis now only called with non-null values. When value is null, theplaceholderis shown instead. Previously,renderValuewould receivenullat runtime despite being typed as(value: T) => ReactNode.// Recommended pattern <Select placeholder="Select..." value={value} onValueChange={setValue} // value is T | null (works with strictNullChecks) renderValue={(v) => v.name} // v is T (non-null), no defensive coding needed /> - 9c3cdbf
Fix sidebar collapsible content snapping shut instead of animating smoothly when closing.
- 27bcd59
fix(table): align sticky column colors with compact header variant
- a8adf02
fix(tokens): correct text-kumo-subtle dark mode value to provide visible contrast
- 547c7fa
Updated the token value for
kumo-lineandkumo-hairlinein dark mode so they are more visible.- replace
kumo-lineusages withkumo-hairlineacross Kumo components and docs UI/content styles - use
ring-kumo-linefor shadowed surfaces (for example combobox, dialog, select, dropdown, toast, and related surface wrappers) - adjust theme token configuration and generated styles to support updated neutral/hairline appearance
- replace
- 460a603
fix(a11y): add accessible labels to icon-only controls