@teamflojo/floimg-studio-ui 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ import { NodeDefinition } from '@teamflojo/floimg-studio-shared';
3
+
4
+ export type NodePaletteColorVariant = "amber" | "blue" | "teal" | "pink" | "cyan" | "orange" | "emerald";
5
+ export interface NodePaletteItemProps {
6
+ /** The node definition to render */
7
+ definition: NodeDefinition;
8
+ /** Color variant for the palette item */
9
+ colorVariant: NodePaletteColorVariant;
10
+ /** Handler for drag start - receives the definition to serialize */
11
+ onDragStart: (e: React.DragEvent, definition: NodeDefinition) => void;
12
+ /** Handler for double-click - adds node to canvas */
13
+ onDoubleClick: (definition: NodeDefinition) => void;
14
+ /** Whether this node is disabled (prevents drag/add) */
15
+ disabled?: boolean;
16
+ /** Handler for when a disabled node is clicked */
17
+ onDisabledClick?: (definition: NodeDefinition) => void;
18
+ /** Custom badge to render (e.g., icon, tag) */
19
+ badge?: ReactNode;
20
+ /** Message to display instead of description when disabled */
21
+ alternateMessage?: string;
22
+ }
23
+ /**
24
+ * A single item in the node palette. Renders with themed CSS classes
25
+ * for consistent styling.
26
+ *
27
+ * Extension features (disabled state, badges) are opt-in via props.
28
+ */
29
+ export declare function NodePaletteItem({ definition, colorVariant, onDragStart, onDoubleClick, disabled, onDisabledClick, badge, alternateMessage, }: NodePaletteItemProps): import("react/jsx-runtime").JSX.Element;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  export { default as App } from './App';
3
3
  export { WorkflowEditor } from './editor/WorkflowEditor';
4
4
  export { NodePalette } from './components/NodePalette';
5
+ export { NodePaletteItem, type NodePaletteItemProps, type NodePaletteColorVariant, } from './components/NodePaletteItem';
5
6
  export { NodeInspector } from './components/NodeInspector';
6
7
  export { Toolbar, type ToolbarProps } from './components/Toolbar';
7
8
  export { Gallery } from './components/Gallery';