Skip to content

0.3.1

Choose a tag to compare

@joshstovall joshstovall released this 21 Nov 01:30
· 55 commits to main since this release

UI Package (@platform-blocks/ui)

  • Introduced a global KeyboardManagerProvider along with optional keyboardFocusId support so inputs, pickers, and overlays can coordinate refocus without dropping the keyboard. A new KeyboardAwareLayout component wraps forms to automatically pad for the current keyboard height on web and native.
  • Rebuilt overlay selection flows (handleSelectionComplete, useOverlayApi) and adopted them in Select, AutoComplete, NumberInput, and other inputs. This fixes the lingering overlay hook regressions and keeps focus stable after picks or clears.
  • Added hold-friendly controls to NumberInput: optional side buttons, shift-click multipliers, refined continuous stepping behaviour, and fresh side-button demos that call out the new ergonomics.
  • Upgraded Select and AutoComplete positioning to share the dropdown positioning hook, restored overlay exports, and tightened accessibility defaults (aria/role wiring, labels, keyboard navigation).
  • Delivered a fully featured Knob component: support for marks with labels, endless mode, text selection suppression on web, and new documentation/demo coverage.
  • Replaced the legacy TimePicker implementation with TimePickerInput, adding second-level precision, configurable columns, and direct re-export via TimePicker for backwards compatibility.
  • Hardened optional dependency loading with the new resolveOptionalModule helper, refreshed component sizing utilities (including the new ComponentSizeValue union + clamp helpers), and synced icon registries so apps no longer need to patch missing glyphs.

Charts Package (@platform-blocks/charts)

  • Shipped two new data visualisations: ParetoChart for cumulative distribution analysis and MarimekkoChart for weighted categorical comparisons. Each includes typed props, themed demos, and metadata for the docs site.
  • Updated ChartPopover, ChartBase, and provider interactions to accommodate stacked categories, shared hover state, and the new weighted layouts.
  • Expanded chart typings and exports so mixed-series dashboards can consume the new components without manual wiring.

Documentation & Examples

  • Added a dedicated "Keyboard Management" guide describing the provider, layout wrapper, and migration tips. The docs shell now wraps all pages in KeyboardManagerProvider and KeyboardAwareLayout to mirror production usage.
  • Refreshed major example apps (Dashboard, Finder, Music Player, Ecommerce, Todo, DAW) to demonstrate the latest component APIs, streamlined keyboard behaviour, and updated spacing defaults.
  • Published new demos covering Card variants, multiple NumberInput scenarios (basic formatter, drag gestures, side buttons), Knob endless mode, and the Pareto/Marimekko charts; removed outdated keyboard roadmap content in favour of the new guide.

Migration Notes

  • Wrap your host app with KeyboardManagerProvider to opt into the shared keyboard state. Set EXPO_PUBLIC_ENABLE_KEYBOARD_MANAGER=false temporarily if you need to defer rollout.
  • Verify native applications that depend on Select, AutoComplete, NumberInput, or the new TimePicker flows—the keyboard focus behaviour has changed and should be smoke-tested before shipping to production.