Skip to content

refactor(ui): migrate utils/* Typography to ui-core-components (Typography sweep 1/13) - #30773

Closed
chirag-madlani wants to merge 5 commits into
antd-migration/wave-1from
antd-migration/typography-sweep-1
Closed

refactor(ui): migrate utils/* Typography to ui-core-components (Typography sweep 1/13)#30773
chirag-madlani wants to merge 5 commits into
antd-migration/wave-1from
antd-migration/typography-sweep-1

Conversation

@chirag-madlani

@chirag-madlani chirag-madlani commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

First real migration sweep of Wave 1 (#30565, epic #30570). Converts 32 files under src/utils from antd Typography to @openmetadata/ui-core-components, driven by the codemod and mapping guide landed in #30721.

utils/* was chosen as chunk 1 deliberately: pure render-helper functions rather than page shells, so the mechanical mapping gets validated end-to-end with a contained blast radius before the sweep moves into shared components and pages.

Three commits:

  1. fix(tooling) — codemod bug found by running it for real: the transform only detected a plain pre-existing core Typography import and missed an existing alias, emitting a duplicate specifier (Typography as CoreTypography, Typography) in IngestionUtils.tsx. Now reuses whichever local name is already in scope. Regression tests added (TDD red→green; suite 37→39).
  2. refactor(ui) — the 32 regenerated files, plus two test files that encoded the old antd shape (NavbarUtils.test.tsx identity assertion; CSV.utils.test.tsx whose manual core-components jest mock lacked a Typography stub).
  3. Additive TypographyProps widening in core (href/target/rel) — Typography.Link → as="a" conversions are valid at runtime (props spread onto the as element) but didn't typecheck, since HTMLAttributes excludes anchor attrs. Fixed once at the type level because every later chunk with a Typography.Link hits it.

Verification

Gate Result
Codemod suite 39/39 (2 new regression tests)
tsc --noEmit (34 changed files) 0 new errors — 51 remaining verified pre-existing against a stashed baseline (line-shifted only)
jest src/utils 194/194 suites, 4039/4039 tests
ui-checkstyle:changed clean (0 errors; 4 pre-existing warnings)
Core package own tsc 0 errors, typography.test.tsx 7/7

Ledger: antd Typography in openmetadata-ui 421 → 388 (−33). 12 chunks remain (map in the sweep planning doc); zero hand-finish warnings fired in this chunk.

Fixes #30772

🤖 Generated with Claude Code

Greptile Summary

This PR performs the first utility-layer Typography migration sweep.

  • Replaces Ant Design Typography usage across render helpers under src/utils with the shared core Typography component.
  • Widens core Typography props for anchor attributes used by migrated links.
  • Updates affected tests and improves the codemod to reuse aliased core Typography imports.
  • Removes the nondeterministic incident-manager visual snapshot case.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
openmetadata-ui-core-components/src/main/resources/ui/src/components/foundations/typography.tsx Widens Typography's public props with anchor attributes while retaining runtime prop forwarding.
tooling/antd-codemods/transforms/antd-typography-to-core.js Updates the migration transform to recognize and reuse an existing aliased core Typography import.
tooling/antd-codemods/tests/antd-typography-to-core.test.js Adds regression coverage for aliased Typography import handling.
openmetadata-ui/src/main/resources/ui/playwright/e2e/VisualRegression/staticPages.spec.ts Removes the unstable incident-manager route from static visual regression coverage.
openmetadata-ui/src/main/resources/ui/src/utils/DataAssetsVersionHeaderUtils.tsx Migrates version-header text and source URL anchors to the core Typography component.

Reviews (2): Last reviewed commit: "test(ui): drop non-deterministic inciden..." | Re-trigger Greptile

chirag-madlani and others added 2 commits July 31, 2026 21:56
…sions

The antd-typography-to-core codemod only checked for a plain, unaliased
`Typography` specifier when deciding whether core already imports
Typography. It missed an existing `Typography as CoreTypography` alias,
so on a fully-converted file it pushed a second `Typography` specifier
onto the same import (utils/IngestionUtils.tsx repro), instead of
reusing the alias already in scope. Fixed by resolving the existing
core-import local name (plain or aliased) once, up front, and reusing
it for both the fully-converted and partial/alias code paths; a new
specifier is only introduced when no core import exists at all.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… 1/13)

Chunk 1 of the antd Typography -> ui-core-components migration
(docs/antd-migration/typography.md): 32 leaf files under
openmetadata-ui/src/main/resources/ui/src/utils regenerated with the
fixed antd-typography-to-core codemod. All 32 convert cleanly with no
hand-finish skips.

Also includes two fixes surfaced by the verification gates rather than
the codemod itself:
- utils/NavbarUtils.test.tsx and utils/CSV/CSV.utils.test.tsx asserted
  against / mocked the old antd Typography shape; updated to the core
  component so their tests keep passing.
- Widened ui-core-components' TypographyProps (href/target/rel) so the
  as="a" shape produced by Typography.Link conversions type-checks;
  these props already reached the DOM at runtime via prop spreading,
  this only corrects the type surface to match, additive-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 31, 2026 16:28
@chirag-madlani
chirag-madlani requested review from a team and karanh37 as code owners July 31, 2026 16:28

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs UI UI specific issues labels Jul 31, 2026
<Divider className="self-center m-x-sm" type="vertical" />
<div className="d-flex items-center text-xs">
<Typography.Link href={href} style={{ fontSize: '12px' }}>
<Typography as="a" href={href} style={{ fontSize: '12px' }}>

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.

P2 Link affordance changes to gray

The migrated as="a" elements here and for pipelineDetails.sourceUrl inherit the core prose link color, which is gray rather than Ant Design's distinct link color, making these source links harder to distinguish from surrounding text. Add an explicit link-color style consistent with the rest of the application.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment on lines +168 to +173
<Typography
className="entity-title text-link-color font-medium m-r-xss"
data-testid="entity-title"
ellipsis={{ tooltip: true }}>
{title}
</Text>
</Typography>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Bug: ellipsis tooltip nests a inside anchors

The core Typography renders ellipsis={{ tooltip: true }} through Tooltip/TooltipTrigger, and TooltipTrigger is a react-aria AriaButton (<button>). In EntitySummaryPanelUtils.getTitle these converted <Typography ellipsis={{ tooltip: true }}> titles sit directly inside a react-router <Link> (<a>), producing invalid <a><button>...</button></a> markup and an interactive button that can intercept the press so the title no longer navigates. antd's Typography.Text previously rendered a plain <span> with a hover tooltip and left navigation intact. Verify click-through on dashboard/entity summary titles; if broken, drop the ellipsis-tooltip on the linked title (use CSS truncation) or keep these specific sites on antd.

Was this helpful? React with 👍 / 👎

Comment on lines 217 to +220
{displayText}
<Typography.Text className="m-l-xs text-xs" type="secondary">
<Typography className="m-l-xs text-xs" color="secondary">
{fqn}
</Typography.Text>
</Typography>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Edge Case: Text→core Typography changes inline spans to block

The core Typography always wraps its element in a block-level <div className="prose ...">, whereas antd Typography.Text renders a bare inline <span>. Conversions used in inline contexts therefore change from inline to block flow — e.g. SearchUtils.getSuggestionElement where the converted <Typography> follows {displayText} inline, and the many Transi18next renderElement={<Typography .../>} fragments in FeedUtils that are meant to wrap a portion of a sentence. This can push text onto its own line. Verify these render on one line visually; if not, these sites need an inline element or should stay on antd.

Was this helpful? React with 👍 / 👎

Comment on lines +118 to +120
<Typography as="h5" size="text-md" style={titleStyles}>
{timestamp}
</Typography.Title>
</Typography>

@gitar-bot gitar-bot Bot Jul 31, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Quality: Title→Typography conversion drops default bold weight

antd Typography.Title renders bold heading text by default. The codemod maps Typography.Title level={5} to <Typography as="h5" size="text-md"> (size only, no weight), so in DataInsightChartUtils.CustomTooltip the tooltip title loses its bold styling. If bold is intended, add weight="semibold" (or the appropriate weight) either at this call site or in the codemod's Title branch so heading emphasis is preserved across the sweep.

Preserve the bold heading weight lost from Typography.Title.:

<Typography as="h5" size="text-md" weight="semibold" style={titleStyles}>
  {timestamp}
</Typography>

Was this helpful? React with 👍 / 👎

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

❌ UI Checkstyle Failed

❌ Antd + Less Deprecation Guard

A new antd import or new .less file was added. Use UntitledUI + Tailwind for new work.

Affected files

openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx: import { Button, Checkbox, MenuProps, Radio, Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/AgentsStatusWidgetUtils.tsx: import { Skeleton } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/ClassificationUtils.tsx: import { Button, Space, Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DataAssetsHeader.utils.test.tsx: import { Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DataAssetsHeaderExtraInfo.tsx: import { Divider, Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DataAssetsVersionHeaderUtils.tsx: import { Divider, Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DataInsightChartUtils.tsx: import { Card } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DataProductUtils.tsx: import { Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/DomainUtils.tsx: import { Divider, Space, Tooltip as AntDTooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtils.tsx: import { Col, Row } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtilsV1.tsx: import { Button, Col, Row, Segmented, Table } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/EntityVersionUtils.tsx: import { Divider, Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/GlossaryTerm/GlossaryTermReferenceUtils.tsx: import { Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/GlossaryUtils.tsx: import { Tag, Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/IngestionListTableUtils.tsx: import { Col, Row, Tag } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/NavbarUtils.tsx: import { Col, Row } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/SearchUtils.tsx: import { Button } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/ServiceConnectionDetailsUtils.tsx: import { Col, Input, Row, Select, Space, Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/TableTabsUtils.tsx: import { Divider, Space } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx: import { Space, Tooltip } from 'antd';
openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx: import { Space, Tag as AntdTag, Tooltip } from 'antd';

🔍 ESLint findings in this PR's files — ESLint report could not be read — see the job log.

Errors block the build. Warnings do not yet — they are rules whose backlog is still
being worked down, listed so this PR does not add to it. See docs/ui-code-quality-gate.md.

No machine-readable report was produced.


Fix locally (fast - only checks files changed in this branch):

make ui-checkstyle-changed

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

🔴 Playwright Results — workflow failed

Validated commit 308b8a7c7bcc06074aef80ff9d1f655eb35bd592 in Playwright run 30656212464, attempt 1.

✅ 779 passed · ❌ 1 failed · 🟡 1 flaky · ⏭️ 9 skipped · 🧰 0 lifecycle flaky

Performance

Blocking targets: ❌ unmet · Optimization targets: 🟡 in progress

Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting.

🕒 Full workflow signal wall (to summary) 1h 5m 27s

⏱️ Max setup 3m 2s · max shard execution 22m 1s · max shard-job elapsed before upload 26m 4s · reporting 5s

🌐 199.22 requests/attempt · 2.65 app boots/UI scenario · 30.96% common-shard skew

Optimization targets still in progress:

  • Common shard skew was 30.96% (convergence target: at most 15%).
  • Application boot ratio was 2.65 per UI scenario (2151 boots / 811 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
🟡 Shard chromium-01 143 0 1 0 0 0
✅ Shard chromium-02 146 0 0 0 0 0
✅ Shard chromium-03 157 0 0 3 0 0
✅ Shard chromium-04 130 0 0 0 0 0
✅ Shard data-asset-rules-01 61 0 0 0 0 0
✅ Shard domain-isolation-01 14 0 0 0 0 0
✅ Shard global-state-01 34 0 0 0 0 0
✅ Shard import-export-01 26 0 0 0 0 0
🔴 Shard ingestion-01 24 1 0 6 0 0
✅ Shard reindex-01 5 0 0 0 0 0
✅ Shard search-01 10 0 0 0 0 0
✅ Shard search-rbac-01 29 0 0 0 0 0

Genuine Failures (failed on all attempts)

Features/IncidentManager.spec.tsComplete Incident lifecycle with table owner (shard ingestion-01)
Error: Wait for a new run of ingestion pipeline pw-database-service-3fca6451.pw-database-d63d273f.pw-database-schema-06dda152.pw-table-11db4845-7a2d-4aa1-9e1a-6b3d1e73be6d.testSuite.pw-test-suite-pipeline-0629a289 to be successful (run recorded before trigger: none)  �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m  Expected: �[32m"success"�[39m Received: �[31m"queued"�[39m  Call Log: - Timeout 300000ms exceeded while waiting on the predicate
🟡 1 flaky test(s) (passed on retry)
  • Pages/Entity.spec.tsDomain Propagation (shard chromium-01, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@chirag-madlani
chirag-madlani changed the base branch from main to antd-migration/wave-1 July 31, 2026 18:14
chirag-madlani and others added 2 commits August 1, 2026 00:08
ClassificationUtils.tsx and IngestionListTableUtils.tsx now render the core
Typography component instead of antd's Typography.Text. Two test suites
mock '@openmetadata/ui-core-components' wholesale but didn't stub
Typography, so it resolved to undefined at render time and broke
ClassificationDetails.test.tsx and TestSuitePipelineTab.test.tsx in CI's
full-suite jest run (our local `jest src/utils` run never touched these
files). Add the same Typography stub already used in CSV.utils.test.tsx.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The incident-manager page renders seeded test-case rows whose names, table
names, and "Last Updated" timestamps differ per CI run; the table's
auto-width columns then shift the whole layout to fit that per-run content,
so no committed baseline can be stable. Same class of non-determinism as
'roles', already dropped.

Verified this is pre-existing and unrelated to this sweep: none of the 32
utils files touched by the sweep render anywhere in the IncidentManager
component tree (checked the full import graph from IncidentManagerPage
down), and the incident-manager baseline also fails intermittently on
unrelated, concurrent PRs that never touch those files (e.g. runs
91219477124 "fix async-polling bugs in EntityExportModalProvider" and
91193942898 "Fix the flakiness in SearchRBAC test").

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 65%
66.01% (77628/117592) 49.96% (46820/93707) 51.15% (14077/27521)

@sonarqubecloud

Copy link
Copy Markdown

@chirag-madlani

Copy link
Copy Markdown
Collaborator Author

Superseded by #30780. Verified that this branch's head is fully contained in antd-migration/typography-sweep-rest, so the complete Typography sweep already ships every commit from this PR — merging both would be redundant. Closing so wave-1 has a single Typography entry to review. No work is lost.

@gitar-bot

gitar-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Code Review ⚠️ Changes requested 0 resolved / 3 findings

Migrates 32 files under src/utils from antd Typography to @openmetadata/ui-core-components, but the ellipsis tooltip nests an interactive button inside anchor tags and changes inline spans to block divs.

⚠️ Bug: ellipsis tooltip nests a inside anchors

📄 openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtils.tsx:168-173 📄 openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtils.tsx:181-186 📄 openmetadata-ui-core-components/src/main/resources/ui/src/components/foundations/typography.tsx:174-188

The core Typography renders ellipsis={{ tooltip: true }} through Tooltip/TooltipTrigger, and TooltipTrigger is a react-aria AriaButton (<button>). In EntitySummaryPanelUtils.getTitle these converted <Typography ellipsis={{ tooltip: true }}> titles sit directly inside a react-router <Link> (<a>), producing invalid <a><button>...</button></a> markup and an interactive button that can intercept the press so the title no longer navigates. antd's Typography.Text previously rendered a plain <span> with a hover tooltip and left navigation intact. Verify click-through on dashboard/entity summary titles; if broken, drop the ellipsis-tooltip on the linked title (use CSS truncation) or keep these specific sites on antd.

💡 Edge Case: Text→core Typography changes inline spans to block

📄 openmetadata-ui/src/main/resources/ui/src/utils/SearchUtils.tsx:217-220 📄 openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:249-250 📄 openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:261-262 📄 openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:268-269 📄 openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:278-280 📄 openmetadata-ui-core-components/src/main/resources/ui/src/components/foundations/typography.tsx:193-199

The core Typography always wraps its element in a block-level <div className="prose ...">, whereas antd Typography.Text renders a bare inline <span>. Conversions used in inline contexts therefore change from inline to block flow — e.g. SearchUtils.getSuggestionElement where the converted <Typography> follows {displayText} inline, and the many Transi18next renderElement={<Typography .../>} fragments in FeedUtils that are meant to wrap a portion of a sentence. This can push text onto its own line. Verify these render on one line visually; if not, these sites need an inline element or should stay on antd.

💡 Quality: Title→Typography conversion drops default bold weight

📄 openmetadata-ui/src/main/resources/ui/src/utils/DataInsightChartUtils.tsx:118-120 📄 tooling/antd-codemods/transforms/antd-typography-to-core.js:270-274

antd Typography.Title renders bold heading text by default. The codemod maps Typography.Title level={5} to <Typography as="h5" size="text-md"> (size only, no weight), so in DataInsightChartUtils.CustomTooltip the tooltip title loses its bold styling. If bold is intended, add weight="semibold" (or the appropriate weight) either at this call site or in the codemod's Title branch so heading emphasis is preserved across the sweep.

Preserve the bold heading weight lost from Typography.Title.
<Typography as="h5" size="text-md" weight="semibold" style={titleStyles}>
  {timestamp}
</Typography>
🤖 Prompt for agents
Code Review: Migrates 32 files under `src/utils` from antd Typography to `@openmetadata/ui-core-components`, but the ellipsis tooltip nests an interactive button inside anchor tags and changes inline spans to block divs.

1. ⚠️ Bug: ellipsis tooltip nests a <button> inside <Link> anchors
   Files: openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtils.tsx:168-173, openmetadata-ui/src/main/resources/ui/src/utils/EntitySummaryPanelUtils.tsx:181-186, openmetadata-ui-core-components/src/main/resources/ui/src/components/foundations/typography.tsx:174-188

   The core `Typography` renders `ellipsis={{ tooltip: true }}` through `Tooltip`/`TooltipTrigger`, and `TooltipTrigger` is a react-aria `AriaButton` (`<button>`). In `EntitySummaryPanelUtils.getTitle` these converted `<Typography ellipsis={{ tooltip: true }}>` titles sit directly inside a react-router `<Link>` (`<a>`), producing invalid `<a><button>...</button></a>` markup and an interactive button that can intercept the press so the title no longer navigates. antd's `Typography.Text` previously rendered a plain `<span>` with a hover tooltip and left navigation intact. Verify click-through on dashboard/entity summary titles; if broken, drop the ellipsis-tooltip on the linked title (use CSS truncation) or keep these specific sites on antd.

2. 💡 Edge Case: Text→core Typography changes inline spans to block <div>
   Files: openmetadata-ui/src/main/resources/ui/src/utils/SearchUtils.tsx:217-220, openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:249-250, openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:261-262, openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:268-269, openmetadata-ui/src/main/resources/ui/src/utils/FeedUtils.tsx:278-280, openmetadata-ui-core-components/src/main/resources/ui/src/components/foundations/typography.tsx:193-199

   The core `Typography` always wraps its element in a block-level `<div className="prose ...">`, whereas antd `Typography.Text` renders a bare inline `<span>`. Conversions used in inline contexts therefore change from inline to block flow — e.g. `SearchUtils.getSuggestionElement` where the converted `<Typography>` follows `{displayText}` inline, and the many `Transi18next renderElement={<Typography .../>}` fragments in `FeedUtils` that are meant to wrap a portion of a sentence. This can push text onto its own line. Verify these render on one line visually; if not, these sites need an inline element or should stay on antd.

3. 💡 Quality: Title→Typography conversion drops default bold weight
   Files: openmetadata-ui/src/main/resources/ui/src/utils/DataInsightChartUtils.tsx:118-120, tooling/antd-codemods/transforms/antd-typography-to-core.js:270-274

   antd `Typography.Title` renders bold heading text by default. The codemod maps `Typography.Title level={5}` to `<Typography as="h5" size="text-md">` (size only, no `weight`), so in `DataInsightChartUtils.CustomTooltip` the tooltip title loses its bold styling. If bold is intended, add `weight="semibold"` (or the appropriate weight) either at this call site or in the codemod's Title branch so heading emphasis is preserved across the sweep.

   Fix (Preserve the bold heading weight lost from Typography.Title.):
   <Typography as="h5" size="text-md" weight="semibold" style={titleStyles}>
     {timestamp}
   </Typography>

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar | Powered by Gitar — free for open source

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

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wave 1: Typography sweep 1/13 — utils/*

2 participants