circuit-bricks
Version:
A modular, Lego-style SVG circuit component system for React (ALPHA - Not for production use)
72 lines • 2.89 kB
TypeScript
/**
* HeadlessComponentPalette Component
*
* A headless (unstyled) component for selecting and adding circuit components to a canvas.
* This component provides all the functionality without any styling, allowing users
* to apply their own styling using their preferred method.
*/
import React from 'react';
export interface HeadlessComponentPaletteProps {
/** Callback when a component is selected */
onSelectComponent: (componentType: string) => void;
/** Callback when a component is dragged */
onDragComponent?: (componentType: string, event: React.DragEvent) => void;
/** Additional class name for the root element */
className?: string;
/** Additional class names for sub-components */
classNames?: {
/** Class for the header section */
header?: string;
/** Class for the title */
title?: string;
/** Class for the search container */
searchContainer?: string;
/** Class for the search input */
searchInput?: string;
/** Class for the search icon */
searchIcon?: string;
/** Class for the clear search button */
clearSearchButton?: string;
/** Class for the category tabs container */
categoryTabs?: string;
/** Class for the category tabs inner container */
categoryTabsInner?: string;
/** Class for each category tab */
categoryTab?: string;
/** Class for the active category tab */
activeCategoryTab?: string;
/** Class for the component list container */
componentList?: string;
/** Class for the empty state container */
emptyState?: string;
/** Class for the component item */
componentItem?: string;
/** Class for the component icon container */
componentIcon?: string;
/** Class for the component details container */
componentDetails?: string;
/** Class for the component name */
componentName?: string;
/** Class for the component category */
componentCategory?: string;
/** Class for the component arrow icon */
componentArrow?: string;
/** Class for the left shadow overlay */
leftShadow?: string;
/** Class for the right shadow overlay */
rightShadow?: string;
/** Class for the top shadow overlay */
topShadow?: string;
/** Class for the bottom shadow overlay */
bottomShadow?: string;
};
/** Additional inline styles for the root element */
style?: React.CSSProperties;
/** Additional inline styles for sub-components */
styles?: {
[]: React.CSSProperties;
};
}
declare const HeadlessComponentPalette: React.FC<HeadlessComponentPaletteProps>;
export default HeadlessComponentPalette;
//# sourceMappingURL=HeadlessComponentPalette.d.ts.map