Skip to content

Standardize class attributes in issue-scoped files#1324

Open
hxrshxz wants to merge 2 commits intoprocessing:mainfrom
hxrshxz:fix-989-class-attributes
Open

Standardize class attributes in issue-scoped files#1324
hxrshxz wants to merge 2 commits intoprocessing:mainfrom
hxrshxz:fix-989-class-attributes

Conversation

@hxrshxz
Copy link
Copy Markdown
Contributor

@hxrshxz hxrshxz commented Apr 8, 2026

Summary

Testing

  • npm run check
  • repo search confirms remaining className hits are outside this diff or intentional (RelatedItems alias, htmlElement.className)

resolves #989

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR standardizes HTML/CSS class attribute usage by replacing className with class on intrinsic/native markup, while leaving component props (e.g., <Icon className="..." />, <CircleButton className="..." />) unchanged. This aligns attribute usage across Astro and Preact-rendered templates and addresses #989.

Changes:

  • Replaced className with class on intrinsic elements in multiple TSX/JSX components.
  • Renamed an Astro prop destructure (classNamesectionClass) to avoid confusion and keep class handling explicit.
  • Minor cleanup/formatting improvements (e.g., removing debug logs, small refactors for readability).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/components/SearchResults/index.tsx Converts intrinsic element className attributes to class while keeping component className props intact.
src/components/RelatedItems/index.astro Renames destructured class prop local variable and applies it via class={...}.
src/components/ReferenceDirectoryWithFilter/index.tsx Updates intrinsic elements from className to class.
src/components/PageHeader/HomePage.astro Small refactor to reuse heroImages and adds explicit callback parameter typing.
src/components/Nav/MainNavLinks.tsx Updates intrinsic anchor className to class for CSS module usage.
src/components/Icon/index.tsx Uses class={props.className} on SVG output while preserving the public prop name className.
src/components/Dropdown/index.tsx Replaces intrinsic element className with class throughout the dropdown markup.
src/components/CopyCodeButton/index.tsx Removes debug logging and keeps CircleButton’s className prop usage as a component prop.
src/components/CodeEmbed/index.jsx Converts intrinsic element className to class and applies formatting-only refactors.
src/components/CircleButton/index.tsx Applies class={...} on intrinsic <a>/<button> while continuing to accept a className prop.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Harsh <harshmastic@gmail.com>
@hxrshxz hxrshxz force-pushed the fix-989-class-attributes branch from 3bef3c4 to aa39945 Compare April 8, 2026 17:26
@hxrshxz hxrshxz changed the title Replace invalid className HTML attributes Standardize class attributes in issue-scoped files Apr 8, 2026
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.

Feature: Standardize HTML class attribute naming (className → class)

2 participants