Boise Today project

Boise Today / Design system

Documentation v0.1 · Boise publication · Townwell platform

Design system contents

Components

Public photo library

Make reusable photography discoverable with attribution and an intentional detail/download flow.

On this page

Purpose and placement

Make reusable photography discoverable with attribution and an intentional detail/download flow.

Anatomy

Anatomy
PartBehavior
GridPhoto collection previews.
DetailImage, metadata, attribution and permitted download.
ZoomSource image inspection in a dedicated viewer.
Attribution fieldCopyable credit rather than hidden image-only information.

Configuration and contract

Configuration and contract
Input or decisionImplementation
Source familyPhotoLibraryGrid, PhotoDetail, PhotoZoomViewer and attribution/download components.
AvailabilityDepends on public photo records and asset delivery; no gallery capture is claimed in this pass.

States and feedback

  • Grid, selected photo and zoom are source-defined states awaiting applied coverage.
  • Credit copy and download outcomes require browser integration checks.

Usage rules

  • Preserve licensing/credit context next to the image.
  • Do not assume a public URL permits every reuse.
  • Use original dimensions for inspection rather than stretching a thumbnail.

Accessibility and verification

Review image descriptions, modal focus, keyboard zoom and copy-result announcements. This page documents source anatomy; it is not evidence of those interactions having passed.

Source references

Source references
FileResponsibility
components/photo-library/photo-library-grid.tsxAudited Townwell implementation; use this file when extending this interface.
components/photo-library/photo-detail.tsxAudited Townwell implementation; use this file when extending this interface.
components/photo-library/photo-zoom-viewer.tsxAudited Townwell implementation; use this file when extending this interface.
components/photo-library/attribution-copy-field.tsxAudited Townwell implementation; use this file when extending this interface.

Source audit: 2026-10-07 · Revision ce8bc72b96da · Documentation v0.1