{"$schema":"https://ui.shadcn.com/schema/registry.json","homepage":"https://design.pointsav.com","items":[{"description":"A small, inline status indicator. Carries a short label and a tone.","files":[{"path":"ui/badge.html","type":"registry:ui"}],"name":"badge","registryDependencies":[],"title":"Badge","type":"registry:ui"},{"description":"Taxonomic swatch rendering a brand-family identifier as a coloured dot + label chip. Visual primitive for the Department / Hardware / Warehouse Club retail taxonomy. Taxonomy-agnostic: customers can extend via runtime taxonomy file (leapfrog invention #5). Reference implementation: gis.woodfinegroup.com (v0.1.94).","files":[{"path":"ui/brand-family-swatch.html","type":"registry:ui"}],"name":"brand-family-swatch","registryDependencies":[],"title":"Brand-Family Swatch","type":"registry:ui"},{"description":"Hierarchy trail to the current page. Useful when nested deeper than two levels.","files":[{"path":"ui/breadcrumb.html","type":"registry:ui"}],"name":"breadcrumb","registryDependencies":[],"title":"Breadcrumb","type":"registry:ui"},{"description":"A trigger that initiates an action. Five variants — primary, secondary, ghost, critical, link — each with its own emphasis and use context.","files":[{"path":"ui/button.html","type":"registry:ui"}],"name":"button","registryDependencies":[],"title":"Button","type":"registry:ui"},{"description":"Boolean choice. Use when each option is independent of the others.","files":[{"path":"ui/checkbox.html","type":"registry:ui"}],"name":"checkbox","registryDependencies":[],"title":"Checkbox","type":"registry:ui"},{"description":"Inline horizontal chip group with semantic variants. Each chip carries a small monospace label prefix + value, rendered as an inline-flex element with constrained height and consistent border-radius.","files":[{"path":"ui/chip-row.html","type":"registry:ui"}],"name":"chip-row","registryDependencies":[],"title":"Chip Row","type":"registry:ui"},{"description":"Source-type differentiation badges on references section entries. Six fixed source classes — academic (A, blue) / regulator (R, green) / industry (I, warm-gray) / direct-source (D, teal) / news (N, cool-gray) / web-informal (W, outline). data-source-authority attribute is the canonical machine-readable surface. JSON-LD @type refinement on citation entries. Addresses Wikipedia's flat numeric references list weakness.","files":[{"path":"ui/citation-authority-ribbon.html","type":"registry:ui"}],"name":"citation-authority-ribbon","registryDependencies":[],"title":"Citation Authority Ribbon","type":"registry:ui"},{"description":"Pre-formatted code block with an inset copy-to-clipboard button that fades in on hover. Uses navigator.clipboard.writeText with a textarea fallback. 'Copied' indicator shows for 1.4 s then reverts.","files":[{"path":"ui/code-block-with-copy.html","type":"registry:ui"}],"name":"code-block-with-copy","registryDependencies":[],"title":"Code Block with Copy","type":"registry:ui"},{"description":"Horizontal radiogroup of country chips that filter map data and flyTo the selected country's bounds. Default state is ALL (no filter, world view). Single exclusive selection; future multi-select variant planned. Reference implementation: gis.woodfinegroup.com (v0.1.94).","files":[{"path":"ui/country-filter-chips.html","type":"registry:ui"}],"name":"country-filter-chips","registryDependencies":[],"title":"Country Filter Chips","type":"registry:ui"},{"description":"Footer link to the source markdown of the current page on GitHub. Surfaces the substrate's open-source posture and invites contribution. Typically rendered as a small secondary link with a pencil icon or 'Edit this page' label.","files":[{"path":"ui/edit-on-github-link.html","type":"registry:ui"}],"name":"edit-on-github-link","registryDependencies":[],"title":"Edit on GitHub Link","type":"registry:ui"},{"description":"Dashed-border card for surfaces with no data yet. Title in display-serif; body in body-sans; optional inline links separated by whitespace (not bullets). Used for index pages with no entries, dashboard panels awaiting data, and search results with no matches.","files":[{"path":"ui/empty-state-card.html","type":"registry:ui"}],"name":"empty-state-card","registryDependencies":[],"title":"Empty State Card","type":"registry:ui"},{"description":"Per-section last-content-review date badge on each section heading (right end, after [edit] pencil). Three-stop colour scale: fresh (green, ≤90 days) / stale (amber, 91–365 days) / archived (gray, >365 days). Data source: git-blame at section level (excluding whitespace-only commits) or frontmatter content_reviewed_on override. dateModified per-section WebPageElement JSON-LD emission.","files":[{"path":"ui/freshness-ribbon.html","type":"registry:ui"}],"name":"freshness-ribbon","registryDependencies":[],"title":"Freshness Ribbon","type":"registry:ui"},{"description":"9-card responsive category browse grid for the documentation wiki home page. Always renders all 9 ratified categories regardless of article count — including empty categories with '0 articles — in preparation' placeholder. 3-col → 2-col (960px) → 1-col (640px). Carbon Tile pattern extended with a top-3 child list + 'More →' link per card.","files":[{"path":"ui/home-grid.html","type":"registry:ui"}],"name":"home-grid","registryDependencies":[],"title":"Home Grid","type":"registry:ui"},{"description":"Single-line text entry with label, helper text, and error state.","files":[{"path":"ui/input-text.html","type":"registry:ui"}],"name":"input-text","registryDependencies":[],"title":"Text input","type":"registry:ui"},{"description":"A navigation primitive — moves the user to a destination without state change.","files":[{"path":"ui/link.html","type":"registry:ui"}],"name":"link","registryDependencies":[],"title":"Link","type":"registry:ui"},{"description":"Three-column footer for PointSav machine surfaces (design.pointsav.com, showcase instances, etc.). Columns: brand identity (left), machine surface links (/tokens.json, /components, /research, /healthz), substrate provenance (Doctrine claims, standards floor). Small monospace section headings (11 px caps); body at 14 px; canonical-URL base bar at 12 px muted monospace.","files":[{"path":"ui/machine-surface-footer.html","type":"registry:ui"}],"name":"machine-surface-footer","registryDependencies":[],"title":"Machine Surface Footer","type":"registry:ui"},{"description":"Persistent right-side info drawer for map feature detail. Slides in on feature click; stays visible while map remains interactive. Replaces popup-on-marker pattern with a complementary panel. Reference implementation: gis.woodfinegroup.com (v0.1.94).","files":[{"path":"ui/map-side-drawer.html","type":"registry:ui"}],"name":"map-side-drawer","registryDependencies":[],"title":"Map Side Drawer","type":"registry:ui"},{"description":"Floating data-display panel showing aggregate statistics for the current filtered map view. Always visible; updates reactively when filters (country chips, family checkboxes) change. Positioned top-right to avoid collision with map zoom controls. Reference implementation: gis.woodfinegroup.com (v0.1.94).","files":[{"path":"ui/map-stats-panel.html","type":"registry:ui"}],"name":"map-stats-panel","registryDependencies":[],"title":"Map Stats Panel","type":"registry:ui"},{"description":"Page-level navigation header. Logo, primary nav, optional actions, optional account menu.","files":[{"path":"ui/navigation-bar.html","type":"registry:ui"}],"name":"navigation-bar","registryDependencies":[],"title":"Navigation bar","type":"registry:ui"},{"description":"Inline messaging — informational, positive, caution, critical. Toast variant subsequent milestone.","files":[{"path":"ui/notification.html","type":"registry:ui"}],"name":"notification","registryDependencies":[],"title":"Notification","type":"registry:ui"},{"description":"Bordered surface for previewing component recipes. Carries a data-theme attribute (light/dark) on the container. Toolbar with two toggle buttons in the top-right; JS flips data-theme and updates aria-pressed on each toggle.","files":[{"path":"ui/preview-frame.html","type":"registry:ui"}],"name":"preview-frame","registryDependencies":[],"title":"Preview Frame","type":"registry:ui"},{"description":"Collapsible bottom-of-article epistemic-frontier disclosure. Three fixed subsections: Research done / Suggested research / Open questions. Collapsed by default; summary line shows counts ('N done · N suggested · N open question(s)'). Native <details>/<summary> — no JS needed. Emits JSON-LD potentialAction nodes (SearchAction + Question). Doctrine claim #39 at article scale.","files":[{"path":"ui/research-trail-footer.html","type":"registry:ui"}],"name":"research-trail-footer","registryDependencies":[],"title":"Research Trail Footer","type":"registry:ui"},{"description":"Single-choice picker from a known list. Native <select> element for keyboard + screen-reader behaviour out of the box.","files":[{"path":"ui/select.html","type":"registry:ui"}],"name":"select","registryDependencies":[],"title":"Select","type":"registry:ui"},{"description":"Collapsible categorised left-rail navigation. Sections labelled with small monospace caps; items as horizontally-padded links with an active state (2 px left border in brand accent + soft accent-tint background).","files":[{"path":"ui/sidebar-accordion.html","type":"registry:ui"}],"name":"sidebar-accordion","registryDependencies":[],"title":"Sidebar Accordion","type":"registry:ui"},{"description":"A container that groups related content. Three elevation levels — subtle, base, elevated — communicate visual hierarchy without coupling to specific use cases.","files":[{"path":"ui/surface.html","type":"registry:ui"}],"name":"surface","registryDependencies":[],"title":"Surface","type":"registry:ui"},{"description":"On/off toggle for settings that take effect immediately. Use when the action is reversible and binary.","files":[{"path":"ui/switch.html","type":"registry:ui"}],"name":"switch","registryDependencies":[],"title":"Switch","type":"registry:ui"},{"description":"URL-reflected page-section navigation. Each tab is a separate route; state lives in the URL, not in client memory.","files":[{"path":"ui/tab.html","type":"registry:ui"}],"name":"tab","registryDependencies":[],"title":"Tab","type":"registry:ui"},{"description":"Tabs implemented as <details> elements, progressively enhanced by JS to behave as a tabset (opening one closes others; deep-link via #fragment). Zero-JS baseline: all panels accessible via expand/collapse. Distinct from ps-tab (URL-reflected routing pattern) — use this when content is in-page and JS may be unavailable.","files":[{"path":"ui/tab-bar-disclosure.html","type":"registry:ui"}],"name":"tab-bar-disclosure","registryDependencies":[],"title":"Tab Bar (Disclosure)","type":"registry:ui"},{"description":"Bottom-of-article surface: category tags, references/citations section, and an edit-on-github link. Separates editorial metadata from article body.","files":[{"path":"ui/wiki-article-footer.html","type":"registry:ui"}],"name":"wiki-article-footer","registryDependencies":["wiki-badge-tag","edit-on-github-link"],"title":"Wiki Article Footer","type":"registry:ui"},{"description":"Top-of-article surface: slug breadcrumb, H1 title (from frontmatter), quality badge, and byline (last edited + editor + history link). Maps Wikipedia article-header muscle-memory using IBM Plex Sans at 2.25rem h1.","files":[{"path":"ui/wiki-article-header.html","type":"registry:ui"}],"name":"wiki-article-header","registryDependencies":["wiki-badge-tag"],"title":"Wiki Article Header","type":"registry:ui"},{"description":"Dual-purpose chip: (1) article quality grade (Featured/Good/A/B/C/Stub), (2) category tag links. Inline, pill-shaped. Used by wiki-article-header (quality badge) and wiki-article-footer (category tags).","files":[{"path":"ui/wiki-badge-tag.html","type":"registry:ui"}],"name":"wiki-badge-tag","registryDependencies":[],"title":"Wiki Badge / Tag","type":"registry:ui"},{"description":"Button that toggles data-theme='dark' on the <html> element and persists the choice in localStorage. Initialises from localStorage on load, then falls back to prefers-color-scheme.","files":[{"path":"ui/wiki-dark-mode-toggle.html","type":"registry:ui"}],"name":"wiki-dark-mode-toggle","registryDependencies":[],"title":"Wiki Dark Mode Toggle","type":"registry:ui"},{"description":"Slide-in overlay navigation for compact (≤799px) viewports. Hamburger trigger opens a full-height left drawer containing the wiki site nav. Uses HTML inert attribute to lock the background DOM.","files":[{"path":"ui/wiki-drawer-mobile-nav.html","type":"registry:ui"}],"name":"wiki-drawer-mobile-nav","registryDependencies":[],"title":"Wiki Drawer (Mobile Navigation)","type":"registry:ui"},{"description":"Native <dialog> element modal with showModal() focus trap. Used for image lightbox, search overlay, and confirmation prompts. Dismisses on Escape or backdrop click.","files":[{"path":"ui/wiki-modal-dialog.html","type":"registry:ui"}],"name":"wiki-modal-dialog","registryDependencies":[],"title":"Wiki Modal Dialog","type":"registry:ui"},{"description":"Prev/Next article navigation within a wiki category. Three-column grid: prev article (left), category link (centre), next article (right). NOT numbered-page pagination. Keyboard navigable via native <a> elements.","files":[{"path":"ui/wiki-pagination.html","type":"registry:ui"}],"name":"wiki-pagination","registryDependencies":[],"title":"Wiki Pagination (Prev/Next)","type":"registry:ui"},{"description":"Ordered list of search hits: article title link + plain-text excerpt (~180 chars). Zero-results state with a prompt to try different terms. Backed by the Tantivy JSON-RPC endpoint at /mcp (see research note).","files":[{"path":"ui/wiki-search-results.html","type":"registry:ui"}],"name":"wiki-search-results","registryDependencies":[],"title":"Wiki Search Results","type":"registry:ui"},{"description":"Sticky right-rail sidebar listing article headings (H2/H3). Active section highlighted via IntersectionObserver. Collapses to an inline toggle on compact viewports.","files":[{"path":"ui/wiki-toc-sidebar.html","type":"registry:ui"}],"name":"wiki-toc-sidebar","registryDependencies":[],"title":"Wiki Table of Contents Sidebar","type":"registry:ui"}],"name":"pointsav-design-system"}