Skip to content

feat(solid): add SolidJS adapter with SSR and hydration support - #7

Open
KholiqAmrulloh wants to merge 1 commit into
orneryd:mainfrom
KholiqAmrulloh:feat/solidjs-adapter
Open

KholiqAmrulloh wants to merge 1 commit into
orneryd:mainfrom
KholiqAmrulloh:feat/solidjs-adapter

Conversation

@KholiqAmrulloh

Copy link
Copy Markdown

Summary

Adds an official SolidJS adapter for UI Grid, built on top of the existing
@ornery/ui-grid-vanilla custom element.

The adapter preserves SolidJS ownership and reactivity while sharing the same
framework-neutral grid engine used by the Angular and React integrations.

What changed

  • Added the new @ornery/ui-grid-solid package
  • Added reactive GridOptions updates without resetting interactive grid state
  • Added SolidJS JSX renderers for:
    • cells
    • column headers
    • expandable detail rows
    • cell editors
  • Added SSR and hydration support
  • Added cleanup for projected roots, subscriptions, and component lifecycle
  • Added a SolidStart example
  • Added a standalone SolidJS demo with 100,000 rows
  • Added build, test, and development scripts
  • Added dedicated SolidJS CI and publishing workflows
  • Updated version synchronization for the new package
  • Updated the main README with installation, usage, compatibility, and
    documentation links

Design

The adapter mounts the existing <ui-grid-element> Web Component and projects
SolidJS-owned JSX content through the grid's slot-based rendering system.

Options are updated on the existing element when SolidJS signals change. This
preserves interactive state such as sorting, filtering, column order, selection,
and column widths.

Validation

  • npm run build:solid
  • npm run test:solid
  • SSR rendering
  • Client-side hydration
  • Package consumption test
  • SolidJS demo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant