The SVX framework follows strict naming conventions to ensure consistency and maintainability across all components and files.
All file names use kebab-case (hyphenated lowercase)
svx-core-header.tsx
Files are prefixed with their category and subcategory
svx-core-header.tsx
svx-html-button.tsx
All component names use PascalCase (capitalized words with no spaces)
SVXCoreHeader
Components are prefixed with SVX or SVX followed by their category
SVXCoreHeader
SVXHtmlButton
Props interfaces are named with the component name followed by "Props"
interface SVXCoreHeaderProps {
sticky?: boolean;
shrinkOnScroll?: boolean;
}
Components are organized by category in separate directories
/components/core/
/components/html/
/components/svg/
/components/shape/
Foundational layout components
HTML-based UI components
SVG-based UI components
Shape rendering components
Interactive control components
Utility and helper functions