Skip to content

fix: Add horizontal scroll to wide tables on narrow screens - #1675

Merged
sequba merged 5 commits into
handsontable:feature/responsive-docsfrom
Reckbeg:fix/docs-table-scroll
May 27, 2026
Merged

sequba merged 5 commits into
handsontable:feature/responsive-docsfrom
Reckbeg:fix/docs-table-scroll

Conversation

@Reckbeg

@Reckbeg Reckbeg commented May 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes #1359 — wide tables in docs overflow on narrow screens instead of being scrollable.

Problem

The List of differences with other spreadsheets guide and the Built-in functions guide both use max-width: 1200px via the .widePage CSS class. However, on screens narrower than 1200px, the 5-column tables overflow the container without any scroll mechanism, making content inaccessible.

Solution

Added overflow-x: auto to tables inside .widePage pages, enabling horizontal scrolling when the table exceeds the viewport width.

Changes

  • docs/guide/list-of-differences.md — Added scrollable table CSS
  • docs/guide/built-in-functions.md — Added same CSS for consistency

CSS added

.page:has(.widePage) .theme-default-content:not(.custom) table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

This only affects pages using the .widePage layout, so other pages with standard tables are unaffected.


Note

Low Risk
Primarily documentation/navigation updates plus a new idID translation export; low runtime risk aside from potential translation/lockfile packaging regressions.

Overview
Adds new docs content and navigation for AI/agent integrations: introduces HyperFormula AI SDK, Integration with LangChain, and HyperFormula MCP Server, and reorganizes the guide sidebar (renames Framework integration to Integrations and moves overview pages under a new About section).

Improves docs UX by making wide tables horizontally scrollable on .widePage pages, and replaces embedded CodeSandbox iframes in integration/custom-function demos with StackBlitz links.

Extends internationalization support by adding an Indonesian (idID) language pack, exporting it from src/i18n/languages/index.ts, and updating docs to reflect 18 supported languages; package-lock.json also gains additional optional platform-specific esbuild entries.

Reviewed by Cursor Bugbot for commit 160c1c8. Bugbot is set up for automated code reviews on this repo. Configure here.

sequba and others added 4 commits February 20, 2026 13:18
* Fix package-lock file

* Docs: remove CodeSandbox embedded demos and add links to working exa,ples in Stackblitz (handsontable#1621)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> **Low Risk**
> Low risk documentation-only changes: adds new guide pages and adjusts
VuePress sidebar navigation with no runtime or API impact.
> 
> **Overview**
> Adds three new AI-focused documentation pages: `ai-sdk`,
`integration-with-langchain`, and `mcp-server`, describing how to use
HyperFormula for deterministic spreadsheet computation in agent
workflows.
> 
> Updates the VuePress guide sidebar to surface these pages under
**Integrations**, renames the section from *Framework integration* to
*Integrations*, and moves the former *Overview* links into a new *About*
section.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
54c541b. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: GreenFlux <support@greenflux.us>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Add idID.ts with translations for all ~400 built-in functions
- Add idID export to languages/index.ts
- Update docs to reflect 18 supported languages
- Add Indonesian to language table in localizing-functions.md
- Add overflow-x: auto to tables on pages using widePage layout
- Fixes list-of-differences and built-in-functions guides not scaling
  well on narrower screens
- Applies to both pages for consistency

Closes handsontable#1359

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@netlify

netlify Bot commented May 16, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for hyperformula-dev-docs failed. Why did it fail? →

Name Link
🔨 Latest commit 160c1c8
🔍 Latest deploy log https://app.netlify.com/projects/hyperformula-dev-docs/deploys/6a0d23e7bab6e00008d5e057

@netlify

netlify Bot commented May 16, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for hyperformula-docs failed. Why did it fail? →

Name Link
🔨 Latest commit 160c1c8
🔍 Latest deploy log https://app.netlify.com/projects/hyperformula-docs/deploys/6a0d23e7578ea300089821a8

Comment thread src/i18n/languages/idID.ts
Comment thread src/i18n/languages/idID.ts Outdated
Comment thread src/i18n/languages/idID.ts
Comment thread src/i18n/languages/idID.ts
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
Explore the full working example on [Stackblitz](https://stackblitz.com/github/handsontable/hyperformula-demos/tree/3.2.x/react-demo?v=${$page.buildDateURIEncoded}).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Stackblitz links won't interpolate page variable in URL

Medium Severity

The markdown links use JavaScript template literal syntax ${$page.buildDateURIEncoded} inside a plain markdown URL. VuePress compiles markdown into Vue templates, where only {{ }} works for text interpolation and :attr for dynamic attribute binding. The old iframes correctly used :src with backtick template literals. The new plain [text](url) markdown renders a static href, so ${...} appears literally in the URL instead of the actual build date value. This affects all five pages with Stackblitz links.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 90ffb71. Configure here.

@AMBudnik AMBudnik added the CLA signed Required for PR label May 18, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 160c1c8. Configure here.

NOT: 'TIDAK',
NOW: 'SEKARANG',
NPER: 'NPER',
NPV: 'NVP',

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Transposed letters in NPV function translations

Medium Severity

The Indonesian translation for NPV is 'NVP' and for XNPV is 'XNVP' — both swap the last two letters. No other language pack uses NVP as a translation for NPV. This means Indonesian-locale users would need to type the incorrect transposed name to invoke these financial functions, and the standard abbreviation would not work.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 160c1c8. Configure here.

@sequba
sequba changed the base branch from develop to feature/responsive-docs May 27, 2026 08:05
@sequba
sequba merged commit 94f94f2 into handsontable:feature/responsive-docs May 27, 2026
3 of 7 checks passed
sequba added a commit that referenced this pull request May 27, 2026
### Context
<!--- Why are your changes required? What problem do they solve? -->

Original PR #1675 by
https://github.com/Reckbeg

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation and CSS-only VuePress page tweaks with no runtime or
library behavior changes.
> 
> **Overview**
> Improves **docs usability on small viewports** and clarifies **i18n
naming sources** for maintainers.
> 
> On **`built-in-functions`** and **`list-of-differences`**, adds inline
CSS so tables on `.widePage` use **horizontal scrolling** (`overflow-x:
auto`, block display) instead of breaking the layout on narrow screens.
Also fixes a trivial heading whitespace on the differences page.
> 
> **`DEV_DOCS.md`** documents how to pick localized built-in function
names when Microsoft Excel does not support a locale: use **Google
Sheets** function tables via the `hl` query parameter, and **fall back
to English** when Sheets has no entry.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
9d0e126. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: GreenFlux <support@greenflux.us>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Rofi Ibnu Haafizh <Reckbeg@users.noreply.github.com>
Co-authored-by: Hermes Bounty Bot <hermes-bot@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA signed Required for PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants