Skip to content

[draft] feat!: migrate to UIkit 8 - #1408

Draft
makhnatkin wants to merge 32 commits into
mainfrom
feat/uikit-8
Draft

makhnatkin wants to merge 32 commits into
mainfrom
feat/uikit-8

Conversation

@makhnatkin

@makhnatkin makhnatkin commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Require a dependency set compatible with UIkit 8

  • Required UIkit 8, components 5, and React/React DOM 18 or 19.
  • Required editor 16 for the header, LaTeX, and Page Constructor extensions; added a workspace editor dependency for LaTeX development.
  • Added explicit drag-and-drop, virtualization, and sizing dependencies for legacy components and the code language selector.
  • Updated dependency catalogs and lockfile resolutions, including transitive dependencies and native-package platform metadata.

Preserve existing menus and selection behavior

  • Moved menus, dropdowns, suggestion lists, and their types to the UIkit legacy entry point across the editor and demo.
  • Updated menu and command/emoji suggestion styles to the legacy CSS prefixes.
  • Migrated toolbar, code language, and deprecated tooltip selector option types; updated toolbar option label rendering.
  • Enabled explicit virtualization for code language lists with at least 50 options.

Replace APIs removed in UIkit 8

  • Updated application providers in Storybook, Playwright, and upload-hint tests.
  • Migrated popup anchors and close callbacks while preserving outside-click handling in deprecated tooltip controls.
  • Replaced removed spacing, gap, centering, and numeric sizing props in settings, search, table controls, and demo layouts.
  • Updated the dark-theme iframe background to the contrast color token.

Keep attachment forms and prompt submission working

  • Replaced legacy tabs in file and image forms with the current tab components.
  • Migrated file, image, image-settings, and GPT prompt inputs to keydown handling; prevented Enter submission during input composition.
  • Added form tests for tab switching, unavailable uploads, and Enter submission after composition; standardized upload-hint test names.

Retain Page Constructor support

  • Required Page Constructor 9, its Diplodoc extension 0.14, and Node.js 24 or later; updated the shared Diplodoc transform target to 4.78.12.
  • Migrated editing controls to the new layout, popup, and button event APIs while preserving double-click isolation.
  • Added light/dark tests for content editing, autosave, Markdown/WYSIWYG switching, split preview, contrast button themes, and runtime errors.

Make the migration reviewable

  • Added guidance for dependency, provider, select, and CSS migration, including compatible-release publication and lockfile refresh prerequisites.
  • Updated light/dark visual baselines for settings, Mermaid, and Page Constructor.

BREAKING CHANGE: UIkit 8, components 5, and React 18 or 19 are required.
@gravity-ui

gravity-ui Bot commented Nov 5, 2026

Copy link
Copy Markdown

🎭 Playwright Report

@gravity-ui

gravity-ui Bot commented Nov 5, 2026

Copy link
Copy Markdown

Storybook Deployed

@makhnatkin
makhnatkin changed the base branch from main to test/attachment-form-baselines November 5, 2026 15:53
Base automatically changed from test/attachment-form-baselines to main November 5, 2026 17:35
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@makhnatkin makhnatkin changed the title feat!: migrate to UIkit 8 feat!: migrate to UIkit 8 [draft] Nov 5, 2026
@makhnatkin makhnatkin changed the title feat!: migrate to UIkit 8 [draft] [draft] feat!: migrate to UIkit 8 Nov 5, 2026
Sergey Makhnatkin and others added 16 commits November 6, 2026 13:37
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Page Constructor 7 depends on @gravity-ui/components 4, which imports
Popover from @gravity-ui/uikit/legacy. UIkit 8 removed it, so the
visual test bundle failed to build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@makhnatkin
makhnatkin changed the base branch from main to test/forms-before-uikit8 November 6, 2026 17:42
Base automatically changed from test/forms-before-uikit8 to main November 9, 2026 16:42

This branch has not been deployed

No deployments
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