Add React dashboard SDK helpers #2

Closed
mfreeman451 wants to merge 0 commits from react-dashboard-sdk into main
Owner

Summary

  • add a React-first dashboard SDK surface with host API, frame, SRQL, theme, and navigation hooks
  • add shared SRQL query helpers for browser packages and Go tests for equivalent SRQL composition
  • extend the local dashboard harness so external renderers can exercise host APIs without web-ng

Validation

  • go test ./...
## Summary - add a React-first dashboard SDK surface with host API, frame, SRQL, theme, and navigation hooks - add shared SRQL query helpers for browser packages and Go tests for equivalent SRQL composition - extend the local dashboard harness so external renderers can exercise host APIs without web-ng ## Validation - go test ./...
Adds five new SDK surfaces for browser-module dashboards:

- query-state: useDashboardQueryState + createDashboardQueryState with
  debounce, dedupe by query+frame-overrides fingerprint, reset, hydrate.
- frame ergonomics: frameDigest/framesEqual stability for useDashboardFrame(s),
  useFrameRows with decode auto/arrow/json + shape projection cache,
  useArrowTable, lazy Apache Arrow loader at runtime via dynamic import
  (bundler-opaque so apache-arrow stays optional).
- filtering: createIndexedRows + useIndexedRows with Set-intersection filter
  dispatch and precomputed haystack; useFilterState with stable callbacks
  and per-field debounce.
- map runtime: useDeckMap + useDeckLayers with library validation, throttled
  viewport, theme swap that preserves the deck overlay, and per-layer
  memoization on stable data/accessors/visualProps refs. Factory helpers
  scatter/text/icon/line.
- popup: useMapPopup that mounts React content into mapboxgl.Popup with
  managed createRoot lifecycle (open/reopen/close, content updates without
  recreate, parent-unmount cleanup).

53 unit tests across the new surfaces; types ship for all of them; README
documents the composed pattern that the UAL reference dashboard uses.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
wip: dashboard sdk
All checks were successful
CI / Test and Pack (push) Successful in 45s
CI / Test and Pack (pull_request) Successful in 47s
dafdb77a76
mfreeman451 closed this pull request 2026-05-05 04:37:32 +00:00
All checks were successful
CI / Test and Pack (push) Successful in 45s
CI / Test and Pack (pull_request) Successful in 47s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar-sdk-dashboard!2
No description provided.