Bus UI Evidence And Files

Evidence UI without leaking storage policy.

Use the individual evidence pages for the public pkg/ui wrappers that cover safe links, inline previews, and image galleries. The node-first APIs keep URL policy and preview fallbacks explicit.

Public APIs

PageUse it forPublic API
UploadFile selection and drop affordances.FileInput, DropZone
EvidenceLinkSafe open/download links with disabled states.EvidenceLink(p EvidenceLinkProps) gx.Node
EvidencePreviewInline previews or fallback panels when embedding is blocked.EvidencePreview(p EvidencePreviewProps) gx.Node
ImageGalleryAllowlisted image sets with per-item diagnostics.ImageGallery(p ImageGalleryProps) (ImageGalleryResult, error)
URL policyNormalize public URLs and block unsafe or unavailable links.EvidenceURLResolver

Shared example

import (
  gx "github.com/busdk/bus-gx/pkg/gx"
  ui "github.com/busdk/bus-ui/pkg/ui"
)

node := ui.EvidencePreview(ui.EvidencePreviewProps{
  Title:       "Bank statement",
  PreviewURL:  "/modules/accounting/evidence/bank-statement.pdf",
  OpenURL:     "/modules/accounting/evidence/bank-statement.pdf",
  ContentType: "application/pdf",
  Fallback:    "Preview is unavailable.",
})

html, err := gx.RenderHTML(node)

These shared evidence examples now use the public pkg/ui facade.