Skip to content

DO NOT MERGE: Click UI test#1639

Draft
elizabetdev wants to merge 18 commits intomainfrom
add-cui-test
Draft

DO NOT MERGE: Click UI test#1639
elizabetdev wants to merge 18 commits intomainfrom
add-cui-test

Conversation

@elizabetdev
Copy link
Contributor

@elizabetdev elizabetdev commented Jan 22, 2026

⚠️ This is a test PR - Do not merge to main. This PR is for testing Click UI integration with the HyperDX/ClickStack codebase.

🔗 Preview

View Vercel Preview →


Summary

This PR tests replacing Mantine UI components with Click UI components to evaluate compatibility and identify migration issues.

- Add @punkbit/cui and styled-components dependencies
- Integrate ClickUIProvider alongside MantineProvider in ThemeWrapper
- Both providers share the same colorScheme for consistent theming
…mproved styling and functionality

- Replace Textarea with TextAreaField from @punkbit/cui in AutocompleteInput
- Refactor Popover component usage for better accessibility and styling
- Simplify SearchInputV2 by removing unnecessary Group component for the Docs link
- Introduce ClickUIThemeVars component to inject Click UI theme values as CSS variables
- Update semantic colors to utilize Click UI CSS variables for dynamic theming
…ility

- Introduced a new document detailing issues and limitations when migrating from Mantine UI to Click UI components.
- Updated `DBSearchPage.tsx` to replace Mantine components with Click UI equivalents, addressing known issues such as icon prop types and button behavior.
- Added a new `ClickStackLogo` component to replace the deprecated `Icon` component across various files.
- Adjusted styles in `AppNav` and other components to align with Click UI standards.
- Added new versions of `@punkbit/cui`, `styled-components`, and other related packages in `yarn.lock` and `package.json`.
- Updated import paths in various components to directly use `@punkbit/cui` instead of the deprecated `/bundled` path.
- Enhanced `AutocompleteInput` to address `Popover.Trigger` width issues and ensure proper styling in flex layouts.
- Documented known issues and workarounds in migration notes for Click UI components.
- Prevent Popover.Trigger from toggling on click to manage open state via focus.
- Add event handlers to prevent default actions on auto-focus and mouse down events for better control.
- Improve user experience by ensuring suggestions and history selections do not trigger unintended actions.
…sues

- Added a note indicating that the Click UI Select component is not migrated due to dropdown functionality issues.
- Documented the current workaround using Mantine Select and outlined attempted approaches to resolve the issue.
- Updated `SelectControlled.tsx` to reflect the decision to retain Mantine Select until Click UI Select is functional.
- Adjusted migration notes to include a new search tag for the Select component issue.
- Updated @punkbit/cui to version 0.0.251-rc.16 in package.json.
- Adjusted various package versions in yarn.lock, including @babel/runtime, styled-components, react-syntax-highlighter, and others for improved compatibility and performance.
…ect and TextField

- Replaced the Mantine Select component with CUISelect in DBSearchPage for live tail refresh frequency selection.
- Updated TimePicker component to use TextField instead of TextInput, enhancing the input handling and styling.
- Improved event handling for the TextField to support Enter and Escape key actions.
@changeset-bot
Copy link

changeset-bot bot commented Jan 22, 2026

⚠️ No Changeset found

Latest commit: 86a8697

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Jan 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hyperdx-v2-oss-app Ready Ready Preview, Comment Jan 30, 2026 0:19am

Request Review

@claude
Copy link

claude bot commented Jan 22, 2026

PR Review - Click UI Migration Test

Critical Issues

  • Multiple as any type casts (DBSearchPage.tsx:285, 507, 1693, TimePicker.tsx) → Violates project's strict TypeScript policy. Create typed wrapper components instead.
  • ⚠️ Dead code: isFormStateDirty prop in SearchSubmitButton is unused → Remove unused prop and parameter.
  • ⚠️ Incomplete migration: Multiple // TODO: CLICK-UI size="xs" comments → Complete sizing implementation or document deferral reason.
  • ⚠️ Missing validation: TextAreaField.onChange in AutocompleteInput.tsx:154 assumes string without validation → Add type guard.
  • 🎨 Direct style manipulation in TimePicker.tsx:250-253 bypasses Click UI theme system → Use proper theme integration.

Observations

✅ Migration documentation is thorough and transparent about Click UI limitations
✅ ClickUIThemeVars.tsx shows good theme bridging pattern
✅ ClickStackLogo.tsx is well-structured (though unused in this PR)

Recommendation

The as any casts eliminate TypeScript safety benefits that are critical to this project. Before merging, either:

  1. Create properly-typed wrapper components around Click UI
  2. Contribute type improvements to Click UI library
  3. Document these as acceptable technical debt with team consensus

Note: This appears to be marked as a test PR - if this is exploratory work not intended for production, some issues may be acceptable for evaluation purposes.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

E2E Test Results

2 tests failed • 58 passed • 4 skipped • 999s

Status Count
✅ Passed 58
❌ Failed 2
⚠️ Flaky 1
⏭️ Skipped 4

Tests ran across 4 shards in parallel.

View full report →

- Changed import statements for ClickStackLogo in Logo, OnboardingChecklist, and Spotlights components to use named exports.
- This improves consistency and aligns with the updated module structure.
- Changed the import statement in the Logo component to use ClickStackIcon instead of ClickStackLogo, aligning with the updated module structure.
@elizabetdev
Copy link
Contributor Author

@copilot can you replace the package @punkbit/cui@0.0.251-rc.16 with @clickhouse/click-ui@0.0.251-rc.16

Copy link

Copilot AI commented Jan 22, 2026

@elizabetdev I've opened a new pull request, #1642, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elizabetdev <2750668+elizabetdev@users.noreply.github.com>
@elizabetdev
Copy link
Contributor Author

@copilot can you replace the package @clickhouse/click-ui@0.0.251-rc.16 with @clickhouse/click-ui@0.0.251-rc.17

Copy link

Copilot AI commented Jan 29, 2026

@elizabetdev I've opened a new pull request, #1679, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elizabetdev <2750668+elizabetdev@users.noreply.github.com>
…ker component

- Removed duplicate import of TextField from @clickhouse/click-ui.
- Added type safety comments for onChange and onKeyDown handlers to address TypeScript errors.
- Eliminated outdated TypeScript error comments for onChange and onKeyDown handlers in the TimePicker component to improve code clarity and maintainability.
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.

2 participants