Comfy-Org / Comfy-Org/ComfyUI_frontend

Consider promoting EssentialNodeCard to a design system component

Open
#12,801 0 comments 0 reactions 1 assignee Claimed by @DrJKL View on GitHub
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

## Background

During review of PR #12744 (Essentials tab redesign), a question was raised about whether `EssentialNodeCard.vue` is special enough to warrant being a dedicated application-level component, or whether it should instead live in the design system as a reusable component.

## Context

`EssentialNodeCard.vue` renders a square card tile with an icon, a multi-line text ticker label, drag-to-canvas behavior, and a hover preview. The card is currently tightly coupled to the Essentials node library tab.

**File:** `src/components/sidebar/tabs/nodeLibrary/EssentialNodeCard.vue`
**PR:** https://github.com/Comfy-Org/ComfyUI_frontend/pull/12744
**Review comment:** https://github.com/Comfy-Org/ComfyUI_frontend/pull/12744#discussion_r3397625856

## Question to resolve

- Is the card layout/pattern (icon + multiline ticker label, square aspect ratio, grab cursor) generic enough to belong in the design system (e.g., `packages/design-system`)?
- If promoted, what props/slots interface should the design system component expose so it remains decoupled from ComfyUI-specific concerns (node defs, drag-to-canvas, etc.)?
- If kept as an app-level component, should it at least be moved to a more shared location (e.g., `src/components/common/`) so other panels can reuse it?

## Requested by

@DrJKL

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.