Skip to content
Open
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
69be02d
Update theme file and registry
SpicyPete Apr 24, 2026
6514b98
adding base ui
SpicyPete Apr 24, 2026
e91a941
Merge branch 'master' into pz/connect-exploration
SpicyPete Apr 24, 2026
3e5a5d2
Updating to base UI based registry components
SpicyPete Apr 24, 2026
b5a5eb5
biome less noise from consoles in test
SpicyPete Apr 24, 2026
7c0c986
Fixing some Type errors in the app
SpicyPete Apr 24, 2026
b468e43
Some improvements to tests
SpicyPete Apr 24, 2026
f2366c1
lint fix
SpicyPete Apr 24, 2026
3909559
Adding in the updated dialog component
SpicyPete Apr 28, 2026
5954503
Updating more registry components
SpicyPete Apr 28, 2026
773a99f
Removing some radix references
SpicyPete Apr 28, 2026
282d935
Bring in updated theme
SpicyPete Apr 28, 2026
fd131d6
Updating registry components
SpicyPete Apr 28, 2026
f263f35
Fixing icon colouring
SpicyPete Apr 28, 2026
289341b
improing the config dialog error surfacing
SpicyPete Apr 28, 2026
6940eb0
lint fix
SpicyPete Apr 28, 2026
dec2dc9
Type fixes
SpicyPete Apr 28, 2026
63fe8c3
Type improvements
SpicyPete Apr 28, 2026
662a8c2
Merge branch 'master' into pz/connect-exploration
SpicyPete Apr 29, 2026
7c06dd9
Upgrading some packages with date-fns no op shim and replaced usage
SpicyPete Apr 29, 2026
2328791
Updating some components to latest versions
SpicyPete Apr 29, 2026
5297a03
workaround for date-time-input
SpicyPete Apr 29, 2026
0957840
shim comment
SpicyPete Apr 29, 2026
8102b3f
Merge branch 'master' into pz/connect-exploration
SpicyPete Apr 30, 2026
585a174
One more test update
SpicyPete Apr 30, 2026
8009ed6
Restructure some dialogs to survive the dropdown closing
SpicyPete Apr 30, 2026
3cea400
remove an item from tsconfig
SpicyPete Apr 30, 2026
9e0bb3f
Zod migration finish
SpicyPete May 1, 2026
1c4e9ab
lint fix
SpicyPete May 1, 2026
90ee391
test fix
SpicyPete May 1, 2026
cc474cb
Small cleanup
SpicyPete May 1, 2026
9bde446
Fixing enterprise tests
SpicyPete May 1, 2026
f1d9a52
test fix
SpicyPete May 1, 2026
fd1be8a
Some simplification
SpicyPete May 4, 2026
d538fde
Update registry components to latest
SpicyPete May 4, 2026
bb928a1
Chakra border guard
SpicyPete May 4, 2026
9cf60e5
Updating tests with latet registry components
SpicyPete May 4, 2026
79136e2
Improving uncontrolled select
SpicyPete May 7, 2026
472b60f
Bring in latest sonner component
SpicyPete May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ import TextField from '@mui/material/TextField'

Direct imports provide 15-70% faster dev boot, 28% faster builds, 40% faster cold starts, and significantly faster HMR.

Libraries commonly affected: `lucide-react`, `@mui/material`, `@mui/icons-material`, `@tabler/icons-react`, `react-icons`, `@headlessui/react`, `@radix-ui/react-*`, `lodash`, `ramda`, `date-fns`, `rxjs`, `react-use`.
Libraries commonly affected: `lucide-react`, `@mui/material`, `@mui/icons-material`, `@tabler/icons-react`, `react-icons`, `@headlessui/react`, `lodash`, `ramda`, `date-fns`, `rxjs`, `react-use`.

Reference: [How we optimized package imports in Next.js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
2 changes: 1 addition & 1 deletion frontend/biome.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
}
},
{
"includes": ["**/scripts/**/*", "**/bin/**/*", "*.mjs", "*.cjs", "**/tests/global-*.mjs", "**/tests/*.sh"],
"includes": ["**/scripts/**/*", "**/bin/**/*", "*.mjs", "*.cjs", "**/tests/**/*", "**/tests/*.sh"],
"linter": {
"rules": {
"suspicious": {
Expand Down
404 changes: 170 additions & 234 deletions frontend/bun.lock

Large diffs are not rendered by default.

18 changes: 10 additions & 8 deletions frontend/components.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,17 @@
"config": "",
"css": "src/globals.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
"cssVariables": true
},
"aliases": {
"components": "components",
"utils": "lib/utils",
"ui": "components/ui",
"lib": "lib",
"hooks": "hooks"
"components": "@/components/redpanda-ui",
"utils": "@/components/redpanda-ui/lib/utils",
"ui": "@/components/redpanda-ui",
"lib": "@/components/redpanda-ui/lib",
"hooks": "@/components/redpanda-ui/lib"
},
"iconLibrary": "lucide"
"iconLibrary": "lucide",
"registries": {
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.

👏

"@redpanda": "https://redpanda-ui-registry.netlify.app/r/{name}.json"
}
}
36 changes: 19 additions & 17 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,11 @@
"@a2a-js/sdk": "^0.3.13",
"@autoform/react": "^4.0.0",
"@autoform/zod": "^5.0.0",
"@base-ui/react": "^1.4.0",
"@buf/redpandadata_cloud.connectrpc_query-es": "^2.2.0-20251128173054-b9f9fc6e5a70.1",
"@buf/redpandadata_common.bufbuild_es": "^2.11.0-20260316210807-5d899910f714.1",
"@bufbuild/protobuf": "^2.10.0",
"@bufbuild/cel": "^0.4.0",
"@bufbuild/protobuf": "^2.11.0",
"@bufbuild/protoc-gen-es": "^2.10.0",
"@builder.io/sdk-react": "^4.2.4",
"@chakra-ui/object-utils": "^2.1",
Expand All @@ -87,19 +89,19 @@
"@connectrpc/connect-query": "^2.2.0",
"@connectrpc/connect-web": "^2.1.0",
"@emotion/css": "^11.13.5",
"@hookform/resolvers": "^4.1.3",
"@hookform/resolvers": "^5.2.2",
"@icons-pack/react-simple-icons": "^13.8.0",
"@milkdown/kit": "^7.18.0",
"@milkdown/react": "^7.18.0",
"@modelcontextprotocol/sdk": "^1.29.0",
"@module-federation/runtime": "^2.3.2",
"@monaco-editor/react": "^4.7.0",
"@redpanda-data/ui": "^4.2.0",
"@stepperize/react": "^5.1.8",
"@tailwindcss/postcss": "^4.1.17",
"@stepperize/react": "^5.1.9",
"@tailwindcss/postcss": "^4.2.4",
"@tanstack/react-form": "^1.12.3",
"@tanstack/react-query": "^5.90.7",
"@tanstack/react-router": "^1.158.0",
"@tanstack/react-router": "^1.168.10",
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.

Thanks.

"@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.13.12",
"@tanstack/zod-adapter": "^1.158.0",
Expand All @@ -111,6 +113,7 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"date-fns": "^4.1.0",
"dexie": "^4.2.1",
"dexie-react-hooks": "^4.2.0",
"dotenv": "^17.2.3",
Expand All @@ -122,46 +125,45 @@
"json-bigint": "^1.0.0",
"jwt-decode": "^4.0.0",
"lottie-react": "^2.4.1",
"lucide-react": "^1.8.0",
"lucide-react": "^1.14.0",
"moment": "^2.30.1",
"monaco-editor": "^0.55.0",
"monaco-editor-webpack-plugin": "^7.1.1",
"monaco-yaml": "^5.4.0",
"motion": "^12.23.24",
"motion": "^12.38.0",
"nanoid": "^5.1.6",
"nuqs": "^2.6.0",
"pretty-bytes": "^5.6.0",
"pretty-ms": "^7.0.1",
"prismjs": "^1.30.0",
"radix-ui": "^1.4.3",
"react": "^18.3.1",
"react-beautiful-dnd": "^13.1.1",
"react-compiler-runtime": "^1.0.0",
"react-day-picker": "^9.11.1",
"react-day-picker": "^9.14.0",
"react-dom": "^18.3.1",
"react-draggable": "^4.5.0",
"react-dropzone": "^14.3.8",
"react-dropzone": "^15.0.0",
"react-highlight-words": "^0.21.0",
"react-hook-form": "^7.54.2",
"react-hook-form": "^7.72.0",
"react-markdown": "^10.1.0",
"react-resizable-panels": "^3.0.4",
"react-resizable-panels": "^3.0.6",
"react-simple-code-editor": "^0.14.1",
"react-syntax-highlighter": "^16.0.0",
"recharts": "2.15.4",
"recharts": "^2.15.4",
"remark-emoji": "^5.0.2",
"remark-gfm": "^4.0.1",
"shiki": "^3.15.0",
"shiki": "^3.23.0",
"sonner": "^2.0.7",
"stacktrace-js": "^2.0.2",
"streamdown": "^2.5.0",
"tailwind-merge": "^3.4.0",
"tailwindcss": "^4.1.17",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.4",
"tokenlens": "^1.3.1",
"use-stick-to-bottom": "^1.1.1",
"uuid": "^13.0.0",
"vaul": "^1.1.2",
"yaml": "^2.8.3",
"zod": "^3.25.76",
"zod": "^4.3.6",
"zustand": "^5.0.8"
},
"devDependencies": {
Expand Down
4 changes: 3 additions & 1 deletion frontend/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
export default {
plugins: {
'@tailwindcss/postcss': {},
'@tailwindcss/postcss': {
content: ['./src/**/*.{js,ts,jsx,tsx}'],
},
},
};
8 changes: 8 additions & 0 deletions frontend/rsbuild.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import MonacoWebpackPlugin from 'monaco-editor-webpack-plugin';
import { moduleFederationConfig } from './module-federation.config';
import { HEAP_APP_ID } from './src/heap/heap.helper';
import { HUBSPOT_PORTAL_ID } from './src/hubspot/hubspot.helper';
import path from 'node:path';

const { publicVars, rawPublicVars } = loadEnv({ prefixes: ['REACT_APP_'] });

Expand Down Expand Up @@ -138,6 +139,13 @@ export default defineConfig({
/* resolve symlinks so the proto generate code can be built. */
config.resolve.symlinks = false;

// Stub `date-fns-tz` v2 imports from `@redpanda-data/ui` — see
// `src/utils/vendor/date-fns-tz-shim.ts` for context.
Object.assign(config.resolve.alias as Record<string, string>, {
'date-fns-tz$': path.resolve(__dirname, 'src/utils/vendor/date-fns-tz-shim.ts'),
'date-fns-tz/zonedTimeToUtc$': path.resolve(__dirname, 'src/utils/vendor/zonedTimeToUtc.ts'),
});

config.output.publicPath = 'auto';

// Prevent rebuild loop by ignoring generated route tree file
Expand Down
21 changes: 13 additions & 8 deletions frontend/src/assets/connectors/component-logo-map.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
SiSplunk,
SiTrino,
} from '@icons-pack/react-simple-icons';
import { RedpandaUILetterIconColor } from 'components/redpanda-ui/components/icons';
import { RedpandaUILetterIcon } from 'components/redpanda-ui/components/icons';
import {
Activity,
Archive,
Expand Down Expand Up @@ -43,6 +43,7 @@ import {
Type,
Workflow,
} from 'lucide-react';
import type { SVGProps } from 'react';

import {
AmazonWebServicesLogo,
Expand Down Expand Up @@ -96,6 +97,10 @@ import {
XmlLogo,
} from './logos';

const RedpandaLetterLogo = (props: SVGProps<SVGSVGElement>) => (
<RedpandaUILetterIcon {...props} style={{ color: '#E14226', ...props.style }} />
);

export const componentLogoMap = {
custom: Settings,
amqp_0_9: RabbitMQLogo,
Expand All @@ -122,7 +127,7 @@ export const componentLogoMap = {
batched: Package,
beanstalkd: BeanstalkdLogo,
benchmark: Activity,
bloblang: RedpandaUILetterIconColor,
bloblang: RedpandaLetterLogo,
bounds_check: undefined,
branch: undefined,
broker: undefined,
Expand Down Expand Up @@ -249,12 +254,12 @@ export const componentLogoMap = {
redis_scan: RedisLogo,
redis_script: RedisLogo,
redis_streams: RedisLogo,
redpanda: RedpandaUILetterIconColor,
redpanda_common: RedpandaUILetterIconColor,
redpanda_data_transform: RedpandaUILetterIconColor,
redpanda_migrator: RedpandaUILetterIconColor,
redpanda_migrator_bundle: RedpandaUILetterIconColor,
redpanda_migrator_offsets: RedpandaUILetterIconColor,
redpanda: RedpandaLetterLogo,
redpanda_common: RedpandaLetterLogo,
redpanda_data_transform: RedpandaLetterLogo,
redpanda_migrator: RedpandaLetterLogo,
redpanda_migrator_bundle: RedpandaLetterLogo,
redpanda_migrator_offsets: RedpandaLetterLogo,
reject: undefined,
reject_errored: undefined,
resource: Package,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/ai-elements/context.tsx
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.

I think AI elements deserve a separate look because they were originally pulled in from the https://elements.ai-sdk.dev/components/context for example

Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export const Context = ({

return (
<ContextContext.Provider value={contextValue}>
<HoverCard closeDelay={0} openDelay={0} {...props} />
<HoverCard {...props} />
</ContextContext.Provider>
);
};
Expand Down
8 changes: 1 addition & 7 deletions frontend/src/components/ai-elements/prompt-input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1240,13 +1240,7 @@ export const PromptInputModelSelectValue = ({

export type PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;

export const PromptInputHoverCard = ({
openDelay = 0,
closeDelay = 0,
...props
}: PromptInputHoverCardProps) => (
<HoverCard closeDelay={closeDelay} openDelay={openDelay} {...props} />
);
export const PromptInputHoverCard = (props: PromptInputHoverCardProps) => <HoverCard {...props} />;

export type PromptInputHoverCardTriggerProps = ComponentProps<
typeof HoverCardTrigger
Expand Down
4 changes: 3 additions & 1 deletion frontend/src/components/misc/kowl-time-picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
* by the Apache License, Version 2.0
*/

import { Box, DateTimeInput } from '@redpanda-data/ui';
import { Box } from '@redpanda-data/ui';
import { DateTimeInput } from 'components/ui/date-time-input';
import { useState } from 'react';

export function KowlTimePicker(props: { valueUtcMs: number; onChange: (utcMs: number) => void; disabled?: boolean }) {
Expand All @@ -18,6 +19,7 @@ export function KowlTimePicker(props: { valueUtcMs: number; onChange: (utcMs: nu
return (
<Box maxW={300}>
<DateTimeInput
disabled={props.disabled}
onChange={(value) => {
setTimestampUtcMs(value);
props.onChange(value);
Expand Down
Loading
Loading