Asset packs

A React block (a whole screen) in Beamline's Construction app.

Packs of assets (sounds, presets, fonts), the providers they come from and the storage they take. Download and install are two phases with their own progress: "downloaded, ready to install" never reads as installed, a failed install keeps the download for retry, and several at once share one summary line. A provider is connected with a device code that is large, selectable and shows its expiry; browsing works before, coming back to the tab or an approval by another account never counts as connected, and only what the provider grants turns on. A storage audit shows "—" until measured, groups missing, outside and unused files with what each means and Locate, treats unused files only as candidates, and lists exactly what collecting would copy in. Nothing is deleted here.

Use it for

  • Downloading and installing content packs where download and install are separate steps.
  • Connecting a service by device code, or auditing what a library's projects depend on.

Not for

Anatomy

  • header: the product's mark and the title; tabs Packs, Providers, Storage
  • packs: the summary line with Download available and Install ready; the drive (when given): its free space of its size, one bar of what's used, a pack that can't fit named; each pack as a row with maker, size and items, its size on the largest pack's scale, its state, the phase's progress and its one action
  • providers: each with its account, Connect; the code, Copy and Open, its expiry, the waiting line with Check now; what it grants
  • storage: when measured and Measure; library size and the three counts; missing, outside and unused groups with what each means, Locate and Collect

States

  • pack: not downloaded, downloading, downloaded and ready to install, installing, installed, install failed (download kept), download stopped
  • provider: not connected, asking for a code, code shown, back without approval, approved (grants), declined, expired, approved by another account
  • storage: not measured (—), measuring, measured, nothing found, located, not located, collecting, collected, failed
  • phone: one column
  • right to left: mirrors; the code and paths read left to right

Keyboard

  • Tab through the tabs, each card's actions, Copy and Open, Check now, Measure, Locate and Collect; the collect dialog traps focus and Escape closes it

Motion

Progress bars fill; nothing else of its own.

Props

PropTypeDefaultDescription
packs (required)Pack[]—
drive{ name: string; size: number; free: number; }—The drive the packs install to: its name, size and free space in bytes. Drawn above the packs, so a pack that can't fit says why at a glance.
providersProvider[]—
auditAudit | null—The last storage audit; null until measured (counts stay "—").
onDownloadPhaseRunner—Download a pack, reporting 0–1; a finished download is only downloaded, never installed.
onInstallPhaseRunner—Install a downloaded pack, reporting 0–1; reject with the reason (the download is kept).
onStartConnect((providerId: string) => Promise<DeviceCode>)—
onCheck((providerId: string, code: string) => Promise<DeviceCheck>)—Asked every few seconds while a code is shown, and on Check now.
onDisconnect((providerId: string) => Promise<void>)—
onMeasure(() => Promise<Audit>)—
onLocate((fileId: string) => Promise<string | null>)—Where a missing file is now; resolve with its path, or null when it wasn't found.
onCollect((fileIds: string[]) => Promise<void>)—Copy files from outside into the library; the originals stay.
defaultViewView—
defaultConnectingstring | null—Start connecting this provider at once, as if Connect had been pressed.
productstring—
classNamestring—Classes on the documented visual root; no override by default.
refRef<HTMLDivElement>—Receives the documented native target or imperative handle; omitted by default.

Built from

Dependencies

lucide-react

Import

import { AssetPacks } from "@beamline/asset-packs";

Get it

Asset packs is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent

More in Construction

  • Submittal register: The documents a trade owes a project before its material is bought, on the clocks that matter: a log whose rows each draw their way to site on one shared…
  • Change orders: Change orders against a contract, with the money drawn where it stands: one bar of the original contract, each approved change, a line at the current…
  • Inspection review: A unit's inspection, reviewed in three views. Findings: rooms and features with their condition, answers, notes and photos, and each feature's…
  • Work orders: A maintenance work order that coordinates subtasks: the children's progress drawn by status with cancelled ones counted apart, the parent completed on…
  • Action center: Everything waiting on a person across projects: a strip of every open item on the days ahead, one lane per kind of owing (You submit, You answer, Tasks…
  • Company access: A project's companies as one board: No company first (office access waits for a company, and says so), then each company with its code and its people…
  • Condition checklist: An inspection by area. Each item marked good (success), soon (warning) or needs work now (danger), or not checked yet and kept apart below; what was…
  • Corrective actions: A corrective action raised from a failed inspection answer, for food safety, facilities or quality teams. The answer, its photo and note are pinned above…
  • Quality checks: Quality checks by picture and the control points that make them. A check asks for one photo: an upload that fails keeps its file with Try again, and…
  • Maintenance plan: Maintenance of shared equipment. The instruments, most urgent first, each with its most pressing kind and how due it is (overdue, due soon, fine, never…
  • Maintenance plans: An operations team's maintenance plans. The queue lists every asset-plan pair (one machine can appear under two plans) with its last service, next due…
  • Equipment register: A business's machines and vehicles: a register filtered by status (in use, in repair, sold, each counted) with each machine's photo or type icon…
  • Asset workspace: One physical asset: a machine, vehicle or piece of plant. Its header keeps the system id apart from the name and serial, with type, site, status and the…
  • Instrument use: Shared instruments. The slot search reads as one sentence (how long, which instrument type, the dates and the working hours with the lab's time zone)…
  • Job booking: A customer books a home or field-service job on the company's own site, phone first. Services with how many units, each unit adding its time and price…
  • Job booking setup: Online booking for a field-service company, set up from three sides that feed one booking form. Services: each priced and timed per unit with whether it…
  • Rental availability: A rental shop's availability: a product's month for the quantity a customer wants (each day available, some left with the count, booked out or not known…
  • Rooms & equipment: A salon's or clinic's rooms and equipment and what its services need of them: resources by group at each location, how many appointments each holds at…
  • System pages: The four pages a product shows when the normal one cannot: page not found (search and the likely places), something broke (try again, an error id to…

Part of Beamline UI: polished, editable React components and complete screens for custom applications. Build your own style from any look; tokens, fonts, radii, motion; not only colours.