Appearance
Components Documentation ​
Overview ​
This section documents all Vue components used in the Admin Frontend application. Components are organized by functionality and located in the components/ directory.
Component Structure ​
DAM Components ​
AssetList ​
Components for displaying and managing assets:
AssetContainer- Asset preview containerAssetUpload- Asset upload interfaceVersions- Asset version managementAddTags- Tag management for assets
Collage ​
Components for collage functionality:
FileListingCard- Asset card in collage viewAvatarList- User avatar listMediaResources- Media resource displayVideoHoverContent- Video hover actionsNonVideoHoverContent- Non-video hover actions
Folders ​
Folder management components:
FolderCard- Folder display cardFolderDialogs- Folder operation dialogs
Search ​
Search-related components:
SearchBar- Search input componentSearchBarTypeSense- Typesense search barSearchFilter- Filter panelSearchTabs- Search tabs navigationSearchBulkActions- Bulk action toolbar
Dialogs ​
Dialog components for various operations:
AdvanceShareDialog- Advanced sharing optionsCreateCollageDialog- Create collage dialogPermissionDialog- Portal visibility selection ("Portals" dialog; replaces public/private toggle)CreatePortalDialog- Create new brand portalPortalLogoEditDialog- Edit portal logoPortalFaviconEditDialog- Edit portal faviconPortalLimitDialog- Portal plan limit promptPreviewDialog- Asset preview dialogQuickViewDialog- Quick view dialogShareAssetDialog- Share asset dialog
Theme Components ​
Global ​
Global theme components:
CollageHeader- Main application headerCoreHeader- Core header componentLeftMenu- Left navigation menuDamNotification- DAM notificationsOverlayLoader- Loading overlayError- Error display component
Settings ​
Settings-related components:
AccountSettingsLeftMenu- Settings navigationWorkspaceNote- Workspace notes
Table Components ​
Table components for data display:
announcementTable- Announcements tableexternalUserTable- External users tableInvoiceTable- Invoices tableshareLinkListTable- Share links tableusersMenuOption- User menu optionswpAdminsTable- Workspace admins table
Utility Components ​
BreadCrumbs- Breadcrumb navigationViewToggle- View mode toggleUpgradePlanSection- Plan upgrade sectionEmailNotificationsAlert- Email notification alert
Component Patterns ​
Props ​
Components use props for data input:
javascript
props: {
file: Object,
folder: Object,
canEdit: Boolean,
// ... other props
}Events ​
Components emit events for parent communication:
javascript
this.$emit('fileSelect', file)
this.$emit('menuAction', action)Slots ​
Many components use slots for flexible content:
vue
<slot name="actions"></slot>
<slot name="content"></slot>Component Best Practices ​
- Single Responsibility - Each component has a focused purpose
- Reusability - Components are designed for reuse
- Props Validation - Props are validated with types
- Event Communication - Parent-child communication via events
- Scoped Styles - Styles are scoped to prevent conflicts
Component Documentation ​
Detailed documentation for each component includes:
- Purpose and functionality
- Props and their types
- Events emitted
- Slots available
- Usage examples
- Dependencies