Component Categories
Components are organized into four main groups:Layout Components
Structure your application with containers, rows, columns, cards, and more
Form Components
Collect user input with inputs, selects, checkboxes, date pickers, and more
Data Display
Display data with tables, dialogs, carousels, and galleries
Design Components
Enhance your UI with images, buttons, icons, and text blocks
Element Definition System
All components are defined in theelementsDefinition object located at:
packages/loopar/core/global/element-definition.js
Using Components
Components can be used in two ways:1. In JSON Metadata
Define components using JSON structure:2. In JSX
Import and use components directly:Component Groups
Layout Components (15 elements)
container- Main container wrapperrow- Responsive grid rowcol- Grid columncard- Card component with header/content/footersection- Page sectionbanner- Hero banner with backgroundtabs- Tabbed interfacepanel- Collapsible paneldiv- Generic containerfragment- React fragment wrapper
Form Components (20+ elements)
input- Text input with multiple formatsselect- Dropdown with local/remote datacheckbox- Checkbox inputswitch- Toggle switchdate- Date pickerdate_time- Date and time pickertime- Time pickertextarea- Multi-line text inputtext_editor- Rich text editorfile_input- File uploadcolor_picker- Color selectionradio_group- Radio button group
Design Components
button- Action button with variantsimage- Image displayicon- Icon componenttext_block- Formatted texttitle- Heading textsubtitle- Subheading textparagraph- Paragraph textlink- Hyperlinkcarrusel- Image carouselgallery- Image gallery
Component Properties
All components support common properties:Component configuration object containing:
name- Field name for form elementslabel- Display labelkey- Unique identifierclass- CSS classes
Child components (for container elements)
Inline CSS styles
Element Dictionary
Access element definitions programmatically:Meta Fields
Components can define meta fields for the designer:packages/loopar/src/components/row.jsx
Component Base Class
All components extend from the base Component class:packages/loopar/src/components/base/component.jsx
Next Steps
Layout Components
Learn about containers, rows, columns, and cards
Form Components
Build forms with inputs, selects, and more
Data Display
Display data with tables and dialogs
Custom Components
Create your own custom components