xlibs-components
Version:
Modern React component library with Aceternity, MagicUI, and ShadCN components for building beautiful web applications
44 lines (43 loc) • 2.74 kB
JavaScript
// Component Metadata Index
// This file exports all component metadata for design tools and auto layout systems
// UI Components
export { cardMetadata, cardHeaderMetadata, cardContentMetadata, cardFooterMetadata } from "../components/ui/card";
export { buttonMetadata } from "../components/ui/button";
export { bentoBoxMetadata, bentoCardMetadata } from "../components/ui/bento-box";
export { calendar02Metadata } from "../components/ui/calendar-02";
export { calendar22Metadata } from "../components/ui/calendar-22";
export { calendar24Metadata } from "../components/ui/calendar-24";
// MagicUI Components
export { magicCardMetadata, magicCardHeaderMetadata, magicCardContentMetadata } from "../components/magicui/magic-card";
export { shinyButtonMetadata } from "../components/magicui/shiny-button";
// Metadata Registry for Tooling
export const componentMetadataRegistry = {
// UI Components
"Card": await import("../components/ui/card").then(m => m.cardMetadata),
"CardHeader": await import("../components/ui/card").then(m => m.cardHeaderMetadata),
"CardContent": await import("../components/ui/card").then(m => m.cardContentMetadata),
"CardFooter": await import("../components/ui/card").then(m => m.cardFooterMetadata),
"Button": await import("../components/ui/button").then(m => m.buttonMetadata),
"BentoBox": await import("../components/ui/bento-box").then(m => m.bentoBoxMetadata),
"BentoCard": await import("../components/ui/bento-box").then(m => m.bentoCardMetadata),
"Calendar02": await import("../components/ui/calendar-02").then(m => m.calendar02Metadata),
"Calendar22": await import("../components/ui/calendar-22").then(m => m.calendar22Metadata),
"Calendar24": await import("../components/ui/calendar-24").then(m => m.calendar24Metadata),
// MagicUI Components
"MagicCard": await import("../components/magicui/magic-card").then(m => m.magicCardMetadata),
"MagicCardHeader": await import("../components/magicui/magic-card").then(m => m.magicCardHeaderMetadata),
"MagicCardContent": await import("../components/magicui/magic-card").then(m => m.magicCardContentMetadata),
"ShinyButton": await import("../components/magicui/shiny-button").then(m => m.shinyButtonMetadata),
};
// Utility function to get metadata by component name
export function getComponentMetadata(componentName) {
return componentMetadataRegistry[componentName];
}
// Get all available component names
export function getAvailableComponents() {
return Object.keys(componentMetadataRegistry);
}
// Get components by layout hint
export function getComponentsByLayoutHint(hint) {
return Object.values(componentMetadataRegistry).filter(metadata => metadata.layoutHints?.includes(hint));
}