npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@startinblox/component-tamis

v3.0.3

Published

TAMIS components

Readme

TAMIS SOLID Components

Lit-based web-components library (@startinblox/component-tamis) that renders the TAMIS frontend on top of the Startin'blox SOLID framework (sibStore, sibRouter, Orbit). It is the client counterpart to djangoldp-tamis and consumes its LDP resources directly — there is no custom API.

User-facing flow

TAMIS is a post-production coordination tool for clients (broadcasters, studios) and providers (post-production houses). The components in this library compose into the four screens that drive the daily workflow:

  • Prestations — the operator's main workspace. A list/cards/table view of every prestation the user can access (driven by their group memberships on the backend), with a detail page showing the prestation's header, its delivery → validation timeline, the linked editorial work, and the deliverable assets attached to it. Rejecting a delivery here is what triggers the backend signal that re-queues another Livraison + Validation round.
  • Commandes — the order-level view. Lists every Commande (a Client/Provider purchase order) with its status and the prestations underneath, so a project manager can see all the work scoped under a single order.
  • Assets — the deliverables view. Browses the files produced by a prestation (MediaResources and their audio/video tracks), grouped per asset, with copy/preview UI primitives.
  • Profile / Favourites — per-user pages: enterprise/title/job/phone (from TamisProfile) and pinned prestations (Favourite) for quick re-entry.

On boot, solid-autologin-menu warms the SOLID store with every container the app needs so that subsequent navigation is instant rather than waterfall-fetched. All access control is enforced server-side by djangoldp-tamis — the components simply render whatever the user is allowed to see.

What it provides

A set of <solid-tamis-*> custom elements, organised by domain:

  • components/orbit/ — top-level menu entries plugged into Orbit (solid-tamis-prestation-menu, …-commande-menu, …-asset-menu, …-favourite-menu, …-profile-menu/-top) plus solid-autologin-menu, which prewarms sibStore with every TAMIS container (series/, seasons/, programmes/, editorialworks/, commandes/, prestations/, prestationsteps/, steptotemplates/, assets/, mediaresources/, tracks/, videotracks/, audiotracks/, steps/, agents/, clients/, providers/, formats/, identifiants/, users/, groups/) at load time.
  • components/common/ — shared views: prestation cards/table/timeline, prestation detail header, commande table, linked-prestation display, breadcrumb, back button, folder/asset/media displays, and form helpers (identifiant form, reactive select, form-value-to-dict).
  • components/asset/, components/commande/, components/dashboard/, components/prestation/, components/profile/ — page-level compositions.
  • components/ui/ — primitives (button, collapsible, copy, popover, tag).
  • helpers/orbitComponent.js — a LitElement base with helpers to expand LDP proxy values, walk ldp:contains, cherry-pick serializer fields, and subscribe to route/resource changes (setupComponentSubscriptions, setupCacheInvalidation, setupCacheOnResourceReady, setupOnSaveReset, requestNavigation).
  • tamis.d.ts — TypeScript interfaces for every resource (Prestation, EditorialWork, Commande, Asset, MediaResource, …) mirroring the djangoldp-tamis serializer output.
  • Icons are pulled from @iconify-json/simple-line-icons via unplugin-icons and auto-defined as web components.

Distributed as an ESM library (dist/index.js) built from src/index.js, which eagerly glob-imports every components/**/*.js. In dev mode it logs the detected window.orbit, sibStore, and sibRouter for inspection.

Build

npm install
npm run watch    # vite dev server
npm run build    # produces dist/ (ESM, target esnext, browserslist: last 2 Chrome)
npm run serve    # vite preview of the built library

Path aliases: @components, @helpers, @stylessrc/components, src/helpers, src/styles.

Installation in an application

See the client installation guide.