Skip to content

[Omnidoc] Treat comment consistency as groups, instead of exceptions#6834

Merged
PavelVanecek merged 7 commits into
mainfrom
omnidoc
Dec 30, 2025
Merged

[Omnidoc] Treat comment consistency as groups, instead of exceptions#6834
PavelVanecek merged 7 commits into
mainfrom
omnidoc

Conversation

@PavelVanecek

@PavelVanecek PavelVanecek commented Dec 30, 2025

Copy link
Copy Markdown
Collaborator

Related Issue

#6069

Summary by CodeRabbit

  • New Features

    • Added Brush component for XAxis scrolling and pan/zoom functionality.
  • Documentation

    • Improved property descriptions across multiple components for clarity and consistency.
    • Added pixel unit specifications to dimensional properties.
    • Clarified ErrorBar width definition and axis-related descriptions.
    • Enhanced descriptions for Legend, Label, and shape components.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Dec 30, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

This PR centralizes prop comment similarity exception rules into a new dedicated module, adds three components (Brush, Cross, Dot) to automated API documentation generation, migrates component API documentation to new files, and clarifies numerous JSDoc comments across source and documentation files.

Changes

Cohort / File(s) Summary
Exception Infrastructure
omnidoc/commentSimilarityExceptions.ts, omnidoc/cross-component-prop-comments.spec.ts
New centralized exceptions module exports CommentSimilarityGroup type and commentSimilarityExceptions array. Test file refactored to import and use this centralized data instead of local definitions, updating lookup logic to derive keys from exception group indices.
Automated Documentation Configuration
omnidoc/generateApiDoc.ts
Added Brush, Cross, Dot to OMNIDOC_AUTOMATED_API_DOCS_COMPONENTS list.
Component Documentation Updates (JSDoc)
src/cartesian/Brush.tsx, src/cartesian/ErrorBar.tsx, src/cartesian/XAxis.tsx, src/cartesian/YAxis.tsx, src/cartesian/ZAxis.tsx, src/chart/Sankey.tsx, src/component/Label.tsx, src/component/LabelList.tsx, src/component/Legend.tsx, src/shape/Cross.tsx, src/shape/Dot.tsx, src/shape/Rectangle.tsx
Clarified JSDoc comments: added pixel units, standardized capitalization/phrasing, corrected typos, and improved clarity (e.g., "The height of legend." → "Height of the legend in pixels.").
New Component Wrapper
src/cartesian/Brush.tsx
Added public Brush component that resolves default props and renders BrushSettingsDispatcher and BrushInternal.
API Documentation Migration
www/src/docs/api/Brush.tswww/src/docs/api/BrushAPI.tsx, www/src/docs/api/Cross.tswww/src/docs/api/CrossAPI.tsx, www/src/docs/api/Dot.tswww/src/docs/api/DotAPI.tsx
Removed old .ts files and introduced new .tsx files with updated API metadata structures for Brush, Cross, and Dot components.
API Documentation Clarifications
www/src/docs/api/ErrorBarAPI.tsx, www/src/docs/api/LabelAPI.tsx, www/src/docs/api/LabelListAPI.tsx, www/src/docs/api/LegendAPI.tsx, www/src/docs/api/RectangleAPI.tsx, www/src/docs/api/SankeyAPI.tsx, www/src/docs/api/XAxisAPI.tsx, www/src/docs/api/YAxisAPI.tsx, www/src/docs/api/ZAxisAPI.tsx
Updated prop descriptions for consistency and clarity (pixel units, standardized phrasing, typo fixes, expanded explanations).
Documentation Index
www/src/docs/api/index.ts
Updated imports and exports to reference new BrushAPI, CrossAPI, and DotAPI modules instead of legacy .ts files.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • ckifer

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete, providing only a reference to a related issue without addressing most required template sections. Add descriptions for: Description of changes, Motivation and Context, How Has This Been Tested, Types of changes, and Checklist items. Refer to the repository's template structure.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: shifting from an exception-based approach to a group-based approach for handling comment consistency.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
www/src/docs/api/LegendAPI.tsx (1)

67-77: Fix the height and width type documentation to match the implementation.

The type field at lines 68 and 195 documents these props as 'string | number', but the actual TypeScript implementation in Legend.tsx (lines 110, 114) types them as number only. Update the documentation to reflect that only numbers are accepted, not strings.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 11596da and 2c07299.

📒 Files selected for processing (31)
  • omnidoc/commentSimilarityExceptions.ts
  • omnidoc/cross-component-prop-comments.spec.ts
  • omnidoc/generateApiDoc.ts
  • src/cartesian/Brush.tsx
  • src/cartesian/ErrorBar.tsx
  • src/cartesian/XAxis.tsx
  • src/cartesian/YAxis.tsx
  • src/cartesian/ZAxis.tsx
  • src/chart/Sankey.tsx
  • src/component/Label.tsx
  • src/component/LabelList.tsx
  • src/component/Legend.tsx
  • src/shape/Cross.tsx
  • src/shape/Dot.tsx
  • src/shape/Rectangle.tsx
  • www/src/docs/api/Brush.ts
  • www/src/docs/api/BrushAPI.tsx
  • www/src/docs/api/Cross.ts
  • www/src/docs/api/CrossAPI.tsx
  • www/src/docs/api/Dot.ts
  • www/src/docs/api/DotAPI.tsx
  • www/src/docs/api/ErrorBarAPI.tsx
  • www/src/docs/api/LabelAPI.tsx
  • www/src/docs/api/LabelListAPI.tsx
  • www/src/docs/api/LegendAPI.tsx
  • www/src/docs/api/RectangleAPI.tsx
  • www/src/docs/api/SankeyAPI.tsx
  • www/src/docs/api/XAxisAPI.tsx
  • www/src/docs/api/YAxisAPI.tsx
  • www/src/docs/api/ZAxisAPI.tsx
  • www/src/docs/api/index.ts
💤 Files with no reviewable changes (3)
  • www/src/docs/api/Cross.ts
  • www/src/docs/api/Dot.ts
  • www/src/docs/api/Brush.ts
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.{ts,tsx}: Never use any type (implicit or explicit) in TypeScript code
Prefer unknown over any and refine the type in TypeScript
Type function parameters and return values explicitly in TypeScript, do not rely on implicit any or inference; exceptions are React components and trivial functions
Do not use as type assertions in TypeScript; the only exception is as const

All imports from recharts must use the public API entry point (e.g., import { TooltipIndex } from 'recharts'). Imports from internal paths like recharts/types/* or recharts/src/* are not allowed and will fail the linter.

Files:

  • src/chart/Sankey.tsx
  • www/src/docs/api/LabelListAPI.tsx
  • src/cartesian/ErrorBar.tsx
  • src/component/Label.tsx
  • src/component/LabelList.tsx
  • www/src/docs/api/LabelAPI.tsx
  • omnidoc/commentSimilarityExceptions.ts
  • www/src/docs/api/BrushAPI.tsx
  • www/src/docs/api/XAxisAPI.tsx
  • src/cartesian/ZAxis.tsx
  • src/component/Legend.tsx
  • src/shape/Cross.tsx
  • www/src/docs/api/SankeyAPI.tsx
  • www/src/docs/api/DotAPI.tsx
  • src/shape/Rectangle.tsx
  • src/cartesian/Brush.tsx
  • omnidoc/generateApiDoc.ts
  • www/src/docs/api/index.ts
  • src/cartesian/XAxis.tsx
  • www/src/docs/api/LegendAPI.tsx
  • www/src/docs/api/CrossAPI.tsx
  • omnidoc/cross-component-prop-comments.spec.ts
  • www/src/docs/api/RectangleAPI.tsx
  • src/cartesian/YAxis.tsx
  • www/src/docs/api/ZAxisAPI.tsx
  • src/shape/Dot.tsx
  • www/src/docs/api/ErrorBarAPI.tsx
  • www/src/docs/api/YAxisAPI.tsx
**/*.{js,ts,tsx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Ensure code lints by running npm run lint and follows Airbnb's Style Guide

Files:

  • src/chart/Sankey.tsx
  • www/src/docs/api/LabelListAPI.tsx
  • src/cartesian/ErrorBar.tsx
  • src/component/Label.tsx
  • src/component/LabelList.tsx
  • www/src/docs/api/LabelAPI.tsx
  • omnidoc/commentSimilarityExceptions.ts
  • www/src/docs/api/BrushAPI.tsx
  • www/src/docs/api/XAxisAPI.tsx
  • src/cartesian/ZAxis.tsx
  • src/component/Legend.tsx
  • src/shape/Cross.tsx
  • www/src/docs/api/SankeyAPI.tsx
  • www/src/docs/api/DotAPI.tsx
  • src/shape/Rectangle.tsx
  • src/cartesian/Brush.tsx
  • omnidoc/generateApiDoc.ts
  • www/src/docs/api/index.ts
  • src/cartesian/XAxis.tsx
  • www/src/docs/api/LegendAPI.tsx
  • www/src/docs/api/CrossAPI.tsx
  • omnidoc/cross-component-prop-comments.spec.ts
  • www/src/docs/api/RectangleAPI.tsx
  • src/cartesian/YAxis.tsx
  • www/src/docs/api/ZAxisAPI.tsx
  • src/shape/Dot.tsx
  • www/src/docs/api/ErrorBarAPI.tsx
  • www/src/docs/api/YAxisAPI.tsx
src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Do not hardcode any strings or formatting choices in library code; users should provide localized strings as desired

Files:

  • src/chart/Sankey.tsx
  • src/cartesian/ErrorBar.tsx
  • src/component/Label.tsx
  • src/component/LabelList.tsx
  • src/cartesian/ZAxis.tsx
  • src/component/Legend.tsx
  • src/shape/Cross.tsx
  • src/shape/Rectangle.tsx
  • src/cartesian/Brush.tsx
  • src/cartesian/XAxis.tsx
  • src/cartesian/YAxis.tsx
  • src/shape/Dot.tsx
**/*.spec.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

When running unit tests, prefer to run a single test file using npm run test -- path/to/TestFile.spec.tsx rather than running all tests with npm test

Unit tests should be placed in the test directory, with some tests also allowed in www/test. Test files follow the naming convention *.spec.tsx.

Files:

  • omnidoc/cross-component-prop-comments.spec.ts
🧠 Learnings (6)
📚 Learning: 2025-12-14T13:58:49.197Z
Learnt from: PavelVanecek
Repo: recharts/recharts PR: 6771
File: src/shape/Curve.tsx:39-40
Timestamp: 2025-12-14T13:58:49.197Z
Learning: In the recharts codebase, hooks like useAppSelector and other hooks (e.g., useChartLayout()) return undefined when used outside Redux Provider context, instead of throwing. This enables components that call these hooks, such as Curve, to operate in standalone mode by falling back to prop values. During code reviews, ensure TSX files gracefully handle undefined results from hooks and implement fallbacks (e.g., via default props or explicit prop-based values) rather than assuming the hook is always within Provider.

Applied to files:

  • src/chart/Sankey.tsx
  • src/cartesian/ErrorBar.tsx
  • src/component/Label.tsx
  • src/component/LabelList.tsx
  • src/cartesian/ZAxis.tsx
  • src/component/Legend.tsx
  • src/shape/Cross.tsx
  • src/shape/Rectangle.tsx
  • src/cartesian/Brush.tsx
  • src/cartesian/XAxis.tsx
  • src/cartesian/YAxis.tsx
  • src/shape/Dot.tsx
📚 Learning: 2025-12-08T08:23:26.261Z
Learnt from: PavelVanecek
Repo: recharts/recharts PR: 6750
File: src/state/selectors/axisSelectors.ts:593-602
Timestamp: 2025-12-08T08:23:26.261Z
Learning: In the recharts codebase, `DataKey<any>` is an intentional exception to the "no any" rule while proper typing is being developed. This should not be flagged in reviews.

Applied to files:

  • omnidoc/commentSimilarityExceptions.ts
  • omnidoc/cross-component-prop-comments.spec.ts
📚 Learning: 2025-12-26T15:59:11.254Z
Learnt from: CR
Repo: recharts/recharts PR: 0
File: DEVELOPING.md:0-0
Timestamp: 2025-12-26T15:59:11.254Z
Learning: Applies to **/*.{ts,tsx} : All imports from `recharts` must use the public API entry point (e.g., `import { TooltipIndex } from 'recharts'`). Imports from internal paths like `recharts/types/*` or `recharts/src/*` are not allowed and will fail the linter.

Applied to files:

  • www/src/docs/api/index.ts
  • omnidoc/cross-component-prop-comments.spec.ts
  • src/shape/Dot.tsx
📚 Learning: 2025-12-16T08:12:13.355Z
Learnt from: PavelVanecek
Repo: recharts/recharts PR: 6783
File: test/util/ChartUtils.spec.tsx:15-16
Timestamp: 2025-12-16T08:12:13.355Z
Learning: In the recharts codebase, files in the `test` folder are allowed to import from internal paths (e.g., `../../src/state/cartesianAxisSlice`) and do not need to use the public API entry point (`src/index.ts`). The public API import restriction applies only to non-test code.

Applied to files:

  • www/src/docs/api/index.ts
  • src/cartesian/XAxis.tsx
  • omnidoc/cross-component-prop-comments.spec.ts
  • src/shape/Dot.tsx
📚 Learning: 2025-11-23T13:30:10.395Z
Learnt from: PavelVanecek
Repo: recharts/recharts PR: 6669
File: www/src/docs/exampleComponents/ScatterChart/ScatterChartWithLabels.tsx:2-2
Timestamp: 2025-11-23T13:30:10.395Z
Learning: The `TooltipIndex` type from recharts is defined in `src/state/tooltipSlice.ts` but is not currently exported from the public API entry points. It should not be imported from `recharts/types/state/tooltipSlice` as this is an internal implementation path. An ESLint rule is needed to prevent regressions.

Applied to files:

  • www/src/docs/api/index.ts
📚 Learning: 2025-11-25T01:22:59.729Z
Learnt from: CR
Repo: recharts/recharts PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-11-25T01:22:59.729Z
Learning: Applies to test/component/**/*.spec.tsx : Use React Testing Library for testing component interactions and behavior upon rendering

Applied to files:

  • src/shape/Dot.tsx
🧬 Code graph analysis (4)
www/src/docs/api/BrushAPI.tsx (1)
www/src/docs/api/types.ts (1)
  • ApiDoc (21-29)
www/src/docs/api/DotAPI.tsx (1)
www/src/docs/api/types.ts (1)
  • ApiDoc (21-29)
www/src/docs/api/index.ts (3)
www/src/docs/api/BrushAPI.tsx (1)
  • BrushAPI (3-181)
www/src/docs/api/CrossAPI.tsx (1)
  • CrossAPI (3-80)
www/src/docs/api/DotAPI.tsx (1)
  • DotAPI (4-307)
www/src/docs/api/CrossAPI.tsx (1)
www/src/docs/api/types.ts (1)
  • ApiDoc (21-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build, Test, Pack
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (30)
src/component/Legend.tsx (1)

107-114: LGTM! Documentation improvements enhance clarity.

The JSDoc updates for width and height props now explicitly state "in pixels," which accurately reflects how React interprets numeric CSS property values. These changes align well with the corresponding API documentation updates in www/src/docs/api/LegendAPI.tsx.

src/shape/Dot.tsx (1)

10-17: LGTM! Documentation improvements clarify units.

The JSDoc comments now explicitly state that coordinates are in pixels, improving clarity for API consumers.

www/src/docs/api/SankeyAPI.tsx (1)

195-195: LGTM! Typo corrected.

Fixed "th y axis" to "the y axis" in the sort prop description.

src/chart/Sankey.tsx (1)

723-723: LGTM! Typo corrected.

Fixed "th y axis" to "the y axis" in the sort prop JSDoc, consistent with the corresponding API documentation update.

src/cartesian/YAxis.tsx (1)

126-128: LGTM! Documentation wording improved.

The JSDoc now reads "Width of the axis in pixels" with improved grammar (added "the" before "axis").

src/cartesian/XAxis.tsx (1)

65-65: LGTM! Documentation wording improved.

The JSDoc now reads "Height of the axis in pixels" with improved grammar, consistent with the YAxis documentation update.

www/src/docs/api/XAxisAPI.tsx (1)

170-170: LGTM! Documentation wording improved.

The API documentation now reads "Height of the axis in pixels", consistent with the XAxis component's JSDoc update.

www/src/docs/api/RectangleAPI.tsx (1)

18-18: LGTM! Documentation wording improved.

The descriptions now read "Height of the rectangle in pixels" and "Width of the rectangle in pixels" with improved grammar (added "the" before "rectangle").

Also applies to: 49-49

src/shape/Rectangle.tsx (1)

93-93: LGTM! Documentation wording improved.

The JSDoc comments now read "Width of the rectangle in pixels" and "Height of the rectangle in pixels" with improved grammar, consistent with the API documentation updates.

Also applies to: 98-98

src/cartesian/ZAxis.tsx (1)

37-46: LGTM! Clear axis type documentation.

The expanded documentation effectively distinguishes between category (discrete values with equal spacing) and number (continuous range with proportional spacing) axis types. This clarification will help users choose the appropriate axis type for their data.

src/cartesian/ErrorBar.tsx (1)

59-65: LGTM! Excellent clarification of the width property.

The updated documentation clearly distinguishes between the width prop (which controls the serif/end caps) and the total error bar width (which is data-driven). This addresses a common point of confusion.

www/src/docs/api/ErrorBarAPI.tsx (1)

90-98: LGTM! Consistent API documentation.

The API documentation properly reflects the clarified width property behavior from the source code, maintaining consistency between implementation and user-facing documentation.

www/src/docs/api/ZAxisAPI.tsx (1)

127-139: LGTM! Consistent axis type documentation.

The API documentation correctly reflects the enhanced axis type descriptions from the source code, providing clear guidance on when to use category versus number axis types.

www/src/docs/api/LabelListAPI.tsx (1)

98-102: LGTM! Clearer id property description.

The updated documentation accurately describes the id prop as a general HTML identifier, which is more straightforward than the previous SSR-specific explanation.

src/component/LabelList.tsx (1)

54-56: LGTM! Consistent id documentation.

The source code documentation now matches the API documentation, providing a clear and accurate description of the id prop as a general HTML attribute.

src/cartesian/Brush.tsx (3)

51-53: LGTM! Explicit pixel unit documentation.

Adding "in pixels" clarifies the expected unit for the width property.


60-64: LGTM! Clear height property documentation.

The explicit pixel unit specification improves clarity for the height property.


1047-1069: LGTM! Well-structured public component export.

The new public Brush export follows the established pattern in the codebase:

  • Resolves default props
  • Dispatches settings to Redux state via BrushSettingsDispatcher
  • Renders internal implementation via BrushInternal
  • Includes helpful JSDoc with example link

This properly exposes Brush as a public API component.

src/shape/Cross.tsx (1)

12-26: LGTM! Consistent pixel unit documentation.

Adding explicit "in pixels" specifications to the x, y, width, and height properties improves clarity and consistency across the component API.

src/component/Label.tsx (1)

148-151: LGTM!

The updated JSDoc accurately describes the id prop's purpose as a generic HTML id attribute, which aligns with its usage in renderRadialLabel (line 297) where it's applied to the <path> element.

www/src/docs/api/LabelAPI.tsx (1)

76-76: LGTM!

The API documentation correctly reflects the updated source JSDoc for the id prop, maintaining consistency between the component definition and its public API documentation.

www/src/docs/api/YAxisAPI.tsx (1)

507-508: LGTM!

The updated description is clearer and more concise. The phrase "Width of the axis in pixels" followed by the auto behavior is well-structured.

www/src/docs/api/CrossAPI.tsx (1)

1-80: LGTM!

The new API documentation file follows the established pattern. The props are well-documented with clear en-US descriptions. The ApiDoc type is correctly imported and applied.

omnidoc/cross-component-prop-comments.spec.ts (1)

43-61: LGTM!

The refactored exception handling is well-designed:

  • The wildcard '*' correctly skips props entirely across all components
  • Non-wildcard exception groups create distinct keys to segregate similarity checking
  • The augmented key format ${prop} (group: ${index}: ${components}) ensures uniqueness while preserving traceability
www/src/docs/api/DotAPI.tsx (1)

1-307: LGTM!

The new API documentation file is well-structured:

  • Correctly imports Link from react-router for internal navigation to ReferenceDot
  • Core props (cx, cy, r) have clear pixel-based descriptions
  • The component-level description helpfully guides users to ReferenceDot for data-based positioning
www/src/docs/api/BrushAPI.tsx (1)

1-181: LGTM!

The new API documentation is comprehensive:

  • Props are well-documented with appropriate defaults (gap: 1, height: 40, travellerWidth: 5, etc.)
  • The dataKey description follows the established format used across other components
  • Component-level description clearly explains the Brush's zoom/pan functionality
  • The example link to BrushBarChart provides helpful user guidance
omnidoc/generateApiDoc.ts (1)

28-31: LGTM!

The new components are correctly added to the automation list in alphabetical order, and the corresponding mappings for Brush, Cross, and Dot in www/src/docs/api/index.ts are in place (imports on lines 52–54, mappings on lines 77, 102, and 104).

www/src/docs/api/index.ts (1)

77-77: LGTM!

The allApiDocs mappings correctly reference the imported API documentation objects and are consistent with the existing structure.

Also applies to: 102-102, 104-104

omnidoc/commentSimilarityExceptions.ts (2)

1-17: LGTM!

The CommentSimilarityGroup type is well-defined with clear documentation. Good use of ReadonlyArray for immutability and comprehensive JSDoc comments explaining the structure and the special '*' wildcard behavior.


19-230: LGTM!

The commentSimilarityExceptions array is well-structured and comprehensive. Each exception group includes clear reasoning, and the centralized approach (as described in the PR objectives) improves maintainability. The data structure correctly allows components to appear in multiple groups with different props, which is necessary for handling the various contextual differences across components.

Comment thread www/src/docs/api/index.ts
Comment on lines +52 to +54
import { BrushAPI } from './BrushAPI.tsx';
import { CrossAPI } from './CrossAPI.tsx';
import { DotAPI } from './DotAPI.tsx';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Remove explicit .tsx extensions from imports.

These imports include .tsx extensions, which is inconsistent with all other imports in this file (lines 1-51) that omit extensions. TypeScript's module resolver should find the correct files automatically. Explicit extensions can cause issues with different build tools and linting configurations.

🔎 Proposed fix
-import { BrushAPI } from './BrushAPI.tsx';
-import { CrossAPI } from './CrossAPI.tsx';
-import { DotAPI } from './DotAPI.tsx';
+import { BrushAPI } from './BrushAPI';
+import { CrossAPI } from './CrossAPI';
+import { DotAPI } from './DotAPI';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { BrushAPI } from './BrushAPI.tsx';
import { CrossAPI } from './CrossAPI.tsx';
import { DotAPI } from './DotAPI.tsx';
import { BrushAPI } from './BrushAPI';
import { CrossAPI } from './CrossAPI';
import { DotAPI } from './DotAPI';
🤖 Prompt for AI Agents
In www/src/docs/api/index.ts around lines 52 to 54, the three import statements
explicitly include the .tsx extensions which is inconsistent with the rest of
the file and can break some build/lint setups; change those imports to omit the
.tsx extension (e.g., import { BrushAPI } from './BrushAPI'; import { CrossAPI }
from './CrossAPI'; import { DotAPI } from './DotAPI';) so TypeScript's module
resolver handles the file resolution consistently with other imports.

@codecov

codecov Bot commented Dec 30, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.77%. Comparing base (11596da) to head (2c07299).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6834      +/-   ##
==========================================
+ Coverage   93.74%   93.77%   +0.03%     
==========================================
  Files         531      531              
  Lines       48713    48965     +252     
  Branches     5117     5117              
==========================================
+ Hits        45664    45916     +252     
  Misses       3042     3042              
  Partials        7        7              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown
Contributor

Staging Deployment Details

These deployments will remain available for 30 days.

To update snapshots: Comment /update-snapshots on this PR to automatically update the baseline screenshots.

@PavelVanecek
PavelVanecek merged commit 16765e4 into main Dec 30, 2025
73 of 76 checks passed
@PavelVanecek
PavelVanecek deleted the omnidoc branch December 30, 2025 14:09
@codecov

codecov Bot commented Dec 31, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 718 bytes (0.03%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
recharts/bundle-cjs 1.19MB 359 bytes (0.03%) ⬆️
recharts/bundle-es6 1.03MB 359 bytes (0.03%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: recharts/bundle-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
cartesian/Brush.js 388 bytes 27.83kB 1.41%
shape/Dot.js -29 bytes 2.05kB -1.39%
view changes for bundle: recharts/bundle-es6

Assets Changed:

Asset Name Size Change Total Size Change (%)
cartesian/Brush.js 388 bytes 26.52kB 1.48%
shape/Dot.js -29 bytes 1.19kB -2.38%

This was referenced Mar 24, 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.

1 participant