Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[WEB-5482] fix: propel package types#8158

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
anmolsinghbhatia wants to merge4 commits intopreview
base:preview
Choose a base branch
Loading
fromfix-propel-package-type-fix

Conversation

@anmolsinghbhatia
Copy link
Collaborator

@anmolsinghbhatiaanmolsinghbhatia commentedNov 21, 2025
edited by coderabbitaibot
Loading

Description

This PR includes fixs for propel package types error

Type of Change

  • Bug fix
  • Code refactoring

Note

Shifts multiple UI components from compound-object subcomponents to named exports, adds display names/types, and updates stories/usages accordingly.

  • API refactor (named exports):
    • ReplaceObject.assign compound subcomponents with named exports forCombobox,Command,ContextMenu,Dialog,Popover,Tabs,Toolbar, andSkeleton.
    • Update all Storybook stories to import/use...Button/Trigger/Content/List/Item/Panel/Title/... named subcomponents.
  • Types & DX:
    • Add/expand explicit prop types anddisplayNames across components; broaden re-exports inindex.ts (e.g.,context-menu,toolbar).
  • Usage updates:
    • MigrateEmojiPicker andEmojiReactionPicker toPopoverTrigger/PopoverContent.
    • AdjustContextMenu andDialog internals/exports (portal/overlay/trigger) and re-export granular parts.

Written byCursor Bugbot for commit85ca86b. This will update automatically on new commits. Configurehere.

Summary by CodeRabbit

  • Refactor
    • Reworked many components from compound objects to a root alias plus separate named subcomponent exports (Combobox, Command, ContextMenu, Dialog, Popover, Skeleton, Tabs, Toolbar). Added explicit displayName assignments and refined public prop typings for better IDE/TypeScript experience.
  • Documentation / Stories
    • Updated stories and examples to use the new named subcomponent imports (e.g., DialogPanel/DialogTitle, PopoverTrigger/PopoverContent, SkeletonItem) to preserve existing behavior.

✏️ Tip: You can customize this high-level summary in your review settings.

@anmolsinghbhatiaanmolsinghbhatia self-assigned thisNov 21, 2025
CopilotAI review requested due to automatic review settingsNovember 21, 2025 13:19
@makeplane
Copy link

Linked to Plane Work Item(s)

This comment was auto-generated byPlane

@coderabbitai
Copy link
Contributor

coderabbitaibot commentedNov 21, 2025
edited
Loading

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Replaces runtime Object.assign-based compound-component exports with explicit root aliases and separate named subcomponent exports across multiple Propel components; adds displayName assignments and tighter React.ComponentProps/memo typings; updates stories and consumers to import and use the new named subcomponents.

Changes

Cohort / File(s)Summary
Combobox
packages/propel/src/combobox/combobox.tsx,packages/propel/src/combobox/combobox.stories.tsx
Removed Object.assign compound export; exportComboboxRoot as Combobox and namedComboboxButton,ComboboxOptions,ComboboxOption; set displayName; updated stories to use named imports.
Command
packages/propel/src/command/command.tsx,packages/propel/src/command/command.stories.tsx
Removed compound pattern; exportCommandComponent as Command plusCommandInput,CommandList,CommandEmpty,CommandItem as named exports; added displayName assignments; stories updated.
Context Menu
packages/propel/src/context-menu/context-menu.tsx,.../index.ts,.../context-menu.stories.tsx
Replaced compound ContextMenu export withContextMenuRoot as ContextMenu and named exports (ContextMenuTrigger,ContextMenuPortal,ContextMenuContent,ContextMenuItem,ContextMenuSeparator,ContextMenuSubmenu,ContextMenuSubmenuTrigger); stories updated.
Dialog
packages/propel/src/dialog/root.tsx,.../dialog.stories.tsx
Added explicit prop interfaces and memo typings for Portal/Overlay/Trigger/Title; set displayName; removed compound export and now exportDialogComponent as Dialog, plusDialogTitle,DialogPanel,DialogTrigger; stories updated.
Popover
packages/propel/src/popover/root.tsx,.../popover.stories.tsx, consumers:emoji-picker,emoji-reaction-picker
IntroducedPopoverRoot and typed memo wrappers for Trigger/Portal/Positioner; replaced Button/Panel compound pattern with namedPopoverTrigger andPopoverContent; exportPopoverRoot as Popover; stories and pickers updated to use new subcomponents.
Skeleton
packages/propel/src/skeleton/root.tsx,.../skeleton.stories.tsx
Added public typesSkeletonProps andSkeletonItemProps; typedSkeletonItem with new props and adjusted styling; removed Object.assign compound export and exportSkeletonRoot as Skeleton plusSkeletonItem; stories updated.
Tabs
packages/propel/src/tabs/tabs.tsx,.../tabs.stories.tsx
Removed TabsCompound / Object.assign pattern; exportTabsRoot as Tabs and namedTabsList,TabsTrigger,TabsContent,TabsIndicator; added displayName assignments; stories updated.
Toolbar
packages/propel/src/toolbar/toolbar.tsx,.../index.ts,.../toolbar.stories.tsx
Replaced Object.assign with explicit exports:ToolbarRoot as Toolbar,ToolbarGroup,ToolbarItem,ToolbarSeparator,ToolbarSubmitButton; index re-exports added; stories updated.
Stories / Consumers (bulk)
packages/propel/src/{combobox,command,context-menu,dialog,popover,skeleton,tabs,toolbar}/*.stories.tsx
Updated imports and JSX to replace nested property access (e.g.,Component.Sub) with new named exports (e.g.,ComponentSub /SubComponent).
Emoji picker / reactions
packages/propel/src/emoji-icon-picker/emoji-picker.tsx,packages/propel/src/emoji-reaction/emoji-reaction-picker.tsx
ReplacedPopover.Button/Popover.Panel usage withPopoverTrigger andPopoverContent; updated imports and JSX accordingly.

Sequence Diagram(s)

(omitted — changes are export/typing refactors and story updates; no new control-flow to visualize)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Pay extra attention to:
    • Dialog and Popover files (generic memo typings and React.ComponentProps usage).
    • All index/re-export files to ensure exported names/types align with consumers.
    • Story and consumer updates to confirm no lingering nested-property references remain.
    • Skeleton type changes where internal ItemProps was removed.

"I hopped through code with a twitchy nose,
I swapped the nests where exports used to doze,
Named pieces scattered tidy, neat, and clear,
I thumped, I cheered — the components cheer! 🐇"

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 16.67% which is insufficient. The required threshold is 80.00%.You can run@coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Title check✅ PassedThe title '[WEB-5482] fix: propel package types' is concise and directly addresses the main change: fixing TypeScript/type errors in the propel package through component API refactoring.
Description check✅ PassedThe PR description addresses the primary objective (fixing propel package types) and identifies the change types, but lacks detail in required template sections like Test Scenarios and Screenshots.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branchfix-propel-package-type-fix

Thanks for usingCodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment@coderabbitai help to get the list of available commands and usage tips.

Copy link

@cursorcursorbot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit theCursor dashboard to activate Pro and start your 14-day free trial.

Copy link
Contributor

CopilotAI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors the compound component creation pattern across the propel package to fix TypeScript type inference issues. The changes replaceObject.assign() with explicit type casting and manual property assignment, which provides better type safety and IDE support for compound components.

Key changes:

  • ReplacedObject.assign() pattern with type casting (as typeof Component & {...}) followed by manual property assignments
  • Added explicit type parameters toReact.memo calls for better type inference (in popover and dialog)
  • Exported previously internal type definitions (SkeletonProps, SkeletonItemProps in skeleton)
  • Added displayName properties to component subparts where they were missing (tabs)

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
packages/propel/src/toolbar/toolbar.tsxRefactored Toolbar compound component from Object.assign to type casting pattern
packages/propel/src/tabs/tabs.tsxRemoved complex TabsCompound type definition, added displayNames, and applied new compound component pattern
packages/propel/src/skeleton/root.tsxExported type definitions, applied new compound component pattern, and exported individual components
packages/propel/src/popover/root.tsxAdded explicit type parameters to React.memo calls and applied new compound component pattern
packages/propel/src/dialog/root.tsxAdded explicit type parameters to React.memo calls and applied new compound component pattern
packages/propel/src/context-menu/context-menu.tsxRefactored ContextMenu compound component to use type casting pattern
packages/propel/src/command/command.tsxApplied new compound component pattern to Command component
packages/propel/src/combobox/combobox.tsxApplied new compound component pattern to Combobox component

💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.

Copy link
Contributor

@coderabbitaicoderabbitaibot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between5cfb953 and8760651.

📒 Files selected for processing (8)
  • packages/propel/src/combobox/combobox.tsx (1 hunks)
  • packages/propel/src/command/command.tsx (1 hunks)
  • packages/propel/src/context-menu/context-menu.tsx (1 hunks)
  • packages/propel/src/dialog/root.tsx (5 hunks)
  • packages/propel/src/popover/root.tsx (3 hunks)
  • packages/propel/src/skeleton/root.tsx (3 hunks)
  • packages/propel/src/tabs/tabs.tsx (1 hunks)
  • packages/propel/src/toolbar/toolbar.tsx (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: lifeiscontentRepo: makeplane/plane PR: 7888File: packages/propel/src/avatar/avatar.stories.tsx:2-3Timestamp: 2025-10-01T15:30:17.605ZLearning: In the makeplane/plane repository, avoid suggesting inline type imports (e.g., `import { Avatar, type TAvatarSize }`) due to bundler compatibility issues. Keep type imports and value imports as separate statements.
Learnt from: lifeiscontentRepo: makeplane/plane PR: 7989File: apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx:45-46Timestamp: 2025-10-21T17:22:05.204ZLearning: In the makeplane/plane repository, the refactor from useParams() to params prop is specifically scoped to page.tsx and layout.tsx files in apps/web/app (Next.js App Router pattern). Other components (hooks, regular client components, utilities) should continue using the useParams() hook as that is the correct pattern for non-route components.
📚 Learning: 2025-10-09T20:42:31.843Z
Learnt from: lifeiscontentRepo: makeplane/plane PR: 7922File: apps/admin/app/(all)/(dashboard)/ai/form.tsx:19-19Timestamp: 2025-10-09T20:42:31.843ZLearning: In the makeplane/plane repository, React types are globally available through TypeScript configuration. Type annotations like React.FC, React.ReactNode, etc. can be used without explicitly importing the React namespace. The codebase uses the modern JSX transform, so React imports are not required for JSX or type references.

Applied to files:

  • packages/propel/src/tabs/tabs.tsx
🧬 Code graph analysis (1)
packages/propel/src/dialog/root.tsx (1)
packages/propel/src/utils/classname.tsx (1)
  • cn (5-5)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Agent
  • GitHub Check: CodeQL analysis (javascript-typescript)
  • GitHub Check: Analyze (javascript)
  • GitHub Check: Build and lint web apps
🔇 Additional comments (11)
packages/propel/src/combobox/combobox.tsx (1)

223-231:Typed compound Combobox wiring looks correct

TheCombobox intersection type and subsequent static assignments (Button,Options,Option) are consistent and preserve the previous runtime behavior while improving typings.

packages/propel/src/toolbar/toolbar.tsx (1)

168-177:Toolbar compound-component typing is sound

CastingToolbarRoot to an intersection with its subcomponents and then assigningGroup,Item,Separator, andSubmitButton yields a well-typed compoundToolbar without changing runtime behavior.

packages/propel/src/skeleton/root.tsx (3)

5-15:Public Skeleton prop types are well-shaped

ExportingSkeletonProps andSkeletonItemProps matches the existing usage and makes the component API easier to consume in TS without altering behavior.


25-33:SkeletonItem props refactor is consistent

SwitchingSkeletonItem to acceptSkeletonItemProps with the same defaults (height,width,className) preserves behavior while exposing a clearer public type.


38-43:Skeleton compound export and additional named exports look good

TheSkeleton intersection type plusSkeleton.Item assignment is correct, and exportingSkeletonRoot andSkeletonItem alongsideSkeleton is a safe, additive API improvement.

packages/propel/src/command/command.tsx (1)

34-43:Command compound-component typing is correct

Command is now a properly typed compound component (CommandComponent plusInput,List,Empty,Item statics), eliminating the looseObject.assign typing while keeping the same runtime structure.

packages/propel/src/tabs/tabs.tsx (3)

90-94:Display names improve debuggability

AssigningdisplayName on all Tabs primitives (TabsRoot,TabsList,TabsTrigger,TabsContent,TabsIndicator) is harmless and helps with React DevTools/debugging.


96-105:Tabs compound-component typing matches the established pattern

DefiningTabs asTabsRoot intersected with its subcomponents and then settingTabs.List,Tabs.Trigger,Tabs.Content, andTabs.Indicator preserves the compound API with accurate static member types.


107-107:No breaking change identified—subcomponents were never exported as named exports

The subcomponents (TabsList,TabsTrigger,TabsContent,TabsIndicator) are only available through theTabs compound component pattern (accessed asTabs.List,Tabs.Trigger, etc.), not as separate named exports. The codebase never exported these as individual named imports, so exporting onlyTabs is not a breaking change.

Likely an incorrect or invalid review comment.

packages/propel/src/context-menu/context-menu.tsx (1)

132-148:ContextMenu compound-component refactor is consistent and type-safe

The newContextMenu intersection type plus explicit assignments forTrigger,Portal,Content,Item,Separator,Submenu, andSubmenuTrigger aligns with the pattern used elsewhere and keeps the runtime API unchanged while tightening typings.

packages/propel/src/popover/root.tsx (1)

65-70:Typed compound wiring looks solid.

The explicit static assignments preserve the compound API while improving inference. Nice cleanup.

Copy link
Contributor

@coderabbitaicoderabbitaibot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
packages/propel/src/popover/root.tsx (2)

48-67:Critical: Incomplete definition and duplicate components block compilation.

This section has multiple blocking syntax errors:

  1. Line 56 is incomplete — thePopoverPositioner definition starts but has no closing brace or return statement, causing the parse error reported by static analysis.
  2. Duplicate component definitionsPopoverTrigger,PopoverPortal, andPopoverPositioner are each defined twice (lines 48-50/57-59, 52-54/61-63, 56/65-67).
  3. React.memo used without importingReact — lines 48, 52, 56, 70 referenceReact.memo but onlymemo is imported at line 1.

Apply this diff to remove duplicates, fix the incomplete definition, and use the correct import:

 // wrapper components-const PopoverTrigger = React.memo(function PopoverTrigger(props: React.ComponentProps<typeof BasePopover.Trigger>) {-  return <BasePopover.Trigger data-slot="popover-trigger" {...props} />;-});--const PopoverPortal = React.memo(function PopoverPortal(props: React.ComponentProps<typeof BasePopover.Portal>) {-  return <BasePopover.Portal data-slot="popover-portal" {...props} />;-});--const PopoverPositioner = React.memo(function PopoverPositioner(props: React.ComponentProps<typeof BasePopover.Positioner>) { const PopoverTrigger = memo(function PopoverTrigger(props: React.ComponentProps<typeof BasePopover.Trigger>) {   return <BasePopover.Trigger data-slot="popover-trigger" {...props} />; });  const PopoverPortal = memo(function PopoverPortal(props: React.ComponentProps<typeof BasePopover.Portal>) {   return <BasePopover.Portal data-slot="popover-portal" {...props} />; });  const PopoverPositioner = memo(function PopoverPositioner(props: React.ComponentProps<typeof BasePopover.Positioner>) {   return <BasePopover.Positioner data-slot="popover-positioner" {...props} />; });

70-81:Critical: Remove old Object.assign pattern and fix React.memo usage.

Two issues here:

  1. Old Object.assign pattern (lines 73-81) not removed — per the PR objectives, this refactor replaces the compoundObject.assign pattern with separate named exports, but the old code is still present alongside the newPopoverRoot.
  2. React.memo used without importingReact (line 70) — onlymemo is imported.

Apply this diff to remove the old pattern and fix the import:

 // compound components-const PopoverRoot = React.memo<React.ComponentProps<typeof BasePopover.Root>>(function Popover(props) {+const PopoverRoot = memo<React.ComponentProps<typeof BasePopover.Root>>(function Popover(props) {   return <BasePopover.Root data-slot="popover" {...props} />; });-const Popover = Object.assign(-  memo(function Popover(props: React.ComponentProps<typeof BasePopover.Root>) {-    return <BasePopover.Root data-slot="popover" {...props} />;-  }),-  {-    Button: PopoverTrigger,-    Panel: PopoverContent,-  }-);
packages/propel/src/skeleton/root.tsx (1)

35-38:UndefinedSkeleton export causes the reported build/lint failure

Skeleton is exported but never defined in this module, which matches the pipeline error ('Skeleton' is not defined). Given the PR’s goal to keepSkeleton as the main export while addingSkeletonRoot andSkeletonItem, you can aliasSkeletonRoot:

 SkeletonRoot.displayName = "plane-ui-skeleton"; SkeletonItem.displayName = "plane-ui-skeleton-item";-export { Skeleton, SkeletonRoot, SkeletonItem };+const Skeleton = SkeletonRoot;++export { Skeleton, SkeletonRoot, SkeletonItem };

This preserves the existing{ Skeleton } API and fixes the build.

🧹 Nitpick comments (1)
packages/propel/src/skeleton/root.tsx (1)

5-33:Public props typing is solid; consider aligningheight/width with CSSProperties

ExportingSkeletonProps andSkeletonItemProps is a nice improvement for the public API. To better match how these are used instyle={{ height, width }}, you might want to allow both strings and numbers (and stay in sync with React’s CSS typing) by keying offReact.CSSProperties:

-export type SkeletonItemProps = {-  height?: string;-  width?: string;-  className?: string;-};+export type SkeletonItemProps = {+  height?: React.CSSProperties["height"];+  width?: React.CSSProperties["width"];+  className?: string;+};

This keeps the runtime behavior the same while making the TS surface a bit more flexible and accurate.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between09ad8d4 and85ca86b.

📒 Files selected for processing (3)
  • packages/propel/src/dialog/root.tsx (2 hunks)
  • packages/propel/src/popover/root.tsx (3 hunks)
  • packages/propel/src/skeleton/root.tsx (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/propel/src/dialog/root.tsx
🧰 Additional context used
🪛 Biome (2.1.2)
packages/propel/src/popover/root.tsx

[error] 89-90: Illegal use of an export declaration not at the top level

move this declaration to the top level

(parse)


[error] 90-90: expected} but instead the file ends

the file ends here

(parse)

🪛 GitHub Actions: Build and lint web apps
packages/propel/src/popover/root.tsx

[error] 91-91: ESLint: Parsing error: '}' expected

packages/propel/src/skeleton/root.tsx

[error] 38-38: 'Skeleton' is not defined

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Analyze (javascript)
  • GitHub Check: Cursor Bugbot

Comment on lines 83 to +90
// display names
PopoverContent.displayName="PopoverContent";
Popover.displayName="Popover";
PopoverRoot.displayName="Popover";
PopoverPortal.displayName="PopoverPortal";
PopoverTrigger.displayName="PopoverTrigger";
PopoverPositioner.displayName="PopoverPositioner";

export{Popover};
export{PopoverRootasPopover,PopoverTrigger,PopoverContent};
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue |🔴 Critical

Parse errors cascade from earlier syntax issues.

The static analysis and pipeline errors reporting missing closing braces and unexpected end-of-file at lines 89-91 are consequences of the incompletePopoverPositioner definition at line 56 and the duplicate component definitions above. Once those critical syntax errors are resolved, these parse errors will be fixed automatically.

🧰 Tools
🪛 Biome (2.1.2)

[error] 89-90: Illegal use of an export declaration not at the top level

move this declaration to the top level

(parse)


[error] 90-90: expected} but instead the file ends

the file ends here

(parse)

🤖 Prompt for AI Agents
In packages/propel/src/popover/root.tsx around lines 83 to 90, the file hascascading parse errors caused by an incomplete PopoverPositioner definition(around line 56) and duplicate component definitions earlier; finish thePopoverPositioner implementation (close any open braces, parentheses and JSXtags) and remove or consolidate the duplicate component definitions so eachcomponent is defined once, then verify the displayName assignments and theexport line match the actual defined identifiers (ensure semicolons/commas arecorrect) to eliminate the syntax errors.

Comment on lines +223 to +226
ComboboxRoot.displayName="Combobox";
ComboboxButton.displayName="ComboboxButton";
ComboboxOptions.displayName="ComboboxOptions";
ComboboxOption.displayName="ComboboxOption";
Copy link
Collaborator

Choose a reason for hiding this comment

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

if they're function declarations you do not need to define a displayName it will be inferred by the functions.name

CommandInput.displayName="CommandInput";
CommandList.displayName="CommandList";
CommandEmpty.displayName="CommandEmpty";
CommandItem.displayName="CommandItem";
Copy link
Collaborator

Choose a reason for hiding this comment

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

same as above


export{ContextMenu};
export{
ContextMenuRootasContextMenu,
Copy link
Collaborator

Choose a reason for hiding this comment

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

just rename the component, no need for indirection

children:React.ReactNode;
}

exportinterfaceDialogPortalPropsextendsReact.ComponentProps<typeofBaseDialog.Portal>{
Copy link
Collaborator

Choose a reason for hiding this comment

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

prefer types over interfaces for prop types, you don't need declaration merging for props

};

export{Dialog,DialogTitle,DialogPanel};
export{DialogComponentasDialog,DialogTitle,DialogPanel,DialogTrigger};
Copy link
Collaborator

Choose a reason for hiding this comment

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

rename the component, no need for indirection

});

DialogTitle.displayName="DialogTitle";
DialogComponent.displayName="Dialog";
Copy link
Collaborator

Choose a reason for hiding this comment

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

same as above

);

// display names
PopoverContent.displayName="PopoverContent";
Copy link
Collaborator

Choose a reason for hiding this comment

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

same as above

@anmolsinghbhatiaanmolsinghbhatia marked this pull request as draftDecember 1, 2025 10:10
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@lifeiscontentlifeiscontentlifeiscontent left review comments

@coderabbitaicoderabbitai[bot]coderabbitai[bot] left review comments

Copilot code reviewCopilotCopilot left review comments

@cursorcursor[bot]cursor[bot] left review comments

@prateekshourya29prateekshourya29Awaiting requested review from prateekshourya29

@vamsikrishnamathalavamsikrishnamathalaAwaiting requested review from vamsikrishnamathala

At least 1 approving review is required to merge this pull request.

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

@anmolsinghbhatia@lifeiscontent

[8]ページ先頭

©2009-2025 Movatter.jp