s-m-r-t
Open the s-m-r-t source on GitHub Switch to dark color scheme
← All UI components

Assets · Components

AssetManager

Combined asset management surface with toolbar, grid/list view, detail, and selection

Public export

typescript
import { AssetManager } from '@happyvertical/smrt-assets/svelte';
Import path
@happyvertical/smrt-assets/svelte
Props
15
Props described
13 of 15
Bindable state
0
Callback events
7
Verified release
0.44.0

Props

NameTypeRequiredDescription
tenantIdstringNoTenant ID to scope assets to
dbFiltersAssetDbFiltersNoArbitrary database-level query filters forwarded to AssetCollection
modeAssetManagerModeNoOperating mode
acceptstringNoMIME type filter (e.g., 'image/*' to only show images)
customActionsAssetAction[]NoCustom actions added to the action bar
uploaderSnippet<[AssetManagerUploaderProps]>NoOptional custom uploader snippet (e.g., to inject ImageUploader from smrt-images)
onSelect(assets: PersistedAsset[]) => voidNoCallback when assets are selected (useful in pick mode)
onselect(assets: PersistedAsset[]) => voidNoNot described
onConfirm(assets: PersistedAsset[]) => voidNoCallback when an asset is double-clicked or "confirmed" in pick mode
onconfirm(assets: PersistedAsset[]) => voidNoNot described
initialViewAssetViewModeNoInitial view mode
showFoldersbooleanNoWhether to show folder navigation
onSave(asset: PersistedAsset, updates: Record<string, unknown>) => void | Promise<void>NoPersist an asset edit from the detail drawer. Consumer-supplied — when omitted, edits apply to local state only (preview/demo). Awaited; a rejection surfaces an error and skips the local update.
onCreate(data: AssetCreateData) => void | Promise<void>NoPersist a newly created asset. Consumer-supplied; awaited. A rejection propagates to the create modal, which surfaces it and keeps the form.
onDelete(assets: PersistedAsset[]) => void | Promise<void>NoPersist asset deletion. Consumer-supplied — when omitted, deletion applies to local state only. Awaited; a rejection surfaces an error and skips the local removal.

Bindable state

This component has no bindable public state.

Callback events

  • onSelect(assets: PersistedAsset[]) => void
  • onselect(assets: PersistedAsset[]) => void
  • onConfirm(assets: PersistedAsset[]) => void
  • onconfirm(assets: PersistedAsset[]) => void
  • onSave(asset: PersistedAsset, updates: Record<string, unknown>) => void | Promise<void>
  • onCreate(data: AssetCreateData) => void | Promise<void>
  • onDelete(assets: PersistedAsset[]) => void | Promise<void>

Examples and explanation