Skip to content

Normalize Explore page font sizes to the 10/12/14/16 scale - #35506

Merged
Rohit0301 merged 7 commits into
mainfrom
Rohit0301/explore-font-size-review
Oct 15, 2026
Merged

Rohit0301 merged 7 commits into
mainfrom
Rohit0301/explore-font-size-review

Conversation

@Rohit0301

@Rohit0301 Rohit0301 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Describe your changes:

I normalized the Explore page font sizes to the design scale (10/12/14/16px) because the search cards (15px title, 13px description) and the right summary panel (13px section headers and overview rows, 11px tab-rail label) used off-scale sizes. Card titles are now 14px; summary-panel headers, overview rows, DQ stat counts are 12px; card descriptions stay 14px; the vertical tab label is 10px. The off-scale --om-font-size-13/15 Less rules (plus their color/weight/margin) were removed and replaced with core Typography size/weight props or Tailwind classes. Overview link values use tw:text-xs! because the global .prose-typography a rule in fonts.less forces 14px on links.

Screenshot 2026-10-15 at 12 51 39 PM

Type of change:

  • Improvement

High-level design:

Styling-only change across 22 UI files. Each off-scale font-size (and the sibling color/font-weight/margin) is deleted from the component .less file and moved to the JSX: core Typography gets size/weight (default color is already text-primary = gray-900); non-Typography spans became Typography; @grey-700 maps to tw:text-secondary. The shared --om-font-size-13/15 tokens in tokens.css are untouched since ~20 other files use them. Data Quality hover/active state colors stay in Less because they depend on parent state. Shared section components (Description, Owners, Domains, Tier, Tags, Glossary Terms, Data Products, Overview) also render on entity detail right panels, so those pick up the same sizes.

Tests:

Use cases covered

  • Explore search card title, description and meta render on-scale
  • Entity summary panel section headers, overview rows and right tab rail render on-scale

Unit tests

  • No new tests (styling only). Ran existing Jest suites for all touched components: src/components/common, ExploreV1/ExploreSearchCard, Database/TableDataCardBody, Explore/EntitySummaryPanel, DataAssetSummaryPanelV1, Entity/EntityRightPanel — 242 suites, 2691 tests passed, 0 failed.

Backend integration tests

  • Not applicable (no backend API changes).

Ingestion integration tests

  • Not applicable (no ingestion changes).

Playwright (UI) tests

  • Not run locally; no behavior change, only font sizes/colors.

Manual testing performed

  1. yarn start, open /explore, select a search card.
  2. Check computed font sizes in DevTools: card title 14px, description 14px; summary panel headers and overview rows 12px; vertical tab label 10px.

UI screen recording:

Not applicable — styling-only change (font sizes).

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation> — no linked issue
  • My PR is linked to a GitHub issue via Fixes #<issue-number> above. — no linked issue
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: N/A
  • For a UI feature or feature task: N/A — styling only
  • I have added tests (unit / integration / Playwright as applicable) and listed them above. — existing suites run, no logic change
  • Decision check: no durable decision.

🤖 Generated with Claude Code

Replace off-scale 15/13/11px sizes on Explore cards and the entity
summary panel with Typography size/weight props and Tailwind classes,
and drop the corresponding Less font-size/color/margin rules.
@github-actions

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

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

  • No GitHub issue is linked. Link an issue in the Development section of the PR (or add Fixes #12345 to the description). For a same-org cross-repo issue, add Fixes open-metadata/<repo>#123 to the description.

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 the UI UI specific issues label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@Rohit0301 Rohit0301 self-assigned this Oct 15, 2026
@Rohit0301 Rohit0301 added the safe to test Add this label to run secure Github workflows on PRs label Oct 15, 2026
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 77%
77.76% (126540/162724) 64.41% (80029/124241) 65.63% (26702/40683)

@anuj-kumary anuj-kumary left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@Rohit0301 Let’s remove all the classes that are coming from Less files across the file changes. We’re also adding some unnecessary classes to Typography, which I don’t think are required. Could you please review and remove the redundant classes and styling?

…w links

- Remove *-title classes from section headers; Typography props cover them
- Overview label/value layout moves to Tailwind; drop their Less rules
- Overview links use core Button (link-color, xs) instead of !important
- Card title uses Typography weight + tw:text-link instead of legacy classes
- Trim redundant overrides on the right-panel tab label
The baseline predated #31268's layout drift and now also reflects the
12/14px summary-panel sizes; regenerated from the CI render in the
pinned Playwright container.
- Incident stat colors move from .stat-count/.stat-label onto the card
  button; the Typography children inherit them
- Card description wrapper keeps only its Tailwind margin
@github-actions

Copy link
Copy Markdown
Contributor

🔄 Playwright impact map auto-refreshed

This PR touched specs or UI source that changed the source→spec routing map. I regenerated .github/playwright/impact-map.generated.json and pushed the diff to this branch.

- source entries: 932 → 933
- 1 added, 0 removed, 13 changed spec-list

New source→spec entries:
  openmetadata-ui/src/main/resources/ui/src/components/observability/data-quality/ThresholdPreview/ThresholdPreview.tsx

Entries whose spec list changed:
  openmetadata-ui/src/main/resources/ui/playwright/constant/config.ts
  openmetadata-ui/src/main/resources/ui/playwright/e2e/Utils/appMode.ts
  openmetadata-ui/src/main/resources/ui/playwright/e2e/fixtures/pages.ts
  openmetadata-ui/src/main/resources/ui/playwright/support/entity/TableClass.ts
  openmetadata-ui/src/main/resources/ui/playwright/utils/codeEditor.ts
  openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts
  openmetadata-ui/src/main/resources/ui/playwright/utils/dataQuality.ts
  openmetadata-ui/src/main/resources/ui/playwright/utils/testCases.ts
  openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/TestCaseFormBody.tsx
  openmetadata-ui/src/main/resources/ui/src/components/DataQuality/IncidentManager/RunDetailsCard/RunDetailsCard.tsx
  … and 3 more

What is this file? It is the auto-generated half of Playwright's PR planner. It routes "if source X changes, run specs Y" by walking spec imports and cross-referencing getByTestId strings. Hand-authored routing in impact-map.json always wins on conflict.

What if I want to regenerate locally instead? Run this before pushing your next change to skip the bot commit:

python3 .github/scripts/generate_playwright_impact_map.py
git add .github/playwright/impact-map.generated.json
git commit --amend --no-edit  # or a separate commit

@gitar-bot

gitar-bot Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Code Review ✅ Approved 1 closed / 1 findings

🟡 Medium risk · Replacing summary-panel router Links with Button hrefs may trigger full-page navigations, while typography updates also affect shared entity detail panels.

Normalizes Explore page font sizes to the 10/12/14/16 scale, moving off-scale Less rules into core Typography props and Tailwind classes. Card description was kept at 14px after a tw:text-xs wrapper was overridden by ProseMirror styling, which is now resolved. No open issues found.

✅ 1 closed
✅ Bug: Card description stays 14px: tw:text-xs on wrapper loses to ProseMirror

📄 openmetadata-ui/src/main/resources/ui/src/components/Database/TableDataCardBody/TableDataCardBody.tsx:39-47 📄 openmetadata-ui/src/main/resources/ui/src/components/common/DescriptionSection/DescriptionSection.less:20-21
The PR says Explore card descriptions now render at 12px. The only change is adding tw:text-xs to the .description-text wrapper div, which children pick up by inheritance. Real descriptions go through RichTextEditorPreviewerV1 → BlockEditor, and block-editor.less:55-56 sets .block-editor-wrapper .tiptap.ProseMirror { font-size: var(--om-font-size-sm) } (14px) directly on the editor node. A rule set on an element always wins over a size inherited from a parent, so only the label.no-description fallback span drops to 12px. Every card that has a description still shows it at 14px, now the same size as the new 14px title. DescriptionSection already handles this with a scoped override in DescriptionSection.less:20-21. The same kind of override is needed here, scoped to the card description, e.g. a rule in explore-search-card.less. Check the computed size on a card with a real description, not one showing the placeholder.

Verification

Rules No rules evaluated

Functional validation Not enabled

Set up

Auto-approval Not enabled

Set up

For more verification details, comment gitar display:verbose.

Options

Display: compact → Showing compact verification results.

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

Compact
gitar display:verbose         

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

@github-actions

Copy link
Copy Markdown
Contributor

❌ UI Checkstyle Failed

❌ Bundle Runtime Check

A route chunk loads but one of its chunks still exports undefined: a chunking change broke module initialisation. Run yarn build && yarn bundle:runtime locally.

🔍 ESLint findings in this PR's files — 0 error(s), 9 warning(s)

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.

0 error(s), 9 warning(s) across 4 changed file(s).

Count Rule
9 react-hooks/exhaustive-deps
All findings
Location Rule Message
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:396:6 react-hooks/exhaustive-deps React Hook useMemo has a missing dependency: 'dataAsset'. Either include it or remove the dependency array.
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:481:6 react-hooks/exhaustive-deps React Hook useCallback has a missing dependency: 'entityType'. Either include it or remove the dependency array.
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:574:6 react-hooks/exhaustive-deps React Hook useCallback has a missing dependency: 'dataAsset'. Either include it or remove the dependency array.
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:587:6 react-hooks/exhaustive-deps React Hook useEffect has missing dependencies: 'fetchEntityBasedDetails' and 'fetchTestCases'. Either include them or remove the dependency array.
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:989:6 react-hooks/exhaustive-deps React Hook useMemo has missing dependencies: 'changeSummaryParams.fieldPrefix', 'isColumnEntity', 'renderCommonLayoutSummary', 'renderDataProductSummary', 'rend
🟡 src/components/DataAssetSummaryPanelV1/DataAssetSummaryPanelV1.tsx:1003:6 react-hooks/exhaustive-deps React Hook useEffect has a missing dependency: 'init'. Either include it or remove the dependency array.
🟡 src/components/Explore/EntitySummaryPanel/DataQualityTab/DataQualityTab.tsx:487:6 react-hooks/exhaustive-deps React Hook useEffect has a missing dependency: 'fetchTestCases'. Either include it or remove the dependency array.
🟡 src/components/common/DomainsSection/DomainsSection.tsx:210:6 react-hooks/exhaustive-deps React Hook useMemo has a missing dependency: 'entityRules.canAddMultipleDomains'. Either include it or remove the dependency array.
🟡 src/components/common/OverviewSection/CommonEntitySummaryInfoV1.tsx:55:6 react-hooks/exhaustive-deps React Hook useMemo has a missing dependency: 't'. Either include it or remove the dependency array.

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

make ui-checkstyle-changed

@sonarqubecloud

Copy link
Copy Markdown

@Rohit0301
Rohit0301 added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit c355e51 Oct 15, 2026
77 of 78 checks passed
@Rohit0301
Rohit0301 deleted the Rohit0301/explore-font-size-review branch October 15, 2026 19:17
chirag-madlani added a commit that referenced this pull request Oct 15, 2026
- sv-se: keep main's datahärkomst terminology (#33416) and add this branch's
  new keys in the same wording
- LineageTabContent.less: take main's removal of .no-data-placeholder (#35506)
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.

3 participants