Skip to content

fix: readOnly semantics and React 18 className mapping - #2

Merged
thedhanawada merged 2 commits into
mainfrom
fix/readonly-props
Oct 2, 2026
Merged

thedhanawada merged 2 commits into
mainfrom
fix/readonly-props

Conversation

@thedhanawada

@thedhanawada thedhanawada commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Expose the boolean readOnly prop and element property in public declarations.
  • Map readOnly to readonly attribute presence consistently during SSR, lazy upgrade, and updates.
  • Map className to class explicitly: React 18 otherwise emits classname/className and loses CSS classes.
  • Document interface >=1.8.0 for read-only editing; retain existing peer compatibility.

Validation

  • Full npm test: 37/37 on React 18 and 37/37 on React 19 with published interface 1.8.1/core 2.5.5.
  • Bundler and NodeNext declaration checks pass on both React versions.
  • Cold/warm true/false/omitted readOnly + reactive toggles, SSR boolean attributes, class updates/removal, existing callbacks and StrictMode tests.
  • Before the class fix, React 18 failed two existing class mapping DOM/SSR assertions; both now pass.

Release held pending integrated feature validation and publishing.

@thedhanawada thedhanawada changed the title fix: type readOnly and preserve boolean attribute semantics fix: readOnly semantics and React 18 className mapping Oct 2, 2026
@thedhanawada
thedhanawada marked this pull request as ready for review October 2, 2026 09:24
@thedhanawada
thedhanawada merged commit 1468a3b into main Oct 2, 2026
1 check passed
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