Skip to main content

Shared Components

Reusable UI primitives used across the customizer. These can also be used standalone if you import @chamevo/components.

cv-button

Button with variant, size, and disabled state.

<cv-button variant="primary" size="md">Save</cv-button>
<cv-button variant="secondary" size="sm">Cancel</cv-button>
<cv-button variant="ghost" size="sm">Reset</cv-button>
PropertyTypeDefaultDescription
variant'primary' | 'secondary' | 'ghost''primary'Visual style.
size'sm' | 'md' | 'lg''md'Button size.
disabledbooleanfalseDisabled state.

cv-icon

Phosphor Icons with 6 weight variants.

<cv-icon name="pencil" weight="regular" size="20"></cv-icon>
<cv-icon name="trash" weight="bold" size="24"></cv-icon>
PropertyTypeDefaultDescription
namestringIcon name from Phosphor Icons.
weight'thin' | 'light' | 'regular' | 'bold' | 'fill' | 'duotone''regular'Icon weight.
sizenumber20Icon size in pixels.

cv-dropdown

Dropdown menu with trigger and items.

cv-tabs

Tab navigation with panels.

<cv-tabs tabs='["Tab 1", "Tab 2", "Tab 3"]' active-index="0"></cv-tabs>
PropertyTypeDefaultDescription
tabsstring | string[][]Tab labels.
activeIndexnumber0Active tab index.

cv-modal

Modal dialog with backdrop.

PropertyTypeDefaultDescription
openbooleanfalseWhether modal is visible.
headingstring''Modal heading text.

cv-color-picker

HSV color picker with hue/saturation/value controls.

cv-color-palette

Grid of color swatches with selection ring.

PropertyTypeDefaultDescription
colorsstring[][]Array of hex colors.
valuestring''Currently selected color.

cv-color-panel

Unified color editing combining picker, palette, and SVG path color tabs.

cv-action-menu

Three-dots dropdown menu for element actions (duplicate, remove, etc.).

cv-loader

Loading overlay with spinner animation.

PropertyTypeDefaultDescription
activebooleanfalseWhether loader is visible.

cv-notification

Toast notification for warning, error, and info messages.

PropertyTypeDefaultDescription
variant'warning' | 'error' | 'info''warning'Visual variant.
headingstring''Notification heading.
messagestring''Main message text.
loadingbooleanfalseWhen true, renders a loading spinner before the body.
durationnumber0Auto-dismiss duration in ms. 0 = no auto-dismiss.