{
  "schema": "genui-chunk-index@2",
  "captured_at": "2026-06-13T19:54:14.000Z",
  "total_instances": 543,
  "unique_names": 394,
  "by_kind": {
    "block": 515,
    "page": 21,
    "panel": 7
  },
  "chunks": [
    {
      "name": "admin-topbar-breadcrumb-actions",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Canonical app-chrome topbar — sidebar-toggle, breadcrumb trail, spacer, then a trailing actions cluster (Export, Share). The standard admin-content top band.",
        "keywords": [
          "admin",
          "topbar",
          "breadcrumb",
          "actions",
          "sidebar",
          "toggle",
          "export",
          "share",
          "app",
          "chrome",
          "navigation",
          "admin-topbar",
          "breadcrumb-ui",
          "data-actions",
          "header",
          "band"
        ]
      }
    },
    {
      "name": "admin-topbar-breadcrumb-minimal",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Minimal app-chrome topbar — sidebar-toggle plus a breadcrumb only, no actions. Use when the page just needs to show where the user is.",
        "keywords": [
          "admin",
          "topbar",
          "breadcrumb",
          "minimal",
          "sidebar",
          "toggle",
          "location",
          "navigation",
          "admin-topbar",
          "breadcrumb-ui",
          "simple",
          "header",
          "band",
          "you-are-here"
        ]
      }
    },
    {
      "name": "admin-topbar-search",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "App-chrome topbar with a global search field — sidebar-toggle, breadcrumb, spacer, search-ui, then a filter + compose action cluster. Gives a search anchor visible across the app.",
        "keywords": [
          "admin",
          "topbar",
          "search",
          "global",
          "search-ui",
          "filter",
          "compose",
          "breadcrumb",
          "sidebar",
          "toggle",
          "navigation",
          "admin-topbar",
          "header",
          "band",
          "find",
          "query",
          "inbox"
        ]
      }
    },
    {
      "name": "admin-topbar-status-indicator",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "App-chrome topbar with an inline status indicator — a success tag-ui (Healthy) beside the action cluster gives an always-visible health/sync signal. For pipeline / connection state.",
        "keywords": [
          "admin",
          "topbar",
          "status",
          "indicator",
          "health",
          "sync",
          "connection",
          "tag-ui",
          "success",
          "badge",
          "breadcrumb",
          "sidebar",
          "navigation",
          "admin-topbar",
          "pipeline",
          "healthy",
          "refresh",
          "logs"
        ]
      }
    },
    {
      "name": "admin-topbar-trailing-toggle",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "App-chrome topbar with both leading-nav and trailing-inspector toggles — data-sidebar-toggle=trailing wires a button to a second admin-sidebar (inspector / context rail) collapsed state.",
        "keywords": [
          "admin",
          "topbar",
          "trailing",
          "toggle",
          "inspector",
          "context",
          "rail",
          "sidebar",
          "leading",
          "edit",
          "breadcrumb",
          "navigation",
          "admin-topbar",
          "data-sidebar-toggle",
          "records",
          "detail"
        ]
      }
    },
    {
      "name": "admin-topbar-deep-breadcrumb",
      "kind": "block",
      "primary": "admin-topbar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-content-topbar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "App-chrome topbar with a deep multi-level breadcrumb trail (five levels) for deeply-nested hierarchies — Workspaces / Acme Co. / Projects / Q4 Launch / Activity.",
        "keywords": [
          "admin",
          "topbar",
          "breadcrumb",
          "deep",
          "multi-level",
          "hierarchy",
          "nested",
          "trail",
          "path",
          "sidebar",
          "navigation",
          "admin-topbar",
          "breadcrumb-ui",
          "workspaces",
          "projects",
          "ancestors"
        ]
      }
    },
    {
      "name": "admin-page-header-title-description",
      "kind": "block",
      "primary": "admin-page-header",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-page-header.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Admin page header band — minimal shape with page title and description, no page-level actions. The sticky title band inside admin-page.",
        "keywords": [
          "admin",
          "page",
          "header",
          "title",
          "description",
          "band",
          "sticky",
          "page-title",
          "admin-page-header",
          "heading",
          "settings",
          "layout"
        ]
      }
    },
    {
      "name": "admin-page-header-with-actions",
      "kind": "block",
      "primary": "admin-page-header",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-page-header.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Admin page header band with right-aligned page-level action buttons (Export, + New) in a data-actions slot beside the title. For pages with page-scope verbs.",
        "keywords": [
          "admin",
          "page",
          "header",
          "actions",
          "buttons",
          "export",
          "new",
          "title",
          "band",
          "page-level",
          "toolbar",
          "admin-page-header",
          "data-actions",
          "primary",
          "outline",
          "layout"
        ]
      }
    },
    {
      "name": "admin-page-header-with-tabs",
      "kind": "block",
      "primary": "admin-page-header",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-page-header.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Admin page header band with a tabs-ui sub-view switcher after the description. For pages with multiple panels that swap inside the same shell (dashboard tabs, settings sections).",
        "keywords": [
          "admin",
          "page",
          "header",
          "tabs",
          "sub-view",
          "switcher",
          "dashboard",
          "panels",
          "tabs-ui",
          "tab-ui",
          "overview",
          "band",
          "title",
          "admin-page-header",
          "layout",
          "navigation"
        ]
      }
    },
    {
      "name": "admin-page-header-flush",
      "kind": "block",
      "primary": "admin-page-header",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-page-header.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Admin page header band with data-flush on the inner header to drop the bottom border. Use when the page body provides its own top edge (hero panel, edge-to-edge card).",
        "keywords": [
          "admin",
          "page",
          "header",
          "flush",
          "no-border",
          "data-flush",
          "title",
          "band",
          "borderless",
          "hero",
          "edge",
          "admin-page-header",
          "account",
          "layout"
        ]
      }
    },
    {
      "name": "admin-sidebar-workspace-switcher",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Admin sidebar rail with workspace + user switchers — select-ui at both the header band (workspace) and footer band (user), nav rail between. For authenticated multi-workspace apps.",
        "keywords": [
          "admin",
          "sidebar",
          "workspace",
          "switcher",
          "user",
          "select-ui",
          "authenticated",
          "multi-workspace",
          "nav",
          "rail",
          "header",
          "footer",
          "admin-sidebar",
          "admin-topbar",
          "admin-statusbar",
          "navigation",
          "account",
          "team"
        ]
      }
    },
    {
      "name": "admin-sidebar-brand-signin",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Admin sidebar rail with a static brand header and a sign-in CTA in the footer — for unauthenticated single-product apps. Guest entity item plus a primary Sign in button.",
        "keywords": [
          "admin",
          "sidebar",
          "brand",
          "sign-in",
          "signin",
          "cta",
          "unauthenticated",
          "guest",
          "logo",
          "nav",
          "rail",
          "header",
          "footer",
          "admin-sidebar",
          "admin-statusbar",
          "navigation",
          "login",
          "button",
          "single-product"
        ]
      }
    },
    {
      "name": "admin-sidebar-brand-version",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Minimal admin sidebar rail with a static brand header and a version string in the footer — for docs sites with no authentication. The simplest nav rail shape.",
        "keywords": [
          "admin",
          "sidebar",
          "brand",
          "version",
          "docs",
          "minimal",
          "no-auth",
          "logo",
          "nav",
          "rail",
          "header",
          "footer",
          "admin-sidebar",
          "admin-statusbar",
          "navigation",
          "simple",
          "version-string",
          "documentation"
        ]
      }
    },
    {
      "name": "admin-sidebar-flat-nav",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Admin sidebar with a simple flat single-level nav — nav-item-ui rows with icons and a badge, no grouping. Ideal for marketing or docs apps with a shallow IA.",
        "keywords": [
          "admin",
          "sidebar",
          "flat",
          "nav",
          "simple",
          "single-level",
          "nav-item-ui",
          "icons",
          "badge",
          "nav-ui",
          "rail",
          "navigation",
          "admin-sidebar",
          "home",
          "inbox",
          "team",
          "reports",
          "settings",
          "shallow"
        ]
      }
    },
    {
      "name": "admin-sidebar-nav-dividers",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Admin sidebar whose nav is split into visual sections with hr data-nav-divider separators between groups of nav-item-ui rows. For apps that want grouped nav without collapsible sub-navs.",
        "keywords": [
          "admin",
          "sidebar",
          "nav",
          "dividers",
          "separators",
          "hr",
          "data-nav-divider",
          "grouped",
          "sections",
          "nav-item-ui",
          "nav-ui",
          "rail",
          "navigation",
          "admin-sidebar",
          "dashboard",
          "inbox",
          "team",
          "settings",
          "support"
        ]
      }
    },
    {
      "name": "admin-sidebar-nav-groups",
      "kind": "block",
      "primary": "admin-sidebar",
      "instances": 1,
      "pages": [
        "/site/patterns/admin-sidebar.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Admin sidebar with collapsible nav-group-ui sub-navs — each group owns a chevron and open state, nesting nav-item-ui children. For deep hierarchies (Analytics, Content) under a flat dashboard row.",
        "keywords": [
          "admin",
          "sidebar",
          "nav",
          "groups",
          "collapsible",
          "sub-nav",
          "nav-group-ui",
          "chevron",
          "open",
          "nested",
          "hierarchy",
          "nav-item-ui",
          "nav-ui",
          "rail",
          "navigation",
          "admin-sidebar",
          "analytics",
          "content",
          "deep",
          "tree"
        ]
      }
    },
    {
      "name": "form-field-email-hint",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A labeled email field with helper hint text — field-ui wrapping an input-ui type=email. The canonical field-wrapper shape that owns the label, hint, and ARIA binding.",
        "keywords": [
          "form",
          "field",
          "email",
          "hint",
          "helper",
          "label",
          "field-ui",
          "input-ui",
          "type-email",
          "wrapper",
          "labeled",
          "forms",
          "validation",
          "aria",
          "placeholder"
        ]
      }
    },
    {
      "name": "form-field-required",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A required labeled text field — field-ui with the required attribute wrapping an input-ui, rendering the required asterisk and constraint binding.",
        "keywords": [
          "form",
          "field",
          "required",
          "asterisk",
          "label",
          "field-ui",
          "input-ui",
          "text",
          "wrapper",
          "labeled",
          "forms",
          "validation",
          "mandatory",
          "name",
          "placeholder"
        ]
      }
    },
    {
      "name": "form-field-select",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A labeled dropdown select field — field-ui wrapping a select-ui with option children. For a single choice from a small fixed set of values (role, status, plan).",
        "keywords": [
          "form",
          "field",
          "select",
          "dropdown",
          "field-ui",
          "select-ui",
          "option",
          "role",
          "choice",
          "picker",
          "single-select",
          "forms",
          "labeled",
          "admin",
          "member",
          "viewer",
          "list"
        ]
      }
    },
    {
      "name": "form-field-textarea",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A labeled multi-line text field — field-ui wrapping a textarea-ui with a row count. For long-form text entry like notes, descriptions, or comments.",
        "keywords": [
          "form",
          "field",
          "textarea",
          "multi-line",
          "field-ui",
          "textarea-ui",
          "notes",
          "description",
          "comment",
          "long-form",
          "rows",
          "forms",
          "labeled",
          "text-area",
          "placeholder"
        ]
      }
    },
    {
      "name": "form-switch-toggle",
      "kind": "block",
      "primary": "switch-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A self-labeling toggle switch — switch-ui with its own label attribute (no field-ui wrapper). For instant on/off settings that apply immediately without a submit.",
        "keywords": [
          "form",
          "switch",
          "toggle",
          "self-labeling",
          "switch-ui",
          "on-off",
          "instant",
          "setting",
          "notifications",
          "boolean",
          "enable",
          "forms",
          "label",
          "immediate"
        ]
      }
    },
    {
      "name": "form-field-range",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A labeled range slider field — field-ui wrapping a range-ui with min/max/value. For selecting a numeric value within a bounded range (volume, opacity, threshold).",
        "keywords": [
          "form",
          "field",
          "range",
          "slider",
          "field-ui",
          "range-ui",
          "min",
          "max",
          "value",
          "numeric",
          "bounded",
          "volume",
          "opacity",
          "threshold",
          "forms",
          "labeled",
          "slider-control"
        ]
      }
    },
    {
      "name": "form-checkbox-group",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "A vertical group of self-labeling checkboxes — check-ui rows stacked in a col-ui, each carrying its own label attribute (no field-ui wrapper). For multi-select preferences like notification opt-ins.",
        "keywords": [
          "form",
          "checkbox",
          "group",
          "self-labeling",
          "check-ui",
          "col-ui",
          "multi-select",
          "preferences",
          "opt-in",
          "notifications",
          "digest",
          "stacked",
          "vertical",
          "forms",
          "label",
          "checked"
        ]
      }
    },
    {
      "name": "form-fields-two-column",
      "kind": "block",
      "primary": "fields-ui",
      "instances": 1,
      "pages": [
        "/site/patterns/forms.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Two side-by-side form fields — fields-ui wrapping a pair of field-ui controls, collapsing to a single column on narrow viewports automatically. For first/last name or city/state rows.",
        "keywords": [
          "form",
          "fields",
          "two-column",
          "side-by-side",
          "fields-ui",
          "field-ui",
          "input-ui",
          "responsive",
          "collapse",
          "row",
          "first-name",
          "last-name",
          "layout",
          "forms",
          "multi-column"
        ]
      }
    },
    {
      "name": "responsive-grid-pattern",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/site/patterns/responsive.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Responsive grid KPI strip — 1 column mobile, 2 tablet, 4 desktop using @bp notation: columns='1 2@sm 4@lg'.",
        "keywords": [
          "responsive",
          "grid",
          "columns",
          "breakpoint",
          "mobile",
          "tablet",
          "desktop",
          "@bp",
          "kpi",
          "layout"
        ]
      }
    },
    {
      "name": "responsive-row-pattern",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/site/patterns/responsive.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Responsive row toolbar — gap and justify change at breakpoints; left label + right actions spread at md+ with @bp notation.",
        "keywords": [
          "responsive",
          "row",
          "toolbar",
          "gap",
          "justify",
          "breakpoint",
          "@bp",
          "spread",
          "layout",
          "mobile"
        ]
      }
    },
    {
      "name": "responsive-wrap-at-pattern",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/site/patterns/responsive.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Responsive flex wrap via wrap-at — enables flex-wrap from named breakpoint upward; for boolean attrs that cannot use @bp value syntax.",
        "keywords": [
          "responsive",
          "wrap-at",
          "flex",
          "wrap",
          "breakpoint",
          "boolean",
          "attribute",
          "toolbar"
        ]
      }
    },
    {
      "name": "playground-construct-canvas",
      "kind": "block",
      "primary": "editor-canvas",
      "instances": 1,
      "pages": [
        "/apps/construct-canvas/app/construct-canvas.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Construct canvas playground — visual agent canvas editor with inspector panel.",
        "keywords": [
          "playground",
          "canvas",
          "construct",
          "agent",
          "inspector",
          "visual",
          "editor"
        ]
      }
    },
    {
      "name": "error-404",
      "kind": "page",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/404/404.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "error-404-actions"
      ],
      "metadata": {
        "domain": "error",
        "description": "404 not-found error page. Card-shaped error message with map-trifold icon, page-not-found heading, route path display, trace ID, and back-to-home action.",
        "keywords": [
          "404",
          "not",
          "found",
          "error",
          "page",
          "missing",
          "route",
          "trace",
          "home"
        ],
        "related": [
          "error-500",
          "error-maintenance",
          "auth-forbidden",
          "auth-session-expired"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-card-header",
      "kind": "block",
      "primary": "header",
      "instances": 23,
      "pages": [
        "/apps/errors/app/404/404.contents.html",
        "/apps/errors/app/500/500.contents.html",
        "/apps/errors/app/maintenance/maintenance.contents.html",
        "/apps/user-flow/app/auth/accept-invite/accept-invite.contents.html",
        "/apps/user-flow/app/auth/account-deleted/account-deleted.contents.html",
        "/apps/user-flow/app/auth/account-locked/account-locked.contents.html",
        "/apps/user-flow/app/auth/email-change/verify/verify.contents.html",
        "/apps/user-flow/app/auth/forbidden/forbidden.contents.html",
        "/apps/user-flow/app/auth/forgot-password/forgot-password.contents.html",
        "/apps/user-flow/app/auth/forgot-password/sent/sent.contents.html",
        "/apps/user-flow/app/auth/link-expired/link-expired.contents.html",
        "/apps/user-flow/app/auth/reset-password/reset-password.contents.html",
        "/apps/user-flow/app/auth/session-expired/session-expired.contents.html",
        "/apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html",
        "/apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html",
        "/apps/user-flow/app/auth/sign-in/password/password.contents.html",
        "/apps/user-flow/app/auth/sign-in/sign-in.contents.html",
        "/apps/user-flow/app/auth/sign-out/sign-out.contents.html",
        "/apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html",
        "/apps/user-flow/app/auth/sign-up/profile/profile.contents.html",
        "/apps/user-flow/app/auth/sign-up/sign-up.contents.html",
        "/apps/user-flow/app/auth/sign-up/sso-only/sso-only.contents.html",
        "/apps/user-flow/app/auth/sign-up/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Auth card header — logo + page title centered at top of auth card.",
        "keywords": [
          "auth",
          "card",
          "header",
          "logo",
          "title",
          "brand",
          "centered"
        ]
      }
    },
    {
      "name": "auth-card-content",
      "kind": "block",
      "primary": "section",
      "instances": 24,
      "pages": [
        "/apps/errors/app/404/404.contents.html",
        "/apps/errors/app/500/500.contents.html",
        "/apps/errors/app/maintenance/maintenance.contents.html",
        "/apps/user-flow/app/auth/accept-invite/accept-invite.contents.html",
        "/apps/user-flow/app/auth/account-deleted/account-deleted.contents.html",
        "/apps/user-flow/app/auth/account-locked/account-locked.contents.html",
        "/apps/user-flow/app/auth/email-change/verify/verify.contents.html",
        "/apps/user-flow/app/auth/forbidden/forbidden.contents.html",
        "/apps/user-flow/app/auth/forgot-password/forgot-password.contents.html",
        "/apps/user-flow/app/auth/forgot-password/sent/sent.contents.html",
        "/apps/user-flow/app/auth/link-expired/link-expired.contents.html",
        "/apps/user-flow/app/auth/oauth/callback/callback.contents.html",
        "/apps/user-flow/app/auth/reset-password/reset-password.contents.html",
        "/apps/user-flow/app/auth/session-expired/session-expired.contents.html",
        "/apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html",
        "/apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html",
        "/apps/user-flow/app/auth/sign-in/password/password.contents.html",
        "/apps/user-flow/app/auth/sign-in/sign-in.contents.html",
        "/apps/user-flow/app/auth/sign-out/sign-out.contents.html",
        "/apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html",
        "/apps/user-flow/app/auth/sign-up/profile/profile.contents.html",
        "/apps/user-flow/app/auth/sign-up/sign-up.contents.html",
        "/apps/user-flow/app/auth/sign-up/sso-only/sso-only.contents.html",
        "/apps/user-flow/app/auth/sign-up/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [
        "error-404-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Auth card body section — inner scrollable content area of the centered auth card shell.",
        "keywords": [
          "auth",
          "card",
          "content",
          "body",
          "section",
          "shell",
          "inner"
        ]
      }
    },
    {
      "name": "error-404-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/404/404.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "error",
        "description": "Error 404 page actions — go home and go back buttons for not-found pages.",
        "keywords": [
          "error",
          "404",
          "not",
          "found",
          "actions",
          "home",
          "back",
          "navigation"
        ]
      }
    },
    {
      "name": "error-500",
      "kind": "page",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/500/500.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "error-500-actions"
      ],
      "metadata": {
        "domain": "error",
        "description": "500 server-error page. Card-shaped error message with warning icon, server-error heading, trace ID, status link, and retry action.",
        "keywords": [
          "500",
          "server",
          "error",
          "internal",
          "page",
          "warning",
          "status",
          "retry",
          "trace",
          "incident"
        ],
        "related": [
          "error-404",
          "error-maintenance",
          "auth-forbidden"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "error-500-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/500/500.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "error",
        "description": "Error 500 page actions — retry and contact support buttons for server errors.",
        "keywords": [
          "error",
          "500",
          "server",
          "error",
          "actions",
          "retry",
          "support"
        ]
      }
    },
    {
      "name": "error-maintenance",
      "kind": "page",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/maintenance/maintenance.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "error-maintenance-actions"
      ],
      "metadata": {
        "domain": "error",
        "description": "Maintenance/scheduled-downtime page. Card-shaped notice with wrench icon, maintenance heading, estimated downtime, and status-page link.",
        "keywords": [
          "maintenance",
          "downtime",
          "scheduled",
          "service",
          "unavailable",
          "status",
          "estimated",
          "outage"
        ],
        "related": [
          "error-404",
          "error-500"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "error-maintenance-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/errors/app/maintenance/maintenance.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "error",
        "description": "Maintenance page actions — status page link and notification signup.",
        "keywords": [
          "error",
          "maintenance",
          "actions",
          "status",
          "page",
          "notify",
          "signup"
        ]
      }
    },
    {
      "name": "playground-a2ui",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui/a2ui.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "A2UI editor playground — full A2UI composition editor interface.",
        "keywords": [
          "playground",
          "a2ui",
          "editor",
          "composition",
          "interface"
        ]
      }
    },
    {
      "name": "editor-toolbar-import-export",
      "kind": "block",
      "primary": "editor-toolbar",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui-editor/a2ui-editor.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Editor toolbar with import / export — an app-editor top band carrying a title with icon and a live document-meta subtitle, plus a trailing action cluster: an Import button, an Export popover menu (download JSON, copy JSON, copy HTML, copy share URL, reset), and a theme toggle. The standard authoring-tool header bar.",
        "keywords": [
          "editor",
          "toolbar",
          "header",
          "import",
          "export",
          "popover",
          "menu",
          "download",
          "json",
          "copy",
          "clipboard",
          "share",
          "url",
          "reset",
          "theme",
          "toggle",
          "authoring",
          "tool",
          "top",
          "band",
          "title",
          "document",
          "meta",
          "actions",
          "toolbar",
          "bar",
          "app",
          "chrome",
          "editor",
          "header"
        ]
      }
    },
    {
      "name": "editor-statusbar-ready",
      "kind": "block",
      "primary": "editor-statusbar",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui-editor/a2ui-editor.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Editor status bar — a thin bottom band showing a status icon, a short state heading (Ready), a longer descriptive line, and a right-aligned monospace selection indicator. The persistent at-a-glance footer for an authoring tool or IDE-like surface.",
        "keywords": [
          "editor",
          "status",
          "bar",
          "footer",
          "bottom",
          "band",
          "ready",
          "state",
          "indicator",
          "selection",
          "monospace",
          "icon",
          "heading",
          "description",
          "statusbar",
          "app",
          "footer",
          "ide",
          "editor",
          "chrome",
          "current",
          "state",
          "info",
          "line",
          "save",
          "status"
        ]
      }
    },
    {
      "name": "searchable-picker-modal",
      "kind": "block",
      "primary": "modal-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui-editor/a2ui-editor.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "overlay",
        "description": "Searchable picker modal — a small dialog that inserts an item: a heading, a context note showing the target, an optional 'into slot' select, a search input with a magnifying-glass prefix, a scrollable listbox of results, and a Cancel action. The command-palette style add / insert / pick-from-catalog overlay.",
        "keywords": [
          "searchable",
          "picker",
          "modal",
          "command",
          "palette",
          "insert",
          "add",
          "dialog",
          "overlay",
          "search",
          "input",
          "listbox",
          "catalog",
          "choose",
          "select",
          "component",
          "quick",
          "add",
          "filter",
          "results",
          "magnifying",
          "glass",
          "into",
          "slot",
          "picker",
          "popup",
          "chooser",
          "fuzzy",
          "search",
          "add",
          "item"
        ]
      }
    },
    {
      "name": "library-browser-search-filter",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui-editor/a2ui-editor.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Library browser with search and filter — a panel pairing a search input with a domain / category dropdown above a scrollable listbox of results and a status line + Cancel in the footer. The filterable 'browse the catalog / template gallery / asset library' picker body.",
        "keywords": [
          "library",
          "browser",
          "search",
          "filter",
          "catalog",
          "gallery",
          "templates",
          "assets",
          "picker",
          "domain",
          "category",
          "dropdown",
          "listbox",
          "results",
          "status",
          "footer",
          "browse",
          "find",
          "filter",
          "search",
          "input",
          "filterable",
          "list",
          "pattern",
          "library",
          "asset",
          "browser",
          "chunk",
          "browser"
        ]
      }
    },
    {
      "name": "file-upload-field",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/a2ui-editor/a2ui-editor.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "File-upload field — a labelled native file input restricted to specific file types, stacked label-over-control, with a Cancel action below. The minimal 'choose / browse for a file to upload or import' form control.",
        "keywords": [
          "file",
          "upload",
          "field",
          "input",
          "choose",
          "file",
          "browse",
          "attach",
          "import",
          "select",
          "document",
          "picker",
          "accept",
          "types",
          "json",
          "html",
          "upload",
          "control",
          "label",
          "native",
          "file",
          "input",
          "drag",
          "drop",
          "file",
          "chooser",
          "pick",
          "file",
          "from",
          "disk"
        ]
      }
    },
    {
      "name": "playground-css-channel",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/css-channel-demo/css-channel-demo.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "CSS channel playground — per-surface scoped CSS via updateStyles / removeStyles, demonstrated across two adjacent surfaces.",
        "keywords": [
          "playground",
          "css",
          "channel",
          "updateStyles",
          "removeStyles",
          "theme",
          "override",
          "scope",
          "containment",
          "a2ui",
          "parallel-channels"
        ]
      }
    },
    {
      "name": "chat-empty-state-hero",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/factory-chat/factory-chat.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat empty-state hero — the first-run view of an assistant: a centered prompt headline, a primary chat-input composer, and a row of starter-suggestion chips below it. The 'how would you like to start' landing shown before any messages exist.",
        "keywords": [
          "chat",
          "empty",
          "state",
          "hero",
          "first",
          "run",
          "new",
          "conversation",
          "start",
          "assistant",
          "landing",
          "welcome",
          "prompt",
          "headline",
          "composer",
          "chat",
          "input",
          "starters",
          "suggestions",
          "blank",
          "zero",
          "state",
          "get",
          "started",
          "ask",
          "anything",
          "onboarding",
          "chat",
          "home",
          "centered",
          "hero"
        ]
      }
    },
    {
      "name": "playground-gen-ui",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui/gen-ui.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Gen-UI playground — A2UI generation interface with prompt input and output preview.",
        "keywords": [
          "playground",
          "gen",
          "ui",
          "a2ui",
          "generate",
          "prompt",
          "output",
          "preview"
        ]
      }
    },
    {
      "name": "chat-message-user-byline",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat message user byline — a single identity row for a user's turn in a conversation: a small avatar, the sender's name in bold, a dot separator, then a muted relative timestamp. The header strip that sits above a chat bubble.",
        "keywords": [
          "chat",
          "message",
          "user",
          "byline",
          "header",
          "avatar",
          "name",
          "timestamp",
          "sender",
          "identity",
          "conversation",
          "turn",
          "bubble",
          "row",
          "relative",
          "time",
          "ago",
          "author",
          "who",
          "sent",
          "participant",
          "chat",
          "header",
          "sender",
          "line"
        ]
      }
    },
    {
      "name": "chat-message-assistant-byline",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat message assistant byline — the identity row for an AI turn: an accent sparkle icon, the word Assistant in bold, a dot separator, and a muted timestamp. The header strip that marks a response as coming from the assistant rather than a person.",
        "keywords": [
          "chat",
          "message",
          "assistant",
          "byline",
          "header",
          "sparkle",
          "icon",
          "ai",
          "agent",
          "name",
          "timestamp",
          "bot",
          "response",
          "turn",
          "conversation",
          "identity",
          "row",
          "assistant",
          "label",
          "now",
          "relative",
          "time",
          "who",
          "answered",
          "model",
          "reply",
          "header"
        ]
      }
    },
    {
      "name": "agent-pipeline-status-stages",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent pipeline-status stages — a vertical run of pipeline-status-ui rows tracking a generation pipeline through parsing, retrieval, and rendering, each stage marked completed or in-progress with a status message. The 'what is the AI doing right now' progress indicator.",
        "keywords": [
          "agent",
          "pipeline",
          "status",
          "stages",
          "progress",
          "steps",
          "parsing",
          "retrieval",
          "rendering",
          "generation",
          "completed",
          "in",
          "progress",
          "running",
          "indicator",
          "step",
          "tracker",
          "processing",
          "what",
          "the",
          "assistant",
          "is",
          "doing",
          "live",
          "status"
        ]
      }
    },
    {
      "name": "agent-tool-call-accordion",
      "kind": "block",
      "primary": "accordion-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent tool-call accordion — collapsible row whose trigger shows the tool name, a success check icon, a return summary (rows + latency), and a DONE status badge; expanding reveals the call's JSON arguments in a code block. The accordion-shaped variant of an agent tool-call result.",
        "keywords": [
          "agent",
          "tool",
          "call",
          "accordion",
          "function",
          "invocation",
          "collapsible",
          "trigger",
          "status",
          "badge",
          "done",
          "check",
          "icon",
          "json",
          "arguments",
          "code",
          "block",
          "latency",
          "rows",
          "returned",
          "get_revenue",
          "assistant",
          "trace",
          "expandable"
        ]
      }
    },
    {
      "name": "metadata-description-list",
      "kind": "block",
      "primary": "description-list-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Metadata description list — stacked key-value pairs for entity detail panels.",
        "keywords": [
          "metadata",
          "description",
          "list",
          "key",
          "value",
          "pairs",
          "detail",
          "panel",
          "stacked"
        ]
      }
    },
    {
      "name": "agent-citations-source-chips",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent citations source chips — a wrapping row of tag chips, each a numbered footnote reference to a data source the answer drew from (warehouse table, Salesforce object, Notion doc). The 'where this came from' provenance strip under an AI response.",
        "keywords": [
          "agent",
          "citations",
          "sources",
          "chips",
          "tags",
          "references",
          "footnotes",
          "provenance",
          "grounding",
          "evidence",
          "where",
          "data",
          "came",
          "from",
          "numbered",
          "superscript",
          "warehouse",
          "salesforce",
          "notion",
          "source",
          "attribution",
          "links",
          "retrieval"
        ]
      }
    },
    {
      "name": "image-thumbnail-grid",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Image thumbnail grid — a responsive three-column grid of rounded images at a fixed aspect ratio, collapsing to one column on small screens. A compact photo / screenshot gallery for attaching visual results.",
        "keywords": [
          "image",
          "thumbnail",
          "grid",
          "photo",
          "gallery",
          "screenshots",
          "pictures",
          "responsive",
          "three",
          "column",
          "rounded",
          "aspect",
          "ratio",
          "media",
          "attachments",
          "visual",
          "exports",
          "tiles",
          "picture",
          "grid",
          "photo",
          "grid"
        ]
      }
    },
    {
      "name": "image-caption-tile",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Image tile component — aspect-ratio image with optional caption overlay.",
        "keywords": [
          "image",
          "tile",
          "photo",
          "caption",
          "media",
          "gallery",
          "aspect",
          "ratio",
          "caption",
          "image",
          "with",
          "caption",
          "labeled",
          "image",
          "description",
          "photo"
        ]
      }
    },
    {
      "name": "map-with-location-list",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Map with location list — a wide map image paired with a side card listing the plotted places, each row a map-pin icon, a place name, and the entities at that location. The standard 'map + legend list' layout for geographic results.",
        "keywords": [
          "map",
          "location",
          "list",
          "places",
          "geographic",
          "pins",
          "markers",
          "field",
          "visits",
          "cities",
          "region",
          "side",
          "panel",
          "legend",
          "map",
          "pin",
          "icon",
          "address",
          "site",
          "list",
          "locations",
          "plotted",
          "map",
          "plus",
          "list",
          "geo",
          "map",
          "view",
          "directory"
        ]
      }
    },
    {
      "name": "agent-artifact-stub-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent artifact stub card — a compact card representing a generated file (icon, filename, type + line-count meta) with a trailing 'Open in canvas' button that promotes it to a full editor. The collapsed reference to an AI-produced document or code artifact.",
        "keywords": [
          "agent",
          "artifact",
          "stub",
          "card",
          "file",
          "generated",
          "document",
          "open",
          "in",
          "canvas",
          "promote",
          "editor",
          "filename",
          "code",
          "a2ui",
          "attachment",
          "reference",
          "deck",
          "interactive",
          "open",
          "expand",
          "artifact",
          "pill",
          "file",
          "card",
          "produced",
          "output"
        ]
      }
    },
    {
      "name": "schedule-meeting-form-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Schedule-meeting form card — a card-framed event form with title, a date picker and time select side by side, an attendees field, an attach-deck checkbox, and a footer with Cancel / Send invite actions. The canonical 'create calendar event / send invite' form.",
        "keywords": [
          "schedule",
          "meeting",
          "form",
          "event",
          "calendar",
          "invite",
          "appointment",
          "booking",
          "date",
          "picker",
          "time",
          "select",
          "attendees",
          "title",
          "attach",
          "send",
          "invite",
          "review",
          "create",
          "event",
          "scheduler",
          "form",
          "card",
          "footer",
          "actions",
          "confirm",
          "calendar-picker",
          "meeting",
          "request"
        ]
      }
    },
    {
      "name": "playground-render-preview",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/render-preview/render-preview.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Render preview playground — live component preview panel for the gen-UI editor.",
        "keywords": [
          "playground",
          "render",
          "preview",
          "component",
          "live",
          "editor"
        ]
      }
    },
    {
      "name": "playground-streams-bridge",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/genui/app/streams-bridge/streams-bridge.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Streams bridge playground — LLM streaming proxy connection demo.",
        "keywords": [
          "playground",
          "streams",
          "bridge",
          "llm",
          "streaming",
          "proxy",
          "connection"
        ]
      }
    },
    {
      "name": "dashboard-admin-page",
      "kind": "page",
      "primary": "admin-page",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [
        "page-header",
        "page-content"
      ],
      "nested": [
        "dashboard-page-header",
        "dashboard-tabs",
        "dashboard-overview-panel",
        "stat-cards-kpi-dashboard",
        "dashboard-chart-recent",
        "card-header-with-description",
        "analytics-sparklines-dashboard",
        "dashboard-transactions-table",
        "dashboard-team-actions-storage",
        "dashboard-team-list",
        "dashboard-quick-actions",
        "dashboard-storage-card",
        "dashboard-audience-panel",
        "dashboard-filter-bar",
        "analytics-chart",
        "dashboard-audience-kpis",
        "dashboard-country-list",
        "dashboard-acquisition-panel",
        "dashboard-traffic-channels",
        "dashboard-behavior-panel",
        "dashboard-pages-table",
        "dashboard-conversion-panel",
        "dashboard-funnel",
        "dashboard-cohort-retention",
        "dashboard-reports-panel",
        "dashboard-reports-table",
        "dashboard-notifications-panel",
        "notification-badges-feed",
        "period-comparison",
        "audit-log",
        "status-dashboard",
        "revenue-heatmap",
        "integrations-grid",
        "billing-overview",
        "code-snippet",
        "pricing-tiers",
        "product-tour",
        "sidebar-nav",
        "invite-members",
        "contact-form",
        "blog-post-card",
        "activity-feed",
        "role-management",
        "webhook-config",
        "team-members-list",
        "drawer-transaction",
        "drawer-report"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Admin dashboard page with tabbed analytics panels (overview, audience, acquisition, behavior, conversion, reports, notifications). Top-level surface for SaaS admin monitoring.",
        "keywords": [
          "admin",
          "dashboard",
          "analytics",
          "overview",
          "metrics",
          "tabs",
          "panels",
          "saas",
          "monitoring"
        ],
        "related": [
          "dashboard-overview-panel",
          "dashboard-audience-panel",
          "dashboard-acquisition-panel",
          "dashboard-behavior-panel"
        ],
        "tags": {
          "complexity": "complex",
          "layout": "page"
        }
      }
    },
    {
      "name": "dashboard-page-header",
      "kind": "block",
      "primary": "header",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-tabs"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Dashboard page header band with title, date-range picker, and tab navigation.",
        "keywords": [
          "dashboard",
          "header",
          "title",
          "date",
          "range",
          "tabs",
          "navigation"
        ],
        "related": [
          "dashboard-admin-page",
          "dashboard-overview-panel"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "header"
        }
      }
    },
    {
      "name": "dashboard-tabs",
      "kind": "block",
      "primary": "tabs-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Dashboard tab navigation — primary tab strip (overview / audience / behavior / acquisition / conversion).",
        "keywords": [
          "tabs",
          "tab-strip",
          "navigation",
          "sub-pages",
          "views",
          "switcher",
          "dashboard",
          "sections"
        ]
      }
    },
    {
      "name": "dashboard-overview-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "stat-cards-kpi-dashboard",
        "dashboard-chart-recent",
        "card-header-with-description",
        "analytics-sparklines-dashboard",
        "dashboard-transactions-table",
        "dashboard-team-actions-storage",
        "dashboard-team-list",
        "dashboard-quick-actions",
        "dashboard-storage-card"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Overview analytics panel: KPI grid + recent-activity chart + spark cards + transactions table + team/actions/storage strip.",
        "keywords": [
          "overview",
          "dashboard",
          "kpi",
          "metrics",
          "chart",
          "activity",
          "sparkline",
          "transactions",
          "team",
          "storage"
        ],
        "related": [
          "dashboard-kpi-grid",
          "dashboard-chart-recent",
          "dashboard-spark-cards",
          "dashboard-team-actions-storage"
        ],
        "tags": {
          "complexity": "complex",
          "layout": "panel"
        }
      }
    },
    {
      "name": "stat-cards-kpi-dashboard",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "KPI stat cards dashboard — grid of stat-ui cards each showing a label, large numeric value, trend delta (up/down), and icon. Revenue, subscriptions, sales, and active-user metrics.",
        "keywords": [
          "stat",
          "cards",
          "kpi",
          "dashboard",
          "stat-ui",
          "revenue",
          "users",
          "growth",
          "metrics",
          "grid",
          "trend",
          "delta",
          "change",
          "value",
          "label",
          "icon",
          "currency",
          "sales",
          "active",
          "subscriptions",
          "kpi-grid",
          "numbers",
          "business-metrics"
        ]
      }
    },
    {
      "name": "dashboard-chart-recent",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "card-header-with-description"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Sales report split-pane: bar chart (monthly revenue) on the left with a recent sales customer list on the right. Two-column layout pairing a chart-ui bar chart with a sales feed.",
        "keywords": [
          "sales",
          "report",
          "bar",
          "chart",
          "chart-ui",
          "revenue",
          "monthly",
          "overview",
          "split",
          "pane",
          "two",
          "column",
          "side",
          "by",
          "side",
          "recent",
          "sales",
          "customer",
          "list",
          "timeseries",
          "graph",
          "trend",
          "responsive",
          "breakpoint"
        ],
        "related": [
          "dashboard-spark-cards",
          "dashboard-overview-panel"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "card-header-with-description",
      "kind": "block",
      "primary": "header",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Card header with description — card header slot showing heading + subtitle description pair.",
        "keywords": [
          "card",
          "header",
          "heading",
          "description",
          "subtitle",
          "pattern"
        ]
      }
    },
    {
      "name": "analytics-sparklines-dashboard",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "4-column web analytics cards with inline sparklines — each card pairs a headline metric value with a small trend sparkline chart. Page views, bounce rate, session duration, conversion metrics with mini-chart.",
        "keywords": [
          "analytics",
          "sparklines",
          "page-views",
          "bounce-rate",
          "session-duration",
          "conversion",
          "web-analytics",
          "mini-chart",
          "chart-ui",
          "inline-chart",
          "trend",
          "sparkline-chart",
          "sparklines",
          "dashboard",
          "analytics-dashboard",
          "web-metrics",
          "traffic"
        ]
      }
    },
    {
      "name": "dashboard-transactions-table",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Transactions data table — id, date, customer, amount, status badge per row + pagination footer.",
        "keywords": [
          "transactions",
          "data-table",
          "list",
          "orders",
          "sales",
          "payments",
          "rows",
          "pagination",
          "status-badge"
        ]
      }
    },
    {
      "name": "dashboard-team-actions-storage",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-team-list",
        "dashboard-quick-actions",
        "dashboard-storage-card"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Three-card strip combining team list + quick actions + storage usage card.",
        "keywords": [
          "team",
          "members",
          "quick",
          "actions",
          "storage",
          "usage",
          "limits",
          "sidebar",
          "responsive",
          "breakpoint"
        ],
        "related": [
          "dashboard-team-list",
          "dashboard-quick-actions",
          "dashboard-storage-card"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "row"
        }
      }
    },
    {
      "name": "dashboard-team-list",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Team members list card — avatars + names + roles with invite action.",
        "keywords": [
          "dashboard",
          "team",
          "members",
          "list",
          "avatars",
          "roles",
          "invite",
          "manage"
        ]
      }
    },
    {
      "name": "dashboard-quick-actions",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Quick actions card — common shortcut buttons for frequent dashboard tasks.",
        "keywords": [
          "dashboard",
          "quick",
          "actions",
          "shortcuts",
          "buttons",
          "frequent",
          "tasks"
        ]
      }
    },
    {
      "name": "dashboard-storage-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Storage usage card — used / total storage bar with tier breakdown and upgrade CTA.",
        "keywords": [
          "dashboard",
          "storage",
          "usage",
          "quota",
          "bar",
          "tier",
          "upgrade"
        ]
      }
    },
    {
      "name": "dashboard-audience-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-filter-bar",
        "analytics-chart",
        "dashboard-audience-kpis",
        "dashboard-country-list"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Audience analytics panel: filter bar + audience KPIs + country breakdown list.",
        "keywords": [
          "audience",
          "analytics",
          "demographics",
          "countries",
          "geography",
          "filter",
          "kpis"
        ],
        "related": [
          "dashboard-overview-panel",
          "dashboard-acquisition-panel",
          "dashboard-behavior-panel"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "panel"
        }
      }
    },
    {
      "name": "dashboard-filter-bar",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Toolbar/filter bar — search input + filter dropdowns + date-range picker + action buttons in one row.",
        "keywords": [
          "toolbar",
          "filter-bar",
          "search",
          "filters",
          "dropdowns",
          "date-range",
          "actions",
          "controls",
          "toolbar-icons"
        ]
      }
    },
    {
      "name": "analytics-chart",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "dashboard",
        "description": "Analytics dashboard with bar chart and line chart displayed side by side. Revenue bar chart on the left, sessions trend line chart on the right.",
        "keywords": [
          "analytics",
          "chart",
          "bar",
          "chart",
          "line",
          "chart",
          "side",
          "by",
          "side",
          "dashboard",
          "two",
          "column",
          "grid",
          "revenue",
          "sessions",
          "trend",
          "data",
          "visualization",
          "bar",
          "line",
          "analytics-chart"
        ]
      }
    },
    {
      "name": "dashboard-audience-kpis",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "dashboard",
        "description": "4-column audience KPI grid — unique visitors, sessions, avg. session, bounce rate.",
        "keywords": [
          "audience",
          "kpis",
          "metrics",
          "stats",
          "grid",
          "dashboard",
          "cards",
          "analytics",
          "responsive",
          "breakpoint"
        ]
      }
    },
    {
      "name": "dashboard-country-list",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Country traffic list card — top countries by pageview or user count with bar chart.",
        "keywords": [
          "dashboard",
          "country",
          "list",
          "traffic",
          "geo",
          "analytics",
          "pageviews"
        ]
      }
    },
    {
      "name": "dashboard-acquisition-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-traffic-channels"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Acquisition analytics panel: traffic channels breakdown.",
        "keywords": [
          "acquisition",
          "traffic",
          "channels",
          "marketing",
          "campaigns",
          "source",
          "referrals"
        ],
        "related": [
          "dashboard-overview-panel",
          "dashboard-audience-panel",
          "dashboard-conversion-panel"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "panel"
        }
      }
    },
    {
      "name": "dashboard-traffic-channels",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "dashboard",
        "description": "Traffic + channels acquisition grid — line chart (2/3) + donut (1/3) responsive split layout.",
        "keywords": [
          "traffic",
          "channels",
          "acquisition",
          "analytics",
          "chart",
          "layout",
          "grid",
          "responsive",
          "breakpoint"
        ]
      }
    },
    {
      "name": "dashboard-behavior-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-pages-table"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Behavior analytics panel: user behavior metrics and events.",
        "keywords": [
          "behavior",
          "events",
          "user",
          "interactions",
          "engagement",
          "actions"
        ],
        "related": [
          "dashboard-overview-panel",
          "dashboard-audience-panel",
          "dashboard-acquisition-panel"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "panel"
        }
      }
    },
    {
      "name": "dashboard-pages-table",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Top pages table card — page title, views, bounce rate, avg time on page.",
        "keywords": [
          "dashboard",
          "pages",
          "table",
          "analytics",
          "top",
          "content",
          "views",
          "bounce",
          "rate"
        ]
      }
    },
    {
      "name": "dashboard-conversion-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-funnel",
        "dashboard-cohort-retention"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Conversion analytics panel: funnel + goals.",
        "keywords": [
          "conversion",
          "funnel",
          "goals",
          "checkout",
          "signup",
          "purchases",
          "revenue"
        ],
        "related": [
          "dashboard-acquisition-panel",
          "dashboard-reports-panel"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "panel"
        }
      }
    },
    {
      "name": "dashboard-funnel",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Conversion funnel visualization — sequential stages with counts, drop-off rates, and conversion percentages.",
        "keywords": [
          "funnel",
          "conversion",
          "stages",
          "drop-off",
          "rate",
          "analytics",
          "metrics",
          "flow",
          "customer-journey"
        ]
      }
    },
    {
      "name": "dashboard-cohort-retention",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Cohort retention table card — weekly retention heatmap grid showing user cohort activity.",
        "keywords": [
          "dashboard",
          "cohort",
          "retention",
          "heatmap",
          "table",
          "analytics",
          "users",
          "weekly"
        ]
      }
    },
    {
      "name": "dashboard-reports-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "dashboard-reports-table"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Reports panel: saved/scheduled report list.",
        "keywords": [
          "reports",
          "analytics",
          "scheduled",
          "exports",
          "saved",
          "insights"
        ],
        "related": [
          "dashboard-overview-panel",
          "dashboard-conversion-panel"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "panel"
        }
      }
    },
    {
      "name": "dashboard-reports-table",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Reports list table card — scheduled or saved report entries with run/export actions.",
        "keywords": [
          "dashboard",
          "reports",
          "table",
          "list",
          "scheduled",
          "saved",
          "export",
          "actions"
        ]
      }
    },
    {
      "name": "dashboard-notifications-panel",
      "kind": "panel",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [
        "notification-badges-feed"
      ],
      "metadata": {
        "domain": "dashboard",
        "description": "Notifications panel: recent alerts and notifications list.",
        "keywords": [
          "notifications",
          "alerts",
          "events",
          "feed",
          "updates",
          "messages"
        ],
        "related": [
          "dashboard-team-actions-storage"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "panel"
        }
      }
    },
    {
      "name": "notification-badges-feed",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Notification center feed card — recent alerts and activity with unread badge-ui indicators per item, segmented filter (all/unread/mentions), and mark-all-read action.",
        "keywords": [
          "notification",
          "center",
          "notifications",
          "feed",
          "activity",
          "timeline",
          "unread",
          "badge",
          "badge-ui",
          "notification",
          "badge",
          "alert",
          "indicator",
          "mark",
          "read",
          "segmented",
          "filter",
          "mentions",
          "dashboard",
          "badges",
          "notification-badges",
          "center",
          "unread"
        ]
      }
    },
    {
      "name": "period-comparison",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "dashboard",
        "description": "Metric comparison cards showing this month vs last month for revenue, signups, and churn.",
        "keywords": [
          "period",
          "comparison",
          "metric",
          "cards",
          "this",
          "month",
          "last",
          "month",
          "revenue",
          "signups",
          "churn",
          "delta",
          "trend",
          "comparison",
          "period-comparison",
          "month-over-month"
        ]
      }
    },
    {
      "name": "audit-log",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Audit log table with user, action, resource, IP address, and timestamp columns.",
        "keywords": [
          "audit",
          "log",
          "table",
          "user",
          "action",
          "resource",
          "IP",
          "address",
          "timestamp",
          "columns",
          "audit-log",
          "security",
          "compliance",
          "history"
        ]
      }
    },
    {
      "name": "status-dashboard",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "System status page with service health rows, uptime percentage, and incident history.",
        "keywords": [
          "system",
          "status",
          "service",
          "health",
          "uptime",
          "percentage",
          "incident",
          "history",
          "status-dashboard",
          "operational",
          "degraded"
        ]
      }
    },
    {
      "name": "revenue-heatmap",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Heatmap showing revenue activity by day of week and hour of day.",
        "keywords": [
          "heatmap",
          "revenue",
          "activity",
          "day",
          "week",
          "hour",
          "time",
          "grid",
          "heat-map",
          "heatmap-ui",
          "activity-heatmap",
          "sales-heatmap"
        ]
      }
    },
    {
      "name": "integrations-grid",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Integrations page with cards for Slack, GitHub, Jira, and Linear showing connected status.",
        "keywords": [
          "integrations",
          "page",
          "cards",
          "Slack",
          "GitHub",
          "Jira",
          "Linear",
          "connected",
          "status",
          "integration-card-ui",
          "connected-apps",
          "oauth",
          "third-party",
          "settings",
          "marketplace",
          "connect"
        ]
      }
    },
    {
      "name": "billing-overview",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Billing overview with current plan card, usage meter, next invoice date, and upgrade button.",
        "keywords": [
          "billing",
          "overview",
          "current",
          "plan",
          "usage",
          "meter",
          "next",
          "invoice",
          "date",
          "upgrade",
          "button",
          "billing-overview",
          "plan",
          "card",
          "subscription"
        ]
      }
    },
    {
      "name": "code-snippet",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "Code snippet block with syntax highlighting, language selector, and copy button.",
        "keywords": [
          "code",
          "snippet",
          "block",
          "syntax",
          "highlighting",
          "language",
          "selector",
          "copy",
          "button",
          "code-ui",
          "code-snippet",
          "developer",
          "documentation"
        ]
      }
    },
    {
      "name": "pricing-tiers",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Pricing page with free, pro, and enterprise tiers. Three-column card layout with features and CTA buttons.",
        "keywords": [
          "pricing",
          "tiers",
          "free",
          "pro",
          "enterprise",
          "plans",
          "card",
          "features",
          "CTA",
          "pricing-page",
          "tier-cards",
          "subscription",
          "monthly",
          "annual"
        ]
      }
    },
    {
      "name": "product-tour",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Product tour spotlight highlighting a dashboard element with step counter and next button.",
        "keywords": [
          "product",
          "tour",
          "spotlight",
          "step",
          "counter",
          "next",
          "button",
          "highlight",
          "dashboard",
          "element",
          "tour-step",
          "walkthrough",
          "onboarding",
          "feature-tour"
        ]
      }
    },
    {
      "name": "sidebar-nav",
      "kind": "block",
      "primary": "nav-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Sidebar navigation with grouped sections, icons, active state, and user menu at bottom.",
        "keywords": [
          "sidebar",
          "navigation",
          "sections",
          "grouped",
          "icons",
          "active",
          "state",
          "user-menu",
          "nav-item-ui",
          "nav-group-ui",
          "nav-ui",
          "sidebar-nav",
          "vertical-nav"
        ]
      }
    },
    {
      "name": "invite-members",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Invite team members modal with email input, role dropdown, and send invite button.",
        "keywords": [
          "invite",
          "team",
          "members",
          "modal",
          "email",
          "input",
          "role",
          "dropdown",
          "send",
          "invite",
          "button",
          "invite-members",
          "workspace",
          "add",
          "colleagues"
        ]
      }
    },
    {
      "name": "contact-form",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Contact form with name, email, subject, and message fields and a send button.",
        "keywords": [
          "contact",
          "form",
          "name",
          "email",
          "subject",
          "message",
          "send",
          "fields",
          "form-ui",
          "contact-us",
          "feedback"
        ]
      }
    },
    {
      "name": "blog-post-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "Blog post preview card with cover image, title, excerpt, author avatar, and read time.",
        "keywords": [
          "blog",
          "post",
          "preview",
          "card",
          "cover",
          "image",
          "title",
          "excerpt",
          "author",
          "avatar",
          "read-time",
          "blog-post",
          "article",
          "content-card"
        ]
      }
    },
    {
      "name": "activity-feed",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Activity feed with actor avatar, action description, resource link, and timestamp per row.",
        "keywords": [
          "activity",
          "feed",
          "actor",
          "avatar",
          "action",
          "description",
          "resource",
          "link",
          "timestamp",
          "user-actions",
          "events",
          "timeline",
          "recent-activity"
        ]
      }
    },
    {
      "name": "role-management",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Role management page listing viewer, editor, and admin roles with edit and delete actions.",
        "keywords": [
          "role",
          "management",
          "viewer",
          "editor",
          "admin",
          "roles",
          "list",
          "edit",
          "delete",
          "permissions",
          "role-based",
          "access",
          "control",
          "rbac"
        ]
      }
    },
    {
      "name": "webhook-config",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Webhook configuration form with endpoint URL, secret key, event checkboxes, and test button.",
        "keywords": [
          "webhook",
          "configuration",
          "form",
          "endpoint",
          "URL",
          "secret",
          "key",
          "event",
          "checkboxes",
          "test",
          "button",
          "webhook-config",
          "http",
          "callback",
          "integration"
        ]
      }
    },
    {
      "name": "team-members-list",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Team member list with avatar, name, email, role badge, status, and action menu per row.",
        "keywords": [
          "team",
          "members",
          "list",
          "avatar",
          "name",
          "email",
          "role",
          "badge",
          "status",
          "action",
          "menu",
          "team-member",
          "workspace",
          "users",
          "people",
          "management"
        ]
      }
    },
    {
      "name": "drawer-transaction",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Transaction detail drawer — individual payment details, status, metadata.",
        "keywords": [
          "drawer",
          "transaction",
          "detail",
          "payment",
          "billing",
          "amount",
          "status"
        ]
      }
    },
    {
      "name": "drawer-report",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/admin-dashboard/admin-dashboard.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Create or edit report drawer — report name, date range, metric selection, schedule.",
        "keywords": [
          "drawer",
          "report",
          "create",
          "edit",
          "schedule",
          "metrics",
          "analytics"
        ]
      }
    },
    {
      "name": "trial-banner",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Trial countdown row showing days remaining, the Pro features list, and an upgrade CTA.",
        "keywords": [
          "trial",
          "countdown",
          "days",
          "remaining",
          "features",
          "list",
          "upgrade",
          "CTA",
          "trial-banner",
          "free-trial",
          "days",
          "left",
          "upgrade-prompt"
        ]
      }
    },
    {
      "name": "segmented-control-billing-tabs",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Billing plan section — current plan card with a segmented control tab for billing interval (Monthly / Annual). Segmented-ui toggle switching between monthly and annual billing cycles.",
        "keywords": [
          "segmented",
          "control",
          "tabs",
          "segmented-ui",
          "segment-ui",
          "toggle",
          "billing",
          "interval",
          "monthly",
          "annual",
          "view-switcher",
          "settings",
          "billing",
          "plan",
          "subscription",
          "cycle",
          "switch",
          "upgrade",
          "current"
        ]
      }
    },
    {
      "name": "billing-progress-label",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Usage quota section — labeled progress bars with percentage and value/total meta for each metered resource (API calls, storage, team seats, workflow runs). Progress bar with label pattern using progress-row-ui.",
        "keywords": [
          "progress",
          "bar",
          "label",
          "usage",
          "quota",
          "progress-row-ui",
          "labeled",
          "progress",
          "metered",
          "resource",
          "limit",
          "storage",
          "seats",
          "API",
          "calls",
          "workflow",
          "runs",
          "percentage",
          "value",
          "total",
          "billing",
          "quota",
          "usage",
          "gauge"
        ]
      }
    },
    {
      "name": "billing-payment-method-card-on-file",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Payment method on file — a card-ui showing the saved credit card (brand, last four, expiry) with an Update action, plus billing-email and tax-ID fields. For the payment section of a billing or account settings page.",
        "keywords": [
          "billing",
          "payment",
          "method",
          "credit",
          "card",
          "on-file",
          "visa",
          "last-four",
          "expiry",
          "update",
          "card-ui",
          "avatar",
          "billing-email",
          "tax-id",
          "vat",
          "ein",
          "recurring",
          "charges",
          "settings",
          "subscription"
        ]
      }
    },
    {
      "name": "billing-invoice-history-table",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Invoice history — a card-ui wrapping a sortable striped table-ui of past invoices for download. For the invoices/receipts section of a billing page where accounting downloads past charges.",
        "keywords": [
          "billing",
          "invoice",
          "history",
          "table",
          "receipts",
          "past",
          "invoices",
          "download",
          "accounting",
          "sortable",
          "striped",
          "table-ui",
          "card-ui",
          "charges",
          "statements",
          "records",
          "data"
        ]
      }
    },
    {
      "name": "billing-cancel-subscription-danger",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Cancel subscription section — a danger alert-ui warning of feature loss above a destructive Cancel subscription button. The end-of-period cancellation block for a billing or account page.",
        "keywords": [
          "billing",
          "cancel",
          "subscription",
          "downgrade",
          "end",
          "danger",
          "alert-ui",
          "warning",
          "destructive",
          "button",
          "color-danger",
          "feature-loss",
          "settings",
          "churn",
          "unsubscribe",
          "terminate",
          "plan"
        ]
      }
    },
    {
      "name": "drawer-change-plan",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Change subscription plan drawer — plan comparison cards with upgrade/downgrade actions.",
        "keywords": [
          "drawer",
          "change",
          "plan",
          "subscription",
          "billing",
          "upgrade",
          "downgrade"
        ]
      }
    },
    {
      "name": "drawer-cancel-sub",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Cancel subscription drawer — cancellation reason form with pause-plan alternative.",
        "keywords": [
          "drawer",
          "cancel",
          "subscription",
          "billing",
          "churn",
          "reason",
          "form"
        ]
      }
    },
    {
      "name": "settings-integrations",
      "kind": "page",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Settings page for connecting third-party integrations — grid of integration cards (Figma, GitHub, Slack, etc.) with per-integration drawer dialogs",
        "keywords": [
          "settings",
          "integrations",
          "apps",
          "connections",
          "oauth",
          "third-party",
          "marketplace"
        ],
        "related": [
          "settings-members-invite",
          "settings-billing-plan",
          "settings-notifications"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "grid"
        }
      }
    },
    {
      "name": "section-with-stack",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Section with stack — content section wrapper with embedded stacked card layout.",
        "keywords": [
          "section",
          "stack",
          "content",
          "wrapper",
          "cards",
          "layout",
          "nested"
        ]
      }
    },
    {
      "name": "footer-primary-only",
      "kind": "block",
      "primary": "footer",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Marketing footer — single-row footer with brand logo and primary navigation links.",
        "keywords": [
          "footer",
          "marketing",
          "brand",
          "logo",
          "nav",
          "links",
          "minimal",
          "layout"
        ]
      }
    },
    {
      "name": "integrations-api-keys-card-list",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "API keys list — a count-plus-Create-key header above card-ui rows, each showing a key name, read/write scope badge, masked secret in a copyable code-ui block, and Reveal/Rotate actions. The programmatic-access section of an integrations or developer settings page.",
        "keywords": [
          "api",
          "keys",
          "secret",
          "tokens",
          "card-ui",
          "code-ui",
          "reveal",
          "rotate",
          "copy",
          "masked",
          "production",
          "staging",
          "read-write",
          "scope",
          "badge",
          "create-key",
          "programmatic",
          "access",
          "developer",
          "settings",
          "credentials",
          "data"
        ]
      }
    },
    {
      "name": "integrations-webhooks-empty-state",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Webhooks empty state — an empty-state-ui with a plug icon, heading, and description plus a primary Add webhook action. The zero-endpoints state for the outbound webhook delivery section of an integrations page.",
        "keywords": [
          "webhooks",
          "empty",
          "state",
          "empty-state-ui",
          "plug",
          "icon",
          "add",
          "webhook",
          "endpoint",
          "outbound",
          "events",
          "delivery",
          "zero",
          "no-webhooks",
          "integrations",
          "developer",
          "settings",
          "primary-action",
          "data"
        ]
      }
    },
    {
      "name": "drawer-slack",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Slack integration setup drawer — connect workspace with channel selection.",
        "keywords": [
          "drawer",
          "slack",
          "integration",
          "connect",
          "channel",
          "notifications",
          "setup"
        ]
      }
    },
    {
      "name": "drawer-github",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [
        "icon-text-row"
      ],
      "metadata": {
        "domain": "settings",
        "description": "GitHub integration setup drawer — connect repository for issue and PR syncing.",
        "keywords": [
          "drawer",
          "github",
          "integration",
          "connect",
          "repository",
          "issues",
          "pull",
          "requests"
        ]
      }
    },
    {
      "name": "icon-text-row",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Icon + text row — inline row combining a leading icon with a label, used in lists or menus.",
        "keywords": [
          "icon",
          "text",
          "row",
          "inline",
          "label",
          "list",
          "menu",
          "item"
        ]
      }
    },
    {
      "name": "drawer-smtp",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [
        "linked-record-row"
      ],
      "metadata": {
        "domain": "settings",
        "description": "SMTP email configuration drawer — custom email server settings for transactional email.",
        "keywords": [
          "drawer",
          "smtp",
          "email",
          "server",
          "configuration",
          "transactional",
          "custom"
        ]
      }
    },
    {
      "name": "linked-record-row",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Inline row with status icon, label, and trailing verification badge — for record validation lists, status panels, integration health",
        "keywords": [
          "record",
          "row",
          "status",
          "badge",
          "verified",
          "linked",
          "check"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "inline"
        }
      }
    },
    {
      "name": "drawer-figma",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Figma integration setup drawer — connect Figma account for design sync.",
        "keywords": [
          "drawer",
          "figma",
          "integration",
          "connect",
          "design",
          "sync",
          "token",
          "api"
        ]
      }
    },
    {
      "name": "drawer-gcal",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Google Calendar integration setup drawer — OAuth connect with permission scope list.",
        "keywords": [
          "drawer",
          "google",
          "calendar",
          "integration",
          "connect",
          "oauth",
          "sync",
          "events"
        ]
      }
    },
    {
      "name": "drawer-discord",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Discord integration setup drawer — connect Discord workspace for notifications.",
        "keywords": [
          "drawer",
          "discord",
          "integration",
          "connect",
          "bot",
          "notifications",
          "setup"
        ]
      }
    },
    {
      "name": "settings-members-invite",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [
        "labeled-textarea"
      ],
      "metadata": {
        "domain": "settings",
        "description": "Members invite section — email input field for inviting team members to the workspace.",
        "keywords": [
          "settings",
          "members",
          "invite",
          "email",
          "team",
          "workspace",
          "add"
        ]
      }
    },
    {
      "name": "labeled-textarea",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Labeled textarea form input — single field-ui wrapping a multiline textarea-ui with placeholder.",
        "keywords": [
          "textarea",
          "multiline",
          "text",
          "form",
          "input",
          "message",
          "comment",
          "notes",
          "field-ui"
        ]
      }
    },
    {
      "name": "members-active-table-search-filter",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Active members management — a search input plus a role-filter select above a sortable striped table-ui of team members. The canonical roster pane for a team/members settings page, with role and status columns.",
        "keywords": [
          "members",
          "team",
          "active",
          "roster",
          "table",
          "search",
          "filter",
          "role",
          "select",
          "sortable",
          "striped",
          "table-ui",
          "input-ui",
          "search-members",
          "admin",
          "member",
          "viewer",
          "settings",
          "people",
          "users",
          "management",
          "data"
        ]
      }
    },
    {
      "name": "members-pending-invites-cards",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Pending invites list — a stack of card-ui rows each showing an invited email, role badge, who invited them with expiry, and a Manage action. The awaiting-acceptance section of a team members page.",
        "keywords": [
          "members",
          "pending",
          "invites",
          "invitations",
          "awaiting",
          "acceptance",
          "card-ui",
          "envelope",
          "avatar",
          "badge",
          "role",
          "manage",
          "resend",
          "revoke",
          "expires",
          "invited-by",
          "team",
          "email",
          "settings",
          "navigation"
        ]
      }
    },
    {
      "name": "members-roles-permissions-list",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Role definitions list — a description-list-ui pairing each workspace role (Admin, Member, Viewer) with what it can do, plus a Configure custom roles button. The read-only roles reference on a team permissions page.",
        "keywords": [
          "members",
          "roles",
          "permissions",
          "description-list-ui",
          "admin",
          "member",
          "viewer",
          "role",
          "definitions",
          "access",
          "rbac",
          "configure",
          "custom-roles",
          "workspace",
          "what-each-role-can-do",
          "settings",
          "team",
          "capabilities"
        ]
      }
    },
    {
      "name": "drawer-invite",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Drawer side panel — slide-in right-anchored overlay panel showing invite detail with form fields, stats, and footer action buttons. Triggered from a table row.",
        "keywords": [
          "drawer",
          "side",
          "panel",
          "slide-in",
          "sheet",
          "overlay",
          "drawer-ui",
          "right",
          "left",
          "panel",
          "modal",
          "sidebar",
          "form",
          "invite",
          "team",
          "member",
          "email",
          "role",
          "settings"
        ]
      }
    },
    {
      "name": "drawer-custom-roles",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [
        "user-identity-row"
      ],
      "metadata": {
        "domain": "settings",
        "description": "Custom roles configuration drawer — create or edit permission role definition.",
        "keywords": [
          "drawer",
          "custom",
          "roles",
          "permissions",
          "settings",
          "RBAC",
          "access",
          "control"
        ]
      }
    },
    {
      "name": "user-identity-row",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/members/members.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "User identity row — avatar + name + email + role badge in a single flex row.",
        "keywords": [
          "user",
          "identity",
          "row",
          "avatar",
          "name",
          "email",
          "role",
          "badge",
          "member"
        ]
      }
    },
    {
      "name": "settings-profile-security",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Profile + security settings section — avatar + name fields, password change, 2FA toggle, session list.",
        "keywords": [
          "settings",
          "profile",
          "security",
          "account",
          "password",
          "2fa",
          "avatar",
          "sessions",
          "identity"
        ]
      }
    },
    {
      "name": "security-change-password-form",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Change password form — three stacked field-ui password inputs (current, new with a strength hint, confirm) above an Update password button. The canonical password-change block for an account security settings page.",
        "keywords": [
          "security",
          "change",
          "password",
          "form",
          "field-ui",
          "input-ui",
          "type-password",
          "current",
          "new",
          "confirm",
          "strength",
          "hint",
          "update",
          "credentials",
          "account",
          "settings",
          "forms",
          "reset",
          "rotate",
          "authentication"
        ]
      }
    },
    {
      "name": "settings-2fa-setup",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Two-factor authentication setup section — enroll an authenticator app (TOTP), hardware security key (WebAuthn/FIDO2), or SMS OTP as a second sign-in factor.",
        "keywords": [
          "two",
          "factor",
          "authentication",
          "2fa",
          "setup",
          "authenticator",
          "totp",
          "security",
          "code",
          "qr",
          "verification",
          "otp",
          "security-key",
          "enroll",
          "yubikey",
          "sms",
          "hardware",
          "webauthn"
        ]
      }
    },
    {
      "name": "security-active-sessions-devices",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Active sessions list — card-ui rows for each signed-in device showing device + browser, location, last-active time, a This device badge on the current one, and Revoke actions, with a Sign out all other sessions button. The signed-in-devices block of an account security page.",
        "keywords": [
          "security",
          "active",
          "sessions",
          "devices",
          "signed-in",
          "card-ui",
          "avatar",
          "desktop",
          "mobile",
          "laptop",
          "browser",
          "location",
          "revoke",
          "sign-out",
          "this-device",
          "badge",
          "last-active",
          "account",
          "settings",
          "data",
          "session-management"
        ]
      }
    },
    {
      "name": "security-delete-account-danger",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Delete account danger zone — a danger alert-ui warning of data loss, a type-your-email confirmation field-ui, and a destructive Delete my account button. The irreversible account-deletion block for an account security page.",
        "keywords": [
          "security",
          "delete",
          "account",
          "danger",
          "zone",
          "destructive",
          "alert-ui",
          "warning",
          "confirm",
          "email",
          "field-ui",
          "type-to-confirm",
          "trash",
          "irreversible",
          "purge",
          "data-loss",
          "settings",
          "close-account",
          "remove",
          "deactivate"
        ]
      }
    },
    {
      "name": "drawer-2fa-totp",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Authenticator app TOTP setup drawer — QR code scan + backup codes for 2FA.",
        "keywords": [
          "drawer",
          "2fa",
          "totp",
          "authenticator",
          "qr",
          "code",
          "backup",
          "setup",
          "security"
        ]
      }
    },
    {
      "name": "drawer-2fa-key",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Hardware security key 2FA setup drawer — register FIDO2/WebAuthn key for two-factor auth.",
        "keywords": [
          "drawer",
          "2fa",
          "security",
          "key",
          "webauthn",
          "fido",
          "hardware",
          "setup",
          "settings"
        ]
      }
    },
    {
      "name": "drawer-2fa-sms",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "SMS two-factor auth setup drawer — add phone number for SMS OTP codes.",
        "keywords": [
          "drawer",
          "2fa",
          "sms",
          "phone",
          "two-factor",
          "setup",
          "verification",
          "settings"
        ]
      }
    },
    {
      "name": "drawer-revoke-session",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Revoke active session drawer — confirm signing out a specific device or session.",
        "keywords": [
          "drawer",
          "revoke",
          "session",
          "sign",
          "out",
          "device",
          "security",
          "active"
        ]
      }
    },
    {
      "name": "drawer-delete-account",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/profile-security/profile-security.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Delete account confirmation drawer — final confirmation with data export reminder.",
        "keywords": [
          "drawer",
          "delete",
          "account",
          "confirmation",
          "permanent",
          "irreversible",
          "export"
        ]
      }
    },
    {
      "name": "settings-admin-page",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [
        "settings-general-form",
        "settings-toggle-switches",
        "settings-appearance-theme-panel",
        "settings-notification-channels-switches",
        "settings-notification-activity-checkboxes",
        "settings-privacy",
        "settings-danger-zone-delete-workspace",
        "drawer-delete-workspace"
      ],
      "metadata": {
        "domain": "settings",
        "description": "SaaS admin settings page with workspace details (name, slug, description, plan), defaults, preferences, appearance, notifications, and a danger zone for workspace deletion. Single-column layout with sectioned blocks and an inline delete drawer.",
        "keywords": [
          "settings",
          "preferences",
          "workspace",
          "account",
          "configure",
          "options",
          "setup",
          "admin",
          "saas",
          "notifications",
          "appearance",
          "defaults",
          "danger",
          "zone"
        ],
        "related": [
          "settings-general-form",
          "settings-appearance",
          "settings-notifications",
          "settings-page-shell",
          "drawer-delete-workspace"
        ],
        "tags": {
          "complexity": "complex",
          "layout": "page"
        }
      }
    },
    {
      "name": "settings-general-form",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "General workspace settings form — workspace name field, slug/URL field, logo upload, save button.",
        "keywords": [
          "settings",
          "general",
          "workspace",
          "profile",
          "name",
          "slug",
          "logo",
          "branding",
          "identity"
        ]
      }
    },
    {
      "name": "settings-toggle-switches",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Behavior preferences section with switch-ui toggles for enabling or disabling interface features — send-on-enter, response streaming, and token count display.",
        "keywords": [
          "settings",
          "toggle",
          "switches",
          "switch-ui",
          "enable",
          "disable",
          "preferences",
          "page",
          "behavior",
          "on",
          "off",
          "toggle",
          "control",
          "feature",
          "flag",
          "send-on-enter",
          "streaming"
        ]
      }
    },
    {
      "name": "settings-appearance-theme-panel",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Appearance customizer panel using theme-panel-ui — choose a named theme preset, toggle light or dark color scheme, and adjust parametric density and corner-radius sliders.",
        "keywords": [
          "theme",
          "customizer",
          "panel",
          "appearance",
          "dark",
          "light",
          "color",
          "scheme",
          "theme-panel-ui",
          "toggle",
          "color",
          "mode",
          "customization",
          "presets",
          "density",
          "radius",
          "parametric"
        ]
      }
    },
    {
      "name": "settings-notification-channels-switches",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Notification channels — a column of switch-ui toggles for the delivery channels (email, push, weekly digest, SMS) of a notifications settings section. Instant on/off per channel, no submit.",
        "keywords": [
          "settings",
          "notifications",
          "channels",
          "switch-ui",
          "toggle",
          "email",
          "push",
          "weekly-digest",
          "sms",
          "alerts",
          "delivery",
          "preferences",
          "instant",
          "on-off",
          "notification-settings",
          "workspace",
          "activity"
        ]
      }
    },
    {
      "name": "settings-notification-activity-checkboxes",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Notification activity triggers — a column of check-ui checkboxes selecting which event types (member joins, key rotated, threshold reached, billing, deploys) fire notifications. The event-filter half of a notifications settings section.",
        "keywords": [
          "settings",
          "notifications",
          "activity",
          "events",
          "check-ui",
          "checkbox",
          "triggers",
          "member-joins",
          "api-key-rotated",
          "usage-threshold",
          "billing",
          "deployment",
          "opt-in",
          "event-types",
          "notification-settings",
          "workspace",
          "preferences"
        ]
      }
    },
    {
      "name": "settings-privacy",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Privacy preferences — switch-ui toggles for usage analytics and marketing email opt-in.",
        "keywords": [
          "privacy",
          "settings",
          "usage",
          "analytics",
          "tracking",
          "marketing",
          "emails",
          "opt-in",
          "data",
          "collection",
          "switch",
          "toggle"
        ]
      }
    },
    {
      "name": "settings-danger-zone-delete-workspace",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Delete workspace danger zone — a labeled aside plus a danger alert-ui listing what is destroyed above a destructive Delete workspace button. The irreversible workspace-deletion block at the bottom of a workspace settings page.",
        "keywords": [
          "settings",
          "danger",
          "zone",
          "delete",
          "workspace",
          "destructive",
          "alert-ui",
          "warning",
          "irreversible",
          "remove",
          "projects",
          "members",
          "api-keys",
          "purge",
          "cannot-be-undone",
          "trash",
          "button",
          "color-danger",
          "account"
        ]
      }
    },
    {
      "name": "drawer-delete-workspace",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/saas/app/settings-page/settings-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Delete workspace confirmation drawer — type workspace name to confirm deletion.",
        "keywords": [
          "drawer",
          "delete",
          "workspace",
          "confirm",
          "type",
          "name",
          "permanent"
        ]
      }
    },
    {
      "name": "auth-team-invite",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/accept-invite/accept-invite.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-invite-team-card",
        "auth-invite-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Team invite landing card — accept or reject workspace membership invitation.",
        "keywords": [
          "auth",
          "team",
          "invite",
          "join",
          "workspace",
          "member",
          "accept"
        ]
      }
    },
    {
      "name": "auth-invite-team-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/accept-invite/accept-invite.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Team invitation acceptance card — inviter identity, team details, accept/decline actions.",
        "keywords": [
          "auth",
          "invite",
          "team",
          "accept",
          "decline",
          "join",
          "workspace"
        ]
      }
    },
    {
      "name": "auth-invite-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/accept-invite/accept-invite.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Team invite action buttons — accept invitation or decline.",
        "keywords": [
          "auth",
          "invite",
          "accept",
          "decline",
          "actions",
          "buttons"
        ]
      }
    },
    {
      "name": "auth-account-deleted",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/account-deleted/account-deleted.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-account-deleted-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Account deletion confirmation card — warning banner with undo window, recover and alternate-signin actions.",
        "keywords": [
          "auth",
          "account",
          "deleted",
          "recovery",
          "undo",
          "confirmation"
        ]
      }
    },
    {
      "name": "auth-account-deleted-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/account-deleted/account-deleted.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Account deletion action buttons — recover account + sign in with different account.",
        "keywords": [
          "auth",
          "account",
          "deleted",
          "recover",
          "actions",
          "buttons"
        ]
      }
    },
    {
      "name": "auth-locked-account",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/account-locked/account-locked.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-locked-recovery-options"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Locked account card — too many failed attempts, instructions to unlock.",
        "keywords": [
          "auth",
          "locked",
          "account",
          "blocked",
          "too",
          "many",
          "attempts",
          "security"
        ]
      }
    },
    {
      "name": "auth-locked-recovery-options",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/account-locked/account-locked.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Locked account recovery options — email reset link or contact support buttons.",
        "keywords": [
          "auth",
          "locked",
          "account",
          "recovery",
          "reset",
          "email",
          "support"
        ]
      }
    },
    {
      "name": "auth-email-verify",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/email-change/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-email-verify-confirm"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Email verification confirmation card — message sent prompt with resend link.",
        "keywords": [
          "auth",
          "email",
          "verify",
          "confirmation",
          "resend",
          "check",
          "inbox"
        ]
      }
    },
    {
      "name": "auth-email-verify-confirm",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/email-change/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Email verified success card — verification complete, proceed to app.",
        "keywords": [
          "auth",
          "email",
          "verified",
          "confirmed",
          "success",
          "next"
        ]
      }
    },
    {
      "name": "auth-forbidden",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/forbidden/forbidden.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-forbidden-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Forbidden / no permission card — user lacks access to requested resource.",
        "keywords": [
          "auth",
          "forbidden",
          "permission",
          "denied",
          "access",
          "restricted",
          "403"
        ]
      }
    },
    {
      "name": "auth-forbidden-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/forbidden/forbidden.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Forbidden state action buttons — go back or request access.",
        "keywords": [
          "auth",
          "forbidden",
          "actions",
          "back",
          "request",
          "access",
          "buttons"
        ]
      }
    },
    {
      "name": "auth-password-reset",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/forgot-password/forgot-password.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-password-reset-form"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Forgot-password entry card. Email input + Send reset link button. Initiates the password recovery flow.",
        "keywords": [
          "forgot",
          "password",
          "reset",
          "recovery",
          "auth",
          "email",
          "send",
          "link"
        ],
        "related": [
          "auth-new-password",
          "auth-password-reset-form",
          "auth-reset-sent",
          "auth-signin-card-password"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-password-reset-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/forgot-password/forgot-password.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Password reset email entry form — single email field with submit button.",
        "keywords": [
          "auth",
          "password",
          "reset",
          "forgot",
          "email",
          "form",
          "request"
        ]
      }
    },
    {
      "name": "auth-reset-sent",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/forgot-password/sent/sent.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Reset email sent confirmation card — check inbox message with resend option.",
        "keywords": [
          "auth",
          "reset",
          "password",
          "sent",
          "email",
          "confirmation",
          "check",
          "inbox"
        ]
      }
    },
    {
      "name": "auth-link-expired",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/link-expired/link-expired.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-link-expired-form"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Expired magic link / reset link card — explains expiry with resend option.",
        "keywords": [
          "auth",
          "link",
          "expired",
          "magic",
          "link",
          "reset",
          "password",
          "resend"
        ]
      }
    },
    {
      "name": "auth-link-expired-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/link-expired/link-expired.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Re-send expired link form — email field to trigger a new magic link or reset email.",
        "keywords": [
          "auth",
          "link",
          "expired",
          "resend",
          "email",
          "form",
          "request",
          "new"
        ]
      }
    },
    {
      "name": "auth-oauth-interstitial",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/oauth/callback/callback.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-content",
        "auth-oauth-fallback-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "OAuth interstitial card — redirecting to identity provider loading state.",
        "keywords": [
          "auth",
          "oauth",
          "loading",
          "redirect",
          "identity",
          "provider",
          "sso"
        ]
      }
    },
    {
      "name": "auth-oauth-fallback-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/oauth/callback/callback.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "OAuth fallback action buttons — use email/password instead after OAuth failure.",
        "keywords": [
          "auth",
          "oauth",
          "fallback",
          "email",
          "password",
          "alternative",
          "actions"
        ]
      }
    },
    {
      "name": "auth-new-password",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/reset-password/reset-password.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-new-password-form"
      ],
      "metadata": {
        "domain": "auth",
        "description": "New-password card. Reached via reset-link email; collects new password + confirmation + sets the password.",
        "keywords": [
          "reset",
          "password",
          "new",
          "auth",
          "set",
          "confirm",
          "change",
          "recovery"
        ],
        "related": [
          "auth-password-reset",
          "auth-new-password-form",
          "auth-signin-card-password"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-new-password-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/reset-password/reset-password.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "New password form — password + confirm password fields with strength indicator.",
        "keywords": [
          "auth",
          "password",
          "reset",
          "new",
          "confirm",
          "form",
          "strength"
        ]
      }
    },
    {
      "name": "auth-session-expired",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/session-expired/session-expired.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-session-expired-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Session expired page with re-login prompt and return to dashboard link. Inactivity timeout notice with sign-in again button.",
        "keywords": [
          "session",
          "expired",
          "page",
          "re-login",
          "prompt",
          "return",
          "dashboard",
          "auth",
          "timeout",
          "inactive",
          "sign-in-again",
          "session-expired",
          "re-authenticate"
        ]
      }
    },
    {
      "name": "auth-session-expired-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/session-expired/session-expired.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Session expired action buttons — sign back in or go to home.",
        "keywords": [
          "auth",
          "session",
          "expired",
          "actions",
          "buttons",
          "sign",
          "in",
          "home"
        ]
      }
    },
    {
      "name": "auth-signin-card-magic-link",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/magic-link/sent/sent.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Magic link confirmation screen with email icon, sent message, and resend option.",
        "keywords": [
          "magic",
          "link",
          "confirmation",
          "screen",
          "email",
          "icon",
          "sent",
          "message",
          "resend",
          "option",
          "magic-link",
          "passwordless",
          "check-email",
          "one-time-link"
        ],
        "related": [
          "auth-signin-card-email",
          "auth-signin-card-password",
          "auth-signin-card-otp"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-signin-card-mfa",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-mfa-fallback-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Multi-factor authentication challenge card. Shown after primary sign-in (email/password) succeeds; collects 2nd factor (TOTP code, SMS, push, etc.).",
        "keywords": [
          "mfa",
          "2fa",
          "signin",
          "auth",
          "challenge",
          "totp",
          "authenticator",
          "second",
          "factor",
          "verify"
        ],
        "related": [
          "auth-signin-card-email",
          "auth-signin-card-password",
          "auth-signin-card-otp",
          "auth-signin-card-recovery"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-mfa-fallback-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "MFA fallback action buttons — use backup code or contact support.",
        "keywords": [
          "auth",
          "mfa",
          "fallback",
          "backup",
          "code",
          "recovery",
          "actions"
        ]
      }
    },
    {
      "name": "auth-signin-card-recovery",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-mfa-recovery"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Account recovery sign-in form — enter backup email or phone number.",
        "keywords": [
          "auth",
          "recovery",
          "backup",
          "sign",
          "in",
          "alternative",
          "email",
          "phone"
        ]
      }
    },
    {
      "name": "auth-mfa-recovery",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "MFA recovery card — enter backup recovery code when primary MFA unavailable.",
        "keywords": [
          "auth",
          "mfa",
          "recovery",
          "backup",
          "code",
          "two-factor",
          "alternative"
        ]
      }
    },
    {
      "name": "auth-signin-card-otp",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/otp/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Sign-in card with one-time passcode (OTP) input. Used after the email-entry step for passwordless sign-in or as 2nd factor.",
        "keywords": [
          "otp",
          "signin",
          "auth",
          "passcode",
          "code",
          "verify",
          "one-time",
          "totp",
          "2fa"
        ],
        "related": [
          "auth-signin-card-email",
          "auth-signin-card-password",
          "auth-signin-card-magic-link",
          "auth-signin-card-mfa"
        ],
        "tags": {
          "complexity": "simple",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-signin-card-password",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/password/password.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-password-challenge"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Sign-in card with username/email + password input + Sign In button. Variant of auth-signin-card-email for password flow.",
        "keywords": [
          "login",
          "signin",
          "auth",
          "password",
          "username",
          "credentials"
        ],
        "related": [
          "auth-signin-card-email",
          "auth-signin-card-otp",
          "auth-signin-card-magic-link",
          "auth-signin-card-mfa"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-password-challenge",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/password/password.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Password challenge card — re-enter password to confirm sensitive action.",
        "keywords": [
          "auth",
          "password",
          "confirm",
          "challenge",
          "verify",
          "security",
          "sudo"
        ]
      }
    },
    {
      "name": "auth-signin-card-email",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/sign-in.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-email-entry",
        "auth-social-auths"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Sign-in card with email + Continue button + social-auth provider buttons (Google, Apple, GitHub)",
        "keywords": [
          "login",
          "signin",
          "auth",
          "email",
          "social",
          "oauth",
          "google",
          "apple",
          "github",
          "continue"
        ],
        "related": [
          "auth-signin-card-password",
          "auth-signin-card-otp",
          "auth-signin-card-magic-link",
          "auth-signin-card-mfa"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-email-entry",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/sign-in.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Generic email-only entry form — single email field-ui + Continue submit. Reusable email-collection step.",
        "keywords": [
          "email",
          "form",
          "newsletter",
          "signup",
          "waitlist",
          "subscribe",
          "entry",
          "contact-collect"
        ]
      }
    },
    {
      "name": "auth-social-auths",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-in/sign-in.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Social auth button list — sign-in with Google, GitHub, or SSO identity providers.",
        "keywords": [
          "auth",
          "social",
          "google",
          "github",
          "sso",
          "oauth",
          "sign",
          "in",
          "providers"
        ]
      }
    },
    {
      "name": "auth-signout",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-out/sign-out.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-signout-actions"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Sign out confirmation card — confirm intentional sign out from current session.",
        "keywords": [
          "auth",
          "sign",
          "out",
          "logout",
          "confirmation",
          "confirm",
          "session",
          "end"
        ]
      }
    },
    {
      "name": "auth-signout-actions",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-out/sign-out.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Sign out action buttons — sign back in or return to home.",
        "keywords": [
          "auth",
          "sign",
          "out",
          "actions",
          "buttons",
          "home",
          "return"
        ]
      }
    },
    {
      "name": "auth-mfa-enrollment",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-mfa-enrollment-submit"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Multi-factor authentication enrollment card. Shown during sign-up; user scans QR code with authenticator app and confirms with a TOTP code.",
        "keywords": [
          "mfa",
          "2fa",
          "enrollment",
          "setup",
          "signup",
          "auth",
          "authenticator",
          "totp",
          "qr",
          "code",
          "scan"
        ],
        "related": [
          "auth-signup-entry",
          "auth-mfa-enrollment-submit",
          "auth-profile-setup",
          "auth-signin-card-mfa"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-mfa-enrollment-submit",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "MFA enrollment confirmation form — enter verification code to complete setup.",
        "keywords": [
          "auth",
          "mfa",
          "2fa",
          "two-factor",
          "code",
          "confirm",
          "enrollment",
          "verify"
        ]
      }
    },
    {
      "name": "auth-profile-setup",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/profile/profile.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-profile-form"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Profile setup card — initial profile details collection for new users.",
        "keywords": [
          "auth",
          "profile",
          "setup",
          "new",
          "account",
          "name",
          "avatar"
        ]
      }
    },
    {
      "name": "auth-profile-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/profile/profile.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Profile setup form — name, display name, and avatar for new account setup.",
        "keywords": [
          "auth",
          "profile",
          "setup",
          "name",
          "avatar",
          "display",
          "onboarding"
        ]
      }
    },
    {
      "name": "auth-signup-entry",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/sign-up.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-signup-email-entry",
        "auth-signup-social-auths"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Sign-up entry card with email + Continue button + social-auth providers (Google, Apple, GitHub). New-account variant of auth-signin-card-email.",
        "keywords": [
          "signup",
          "register",
          "new",
          "account",
          "auth",
          "email",
          "social",
          "oauth",
          "google",
          "apple",
          "github"
        ],
        "related": [
          "auth-signin-card-email",
          "auth-profile-setup",
          "auth-mfa-enrollment",
          "auth-signup-verify"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "card"
        }
      }
    },
    {
      "name": "auth-signup-email-entry",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/sign-up.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Sign-up email entry form — first step collecting email for account creation.",
        "keywords": [
          "auth",
          "sign",
          "up",
          "register",
          "email",
          "first",
          "step",
          "create",
          "account"
        ]
      }
    },
    {
      "name": "auth-signup-social-auths",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/sign-up.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "Social auth sign-up buttons — Google/GitHub/SAML SSO options for registration.",
        "keywords": [
          "auth",
          "sign",
          "up",
          "social",
          "google",
          "github",
          "sso",
          "oauth",
          "register"
        ]
      }
    },
    {
      "name": "auth-sso-required",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/sso-only/sso-only.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content",
        "auth-sso-providers"
      ],
      "metadata": {
        "domain": "auth",
        "description": "SSO required card — account must use SSO, direct password disabled notice.",
        "keywords": [
          "auth",
          "sso",
          "required",
          "forced",
          "enterprise",
          "identity",
          "policy"
        ]
      }
    },
    {
      "name": "auth-sso-providers",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/sso-only/sso-only.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "auth",
        "description": "SSO provider selection — list of enterprise identity providers to choose from.",
        "keywords": [
          "auth",
          "sso",
          "enterprise",
          "identity",
          "providers",
          "saml",
          "okta",
          "azure",
          "ad"
        ]
      }
    },
    {
      "name": "auth-signup-verify",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/auth/sign-up/verify/verify.contents.html"
      ],
      "slots": [],
      "nested": [
        "auth-card-header",
        "auth-card-content"
      ],
      "metadata": {
        "domain": "auth",
        "description": "Sign-up email verification prompt — check your inbox to activate account.",
        "keywords": [
          "auth",
          "sign",
          "up",
          "verify",
          "email",
          "activation",
          "check",
          "inbox"
        ]
      }
    },
    {
      "name": "onb-story-pane",
      "kind": "block",
      "primary": "aside",
      "instances": 10,
      "pages": [
        "/apps/user-flow/app/onboarding/browser-extension/browser-extension.contents.html",
        "/apps/user-flow/app/onboarding/complete/complete.contents.html",
        "/apps/user-flow/app/onboarding/connect-source/connect-source.contents.html",
        "/apps/user-flow/app/onboarding/first-action/first-action.contents.html",
        "/apps/user-flow/app/onboarding/import-data/import-data.contents.html",
        "/apps/user-flow/app/onboarding/mobile-app/mobile-app.contents.html",
        "/apps/user-flow/app/onboarding/mode/mode.contents.html",
        "/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.contents.html",
        "/apps/user-flow/app/onboarding/review/review.contents.html",
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Onboarding left story pane — decorative panel with brand illustration or benefit bullets.",
        "keywords": [
          "onboarding",
          "sidebar",
          "story",
          "pane",
          "illustration",
          "benefits",
          "brand"
        ]
      }
    },
    {
      "name": "onb-step-header",
      "kind": "block",
      "primary": "header",
      "instances": 10,
      "pages": [
        "/apps/user-flow/app/onboarding/browser-extension/browser-extension.contents.html",
        "/apps/user-flow/app/onboarding/complete/complete.contents.html",
        "/apps/user-flow/app/onboarding/connect-source/connect-source.contents.html",
        "/apps/user-flow/app/onboarding/first-action/first-action.contents.html",
        "/apps/user-flow/app/onboarding/import-data/import-data.contents.html",
        "/apps/user-flow/app/onboarding/mobile-app/mobile-app.contents.html",
        "/apps/user-flow/app/onboarding/mode/mode.contents.html",
        "/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.contents.html",
        "/apps/user-flow/app/onboarding/review/review.contents.html",
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Onboarding step header — step number, title, and context for current flow step.",
        "keywords": [
          "onboarding",
          "step",
          "header",
          "title",
          "number",
          "progress",
          "context"
        ]
      }
    },
    {
      "name": "onb-extension-install",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/browser-extension/browser-extension.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Browser extension install step — prompt to add the desktop or browser extension.",
        "keywords": [
          "onboarding",
          "extension",
          "install",
          "browser",
          "chrome",
          "desktop",
          "setup"
        ]
      }
    },
    {
      "name": "onb-step-footer",
      "kind": "block",
      "primary": "footer",
      "instances": 10,
      "pages": [
        "/apps/user-flow/app/onboarding/browser-extension/browser-extension.contents.html",
        "/apps/user-flow/app/onboarding/complete/complete.contents.html",
        "/apps/user-flow/app/onboarding/connect-source/connect-source.contents.html",
        "/apps/user-flow/app/onboarding/first-action/first-action.contents.html",
        "/apps/user-flow/app/onboarding/import-data/import-data.contents.html",
        "/apps/user-flow/app/onboarding/mobile-app/mobile-app.contents.html",
        "/apps/user-flow/app/onboarding/mode/mode.contents.html",
        "/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.contents.html",
        "/apps/user-flow/app/onboarding/review/review.contents.html",
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [],
      "nested": [
        "onb-step-progress"
      ],
      "metadata": {
        "domain": "onboarding",
        "description": "Onboarding step footer — back / next navigation controls for multi-step flow.",
        "keywords": [
          "onboarding",
          "step",
          "footer",
          "navigation",
          "back",
          "next",
          "progress"
        ]
      }
    },
    {
      "name": "onb-step-progress",
      "kind": "block",
      "primary": "step-progress-ui",
      "instances": 10,
      "pages": [
        "/apps/user-flow/app/onboarding/browser-extension/browser-extension.contents.html",
        "/apps/user-flow/app/onboarding/complete/complete.contents.html",
        "/apps/user-flow/app/onboarding/connect-source/connect-source.contents.html",
        "/apps/user-flow/app/onboarding/first-action/first-action.contents.html",
        "/apps/user-flow/app/onboarding/import-data/import-data.contents.html",
        "/apps/user-flow/app/onboarding/mobile-app/mobile-app.contents.html",
        "/apps/user-flow/app/onboarding/mode/mode.contents.html",
        "/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.contents.html",
        "/apps/user-flow/app/onboarding/review/review.contents.html",
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Onboarding progress stepper — visual indicator of current and remaining setup steps.",
        "keywords": [
          "onboarding",
          "stepper",
          "progress",
          "indicator",
          "steps",
          "flow"
        ]
      }
    },
    {
      "name": "onb-completion",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/complete/complete.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Onboarding completion screen — congratulations message with start app CTA.",
        "keywords": [
          "onboarding",
          "complete",
          "finish",
          "done",
          "start",
          "get",
          "started"
        ]
      }
    },
    {
      "name": "onb-provider-tiles",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/connect-source/connect-source.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Integration provider tile grid — select which services to connect during setup.",
        "keywords": [
          "onboarding",
          "integrations",
          "providers",
          "connect",
          "tiles",
          "grid",
          "setup"
        ]
      }
    },
    {
      "name": "onb-tutorial-steps",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/first-action/first-action.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Tutorial step list — interactive checklist of setup tasks with completion tracking.",
        "keywords": [
          "onboarding",
          "tutorial",
          "steps",
          "checklist",
          "tasks",
          "setup",
          "guide"
        ]
      }
    },
    {
      "name": "onb-import-picker",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/import-data/import-data.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Data import source picker — choose where to import existing data from.",
        "keywords": [
          "onboarding",
          "import",
          "data",
          "source",
          "picker",
          "migration",
          "connect"
        ]
      }
    },
    {
      "name": "onb-mobile-handoff",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/mobile-app/mobile-app.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Mobile handoff prompt — send a link to continue setup on mobile device.",
        "keywords": [
          "onboarding",
          "mobile",
          "app",
          "handoff",
          "qr",
          "code",
          "link",
          "continue"
        ]
      }
    },
    {
      "name": "onb-persona-picker",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/mode/mode.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Role/persona picker — select job role or use-case during onboarding flow.",
        "keywords": [
          "onboarding",
          "persona",
          "role",
          "use-case",
          "select",
          "audience",
          "developer",
          "designer"
        ]
      }
    },
    {
      "name": "onb-notification-prefs",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Notification preferences setup — choose which alerts to receive during onboarding.",
        "keywords": [
          "onboarding",
          "notifications",
          "preferences",
          "setup",
          "alerts",
          "email",
          "push"
        ]
      }
    },
    {
      "name": "onb-settings-review",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/review/review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Settings review summary — review selected preferences before completing setup.",
        "keywords": [
          "onboarding",
          "review",
          "settings",
          "summary",
          "confirm",
          "finish"
        ]
      }
    },
    {
      "name": "drawer-role",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/review/review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Edit member role drawer — change team member permissions and access level.",
        "keywords": [
          "drawer",
          "role",
          "edit",
          "member",
          "permissions",
          "access",
          "level",
          "settings"
        ]
      }
    },
    {
      "name": "drawer-source",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/review/review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Data source connection drawer — configure and authenticate a data source.",
        "keywords": [
          "drawer",
          "data",
          "source",
          "connect",
          "configure",
          "authenticate",
          "onboarding"
        ]
      }
    },
    {
      "name": "drawer-data-start",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/review/review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Data import start drawer — choose import method (CSV, API, migration tool).",
        "keywords": [
          "drawer",
          "data",
          "import",
          "start",
          "csv",
          "api",
          "migration",
          "onboarding"
        ]
      }
    },
    {
      "name": "drawer-first-dashboard",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/review/review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "First dashboard setup drawer — guided wizard to create initial dashboard.",
        "keywords": [
          "drawer",
          "first",
          "dashboard",
          "setup",
          "create",
          "wizard",
          "onboarding",
          "guide"
        ]
      }
    },
    {
      "name": "onb-step-shell",
      "kind": "page",
      "primary": "main",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [
        "page-story",
        "page-header",
        "page-content",
        "page-footer"
      ],
      "nested": [
        "onb-story-pane",
        "onb-step-header",
        "onb-hero-welcome",
        "onb-step-footer",
        "onb-step-progress"
      ],
      "metadata": {
        "domain": "onboarding",
        "description": "Multi-step onboarding wizard shell. Header with step-progress indicator, welcome/setup title, description, and content section. Wraps welcome → preferences → team-invite → complete sequence.",
        "keywords": [
          "onboarding",
          "welcome",
          "wizard",
          "multi",
          "step",
          "shell",
          "progress",
          "setup",
          "new",
          "user",
          "getting",
          "started"
        ],
        "related": [
          "reg-step-shell",
          "auth-signup-entry",
          "auth-profile-setup"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "page"
        }
      }
    },
    {
      "name": "onb-hero-welcome",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/onboarding/welcome/welcome.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "onboarding",
        "description": "Welcome hero — full-width welcome message with key value props list.",
        "keywords": [
          "onboarding",
          "welcome",
          "hero",
          "value",
          "props",
          "first",
          "screen"
        ]
      }
    },
    {
      "name": "reg-story-pane",
      "kind": "block",
      "primary": "aside",
      "instances": 18,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html",
        "/apps/user-flow/app/registration/billing/billing.contents.html",
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html",
        "/apps/user-flow/app/registration/confirmation/confirmation.contents.html",
        "/apps/user-flow/app/registration/departments/departments.contents.html",
        "/apps/user-flow/app/registration/done/done.contents.html",
        "/apps/user-flow/app/registration/import/import.contents.html",
        "/apps/user-flow/app/registration/integrations/integrations.contents.html",
        "/apps/user-flow/app/registration/invite/invite.contents.html",
        "/apps/user-flow/app/registration/legal/legal.contents.html",
        "/apps/user-flow/app/registration/org-review/org-review.contents.html",
        "/apps/user-flow/app/registration/personal/personal.contents.html",
        "/apps/user-flow/app/registration/plan/plan.contents.html",
        "/apps/user-flow/app/registration/profile/profile.contents.html",
        "/apps/user-flow/app/registration/support/support.contents.html",
        "/apps/user-flow/app/registration/team-size/team-size.contents.html",
        "/apps/user-flow/app/registration/use-case/use-case.contents.html",
        "/apps/user-flow/app/registration/workspace/workspace.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration left story pane — brand illustration and product value messaging panel.",
        "keywords": [
          "registration",
          "sidebar",
          "story",
          "pane",
          "brand",
          "illustration",
          "value"
        ]
      }
    },
    {
      "name": "business-address-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-address-form",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete business-address form — heading, a country select that drives the field set, then street / suite / city / state / postal fields laid out with city and state/zip sharing a row. The whole form composition with header and submit footer. Use for 'address form', 'billing address form', 'shipping address form', 'form with two-column fields'.",
        "keywords": [
          "address",
          "form",
          "business",
          "billing",
          "shipping",
          "mailing",
          "street",
          "city",
          "state",
          "region",
          "postal",
          "zip",
          "country",
          "select",
          "two-column",
          "row",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "full-form"
        ],
        "related": [
          "reg-address-form",
          "form-fields-two-column",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "address"
        }
      }
    },
    {
      "name": "reg-step-header",
      "kind": "block",
      "primary": "header",
      "instances": 18,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html",
        "/apps/user-flow/app/registration/billing/billing.contents.html",
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html",
        "/apps/user-flow/app/registration/confirmation/confirmation.contents.html",
        "/apps/user-flow/app/registration/departments/departments.contents.html",
        "/apps/user-flow/app/registration/done/done.contents.html",
        "/apps/user-flow/app/registration/import/import.contents.html",
        "/apps/user-flow/app/registration/integrations/integrations.contents.html",
        "/apps/user-flow/app/registration/invite/invite.contents.html",
        "/apps/user-flow/app/registration/legal/legal.contents.html",
        "/apps/user-flow/app/registration/org-review/org-review.contents.html",
        "/apps/user-flow/app/registration/personal/personal.contents.html",
        "/apps/user-flow/app/registration/plan/plan.contents.html",
        "/apps/user-flow/app/registration/profile/profile.contents.html",
        "/apps/user-flow/app/registration/support/support.contents.html",
        "/apps/user-flow/app/registration/team-size/team-size.contents.html",
        "/apps/user-flow/app/registration/use-case/use-case.contents.html",
        "/apps/user-flow/app/registration/workspace/workspace.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration step header — step title and progress label during multi-step signup.",
        "keywords": [
          "registration",
          "header",
          "step",
          "title",
          "progress",
          "context"
        ]
      }
    },
    {
      "name": "reg-address-form",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Address form — street + city + state/region + postal + country fields in 2-column grid.",
        "keywords": [
          "address",
          "form",
          "street",
          "city",
          "state",
          "country",
          "postal",
          "zip",
          "mailing",
          "shipping",
          "location"
        ]
      }
    },
    {
      "name": "reg-step-footer",
      "kind": "block",
      "primary": "footer",
      "instances": 18,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html",
        "/apps/user-flow/app/registration/billing/billing.contents.html",
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html",
        "/apps/user-flow/app/registration/confirmation/confirmation.contents.html",
        "/apps/user-flow/app/registration/departments/departments.contents.html",
        "/apps/user-flow/app/registration/done/done.contents.html",
        "/apps/user-flow/app/registration/import/import.contents.html",
        "/apps/user-flow/app/registration/integrations/integrations.contents.html",
        "/apps/user-flow/app/registration/invite/invite.contents.html",
        "/apps/user-flow/app/registration/legal/legal.contents.html",
        "/apps/user-flow/app/registration/org-review/org-review.contents.html",
        "/apps/user-flow/app/registration/personal/personal.contents.html",
        "/apps/user-flow/app/registration/plan/plan.contents.html",
        "/apps/user-flow/app/registration/profile/profile.contents.html",
        "/apps/user-flow/app/registration/support/support.contents.html",
        "/apps/user-flow/app/registration/team-size/team-size.contents.html",
        "/apps/user-flow/app/registration/use-case/use-case.contents.html",
        "/apps/user-flow/app/registration/workspace/workspace.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Registration step footer — back and continue navigation for multi-step signup.",
        "keywords": [
          "registration",
          "footer",
          "navigation",
          "back",
          "continue",
          "step",
          "form"
        ]
      }
    },
    {
      "name": "reg-step-progress",
      "kind": "block",
      "primary": "step-progress-ui",
      "instances": 18,
      "pages": [
        "/apps/user-flow/app/registration/address/address.contents.html",
        "/apps/user-flow/app/registration/billing/billing.contents.html",
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html",
        "/apps/user-flow/app/registration/confirmation/confirmation.contents.html",
        "/apps/user-flow/app/registration/departments/departments.contents.html",
        "/apps/user-flow/app/registration/done/done.contents.html",
        "/apps/user-flow/app/registration/import/import.contents.html",
        "/apps/user-flow/app/registration/integrations/integrations.contents.html",
        "/apps/user-flow/app/registration/invite/invite.contents.html",
        "/apps/user-flow/app/registration/legal/legal.contents.html",
        "/apps/user-flow/app/registration/org-review/org-review.contents.html",
        "/apps/user-flow/app/registration/personal/personal.contents.html",
        "/apps/user-flow/app/registration/plan/plan.contents.html",
        "/apps/user-flow/app/registration/profile/profile.contents.html",
        "/apps/user-flow/app/registration/support/support.contents.html",
        "/apps/user-flow/app/registration/team-size/team-size.contents.html",
        "/apps/user-flow/app/registration/use-case/use-case.contents.html",
        "/apps/user-flow/app/registration/workspace/workspace.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration progress indicator — stepper showing position in multi-step signup flow.",
        "keywords": [
          "registration",
          "stepper",
          "progress",
          "steps",
          "flow",
          "indicator"
        ]
      }
    },
    {
      "name": "payment-checkout-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-billing-card",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete payment / checkout form — heading, card number + expiry + CVC + cardholder fields (expiry and CVC share a row), a divider, then country + billing address + city / ZIP fields, and a Start trial submit footer. All payment fields required. The full checkout composition with header and footer. Use for 'payment form', 'checkout form', 'credit card form', 'billing details form'.",
        "keywords": [
          "payment",
          "form",
          "checkout",
          "credit",
          "card",
          "number",
          "expiry",
          "cvc",
          "cardholder",
          "billing",
          "address",
          "country",
          "city",
          "zip",
          "required",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "start-trial",
          "stripe",
          "purchase",
          "full-form"
        ],
        "related": [
          "payment-method-form",
          "billing-payment-method-card-on-file",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "complex",
          "form": "payment"
        }
      }
    },
    {
      "name": "reg-billing-card",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/billing/billing.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Credit card payment form — card number, expiry, CVV, cardholder name + submit row.",
        "keywords": [
          "payment",
          "credit-card",
          "form",
          "checkout",
          "billing",
          "card",
          "cvv",
          "expiry",
          "stripe",
          "purchase"
        ]
      }
    },
    {
      "name": "url-import-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-brand-scrape",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete URL-import form — heading, a single company-URL input, a found-status row with a re-scan button, then a column of result cards (logo, brand colors) each with an Edit action, and a submit footer. The full auto-fill / scrape form composition with header and footer. Use for 'url import form', 'auto-fill from website form', 'form with a single URL field and review cards'.",
        "keywords": [
          "url",
          "import",
          "form",
          "auto-fill",
          "scrape",
          "website",
          "company",
          "logo",
          "brand",
          "colors",
          "review",
          "edit",
          "single-field",
          "status",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-brand-scrape",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "url-import"
        }
      }
    },
    {
      "name": "reg-brand-scrape",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/brand-scrape/brand-scrape.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Brand import step — company URL field to auto-import logo and brand colors.",
        "keywords": [
          "registration",
          "brand",
          "scrape",
          "import",
          "url",
          "logo",
          "colors",
          "setup"
        ]
      }
    },
    {
      "name": "reg-success-summary",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/confirmation/confirmation.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration success summary — overview of what was configured + next steps.",
        "keywords": [
          "registration",
          "success",
          "summary",
          "configured",
          "overview",
          "next",
          "steps"
        ]
      }
    },
    {
      "name": "departments-checkbox-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/departments/departments.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-departments-toggle",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete multi-select checkbox form — heading, an info alert, a two-column grid of labelled checkboxes (some pre-checked), a divider, a custom add-row (name input + add button) with resulting tag chips, a defer checkbox, and a submit footer. The full checkbox-grid form composition with header and footer. Use for 'checkbox form', 'multi-select form', 'form with a grid of checkboxes and an add-custom row'.",
        "keywords": [
          "checkbox",
          "form",
          "multi-select",
          "grid",
          "departments",
          "toggle",
          "options",
          "pre-checked",
          "custom",
          "add-row",
          "tag",
          "chips",
          "divider",
          "defer",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-departments-toggle",
          "form-checkbox-group",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "checkbox"
        }
      }
    },
    {
      "name": "reg-departments-toggle",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/departments/departments.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Department toggle grid — select applicable departments during company setup.",
        "keywords": [
          "registration",
          "departments",
          "toggle",
          "select",
          "teams",
          "org",
          "chart"
        ]
      }
    },
    {
      "name": "reg-final-done",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/done/done.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration complete card — account ready, redirect to app action.",
        "keywords": [
          "registration",
          "done",
          "complete",
          "success",
          "start",
          "app",
          "redirect"
        ]
      }
    },
    {
      "name": "data-import-wizard",
      "kind": "block",
      "primary": "main",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/import/import.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-story-pane",
        "file-upload-form",
        "reg-step-header",
        "reg-import-picker",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Data import wizard — multi-step onboarding screen for migrating existing data from an external tool. Upload file or CSV, select source, confirm import with step-progress indicator.",
        "keywords": [
          "data",
          "import",
          "wizard",
          "upload",
          "file",
          "csv",
          "json",
          "migration",
          "source",
          "step",
          "progress",
          "upload-ui",
          "step-progress-ui",
          "multi-step",
          "import",
          "form",
          "registration",
          "onboarding"
        ]
      }
    },
    {
      "name": "file-upload-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/import/import.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-import-picker",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete data-import / file-upload form — heading, a source select, a file upload drop-zone field with an accepted-types hint, and a submit footer. The full upload-form composition with header and footer. Use for 'file upload form', 'import data form', 'form with a file drop zone and a select'.",
        "keywords": [
          "file",
          "upload",
          "form",
          "import",
          "data",
          "migration",
          "source",
          "select",
          "drop-zone",
          "accept",
          "file-types",
          "export",
          "hint",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-import-picker",
          "file-upload-dnd",
          "image-upload-preview",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "simple",
          "form": "upload"
        }
      }
    },
    {
      "name": "reg-import-picker",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/import/import.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Registration data import picker — select migration source during company setup.",
        "keywords": [
          "registration",
          "import",
          "data",
          "migration",
          "source",
          "connect",
          "picker"
        ]
      }
    },
    {
      "name": "integrations-connect-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-integrations-grid",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete integrations-connect form — heading, a two-column grid of integration cards (Slack, GitHub, etc.) each with an icon, name, description, and a connect switch in the action slot, and a submit footer. The full toggle-grid form composition with header and footer. Use for 'integrations form', 'connect services form', 'form with a grid of toggle cards'.",
        "keywords": [
          "integrations",
          "form",
          "connect",
          "services",
          "grid",
          "cards",
          "icon",
          "switch",
          "toggle",
          "slack",
          "github",
          "enable",
          "provider",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-integrations-grid",
          "integrations-grid",
          "settings-integrations",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "toggle-grid"
        }
      }
    },
    {
      "name": "reg-integrations-grid",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/integrations/integrations.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Integrations selection grid — choose which third-party services to connect.",
        "keywords": [
          "registration",
          "integrations",
          "connect",
          "services",
          "grid",
          "setup"
        ]
      }
    },
    {
      "name": "team-invite-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/invite/invite.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-invite-form",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete team-invite form — heading, repeating rows of email + role select per teammate, an add-another row button, an info alert, and a footer with two submit actions (Skip for now + Send invites). The whole form composition with header and dual-action footer. Use for 'invite form', 'add team members form', 'form with submit and skip / reset actions'.",
        "keywords": [
          "invite",
          "form",
          "team",
          "members",
          "email",
          "role",
          "multi-row",
          "add-another",
          "submit",
          "skip",
          "reset",
          "send",
          "invites",
          "complete",
          "card",
          "heading",
          "footer",
          "dual-action",
          "onboarding",
          "full-form"
        ],
        "related": [
          "reg-invite-form",
          "invite-members",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "invite"
        }
      }
    },
    {
      "name": "reg-invite-form",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/invite/invite.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Multi-row team invite form — email field + role select per row, with add-row button + submit footer.",
        "keywords": [
          "invite",
          "team",
          "members",
          "email",
          "roles",
          "invitation",
          "multi-row",
          "add-row",
          "teammates",
          "onboarding"
        ]
      }
    },
    {
      "name": "multi-field-form-validation",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/legal/legal.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-legal-entity",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete multi-field form with validation — heading, six labelled fields mixing text inputs and selects, several with required markers, hint text, and an input pattern (tax ID). Canonical shape for a long form where most fields are required and carry helper hints. Includes header and submit footer. Use for 'multi-field form with validation', 'form with required fields and hints', 'long form'.",
        "keywords": [
          "multi-field",
          "form",
          "validation",
          "required",
          "fields",
          "hint",
          "helper",
          "text",
          "pattern",
          "input",
          "select",
          "labelled",
          "long",
          "form",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "validate",
          "business",
          "legal",
          "entity",
          "full-form"
        ],
        "related": [
          "reg-legal-entity",
          "form-field-required",
          "form-field-email-hint",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "complex",
          "form": "validation"
        }
      }
    },
    {
      "name": "reg-legal-entity",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/legal/legal.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Legal entity form — company legal name, registration number, tax ID entry.",
        "keywords": [
          "registration",
          "legal",
          "entity",
          "company",
          "name",
          "tax",
          "id",
          "vat"
        ]
      }
    },
    {
      "name": "reg-org-chart-review",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/org-review/org-review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Org chart review — validate imported org structure before completing setup.",
        "keywords": [
          "registration",
          "org",
          "chart",
          "hierarchy",
          "review",
          "confirm",
          "import"
        ]
      }
    },
    {
      "name": "member-edit-drawer",
      "kind": "block",
      "primary": "drawer-ui",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/org-review/org-review.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Edit member details drawer — change name, role, permissions for a team member.",
        "keywords": [
          "drawer",
          "member",
          "edit",
          "team",
          "role",
          "permissions",
          "settings"
        ]
      }
    },
    {
      "name": "reg-step-shell",
      "kind": "page",
      "primary": "main",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/personal/personal.contents.html"
      ],
      "slots": [
        "page-story",
        "page-header",
        "page-content",
        "page-footer"
      ],
      "nested": [
        "reg-story-pane",
        "extended-profile-form",
        "reg-step-header",
        "reg-extended-profile",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "onboarding",
        "description": "Multi-step registration wizard shell. Header with step-progress indicator (e.g. 'Step 2 of 4'), title, description, then a form section for the current step's inputs.",
        "keywords": [
          "registration",
          "signup",
          "wizard",
          "multi",
          "step",
          "shell",
          "progress",
          "form",
          "personal",
          "workspace",
          "profile"
        ],
        "related": [
          "onb-step-shell",
          "auth-signup-entry",
          "auth-profile-setup"
        ],
        "tags": {
          "complexity": "moderate",
          "layout": "page"
        }
      }
    },
    {
      "name": "extended-profile-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/personal/personal.contents.html"
      ],
      "slots": [
        "page-header",
        "page-content",
        "page-footer"
      ],
      "nested": [
        "reg-step-header",
        "reg-extended-profile",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete extended-profile form — heading then many labelled fields (title, department, manager, pronouns, location, time zone, working hours) split into sections by dividers, prefixed social-handle inputs, a defer checkbox, and a back / continue footer. The full long-form composition with header and footer. Use for 'profile form', 'edit profile form', 'long form with many fields and sections'.",
        "keywords": [
          "profile",
          "form",
          "extended",
          "edit",
          "user",
          "fields",
          "title",
          "department",
          "manager",
          "pronouns",
          "location",
          "timezone",
          "working-hours",
          "social",
          "handle",
          "prefix",
          "divider",
          "sections",
          "defer",
          "complete",
          "card",
          "heading",
          "footer",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-extended-profile",
          "auth-profile-form",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "complex",
          "form": "profile"
        }
      }
    },
    {
      "name": "reg-extended-profile",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/personal/personal.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Extended profile form — additional company profile fields like bio, size, industry.",
        "keywords": [
          "registration",
          "profile",
          "extended",
          "company",
          "bio",
          "size",
          "industry"
        ]
      }
    },
    {
      "name": "plan-selection-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/plan/plan.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "commerce-pricing-tiers",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete plan-selection form — heading, a vertical radio group of option-cards (free / pro / team / enterprise / custom) each showing price and feature summary, with a free-text requirements textarea revealed on the custom option, and a submit footer. The full pricing-choice form composition with header and footer. Use for 'plan selection form', 'pricing form', 'choose a plan form', 'subscription tier picker'.",
        "keywords": [
          "plan",
          "selection",
          "form",
          "pricing",
          "tiers",
          "subscription",
          "free",
          "pro",
          "team",
          "enterprise",
          "custom",
          "option-card",
          "radiogroup",
          "choose",
          "price",
          "features",
          "textarea",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "commerce-pricing-tiers",
          "pricing-tiers",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "selection"
        }
      }
    },
    {
      "name": "commerce-pricing-tiers",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/plan/plan.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Pricing-plan tier selector — 3 plan cards (free / pro / enterprise) with feature lists + radio-group selection.",
        "keywords": [
          "pricing",
          "tiers",
          "plans",
          "plan",
          "subscription",
          "free",
          "pro",
          "enterprise",
          "billing",
          "commerce",
          "comparison"
        ]
      }
    },
    {
      "name": "reg-profile-identity",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/profile/profile.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Personal profile identity form — name, title, profile photo upload.",
        "keywords": [
          "registration",
          "profile",
          "personal",
          "identity",
          "name",
          "title",
          "photo"
        ]
      }
    },
    {
      "name": "contact-support-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/support/support.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-helpdesk-grid",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete contact / support configuration form — heading, support email + phone fields, hours segmented control, a grid of help-desk channel toggle cards, info alert, and a submit footer. The full form composition (header + fields + actions), not just the field rows. Use for 'contact form', 'support form', 'help desk form'.",
        "keywords": [
          "contact",
          "form",
          "support",
          "form",
          "complete",
          "card",
          "heading",
          "fields",
          "email",
          "phone",
          "hours",
          "helpdesk",
          "channels",
          "submit",
          "footer",
          "required",
          "validation",
          "contact-us",
          "reach-us",
          "full-form"
        ],
        "related": [
          "contact-form",
          "reg-helpdesk-grid",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "moderate",
          "form": "contact"
        }
      }
    },
    {
      "name": "reg-helpdesk-grid",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/support/support.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Helpdesk channel configuration — pick support inbox, CRM, or ticketing integration.",
        "keywords": [
          "registration",
          "helpdesk",
          "support",
          "crm",
          "ticketing",
          "configuration"
        ]
      }
    },
    {
      "name": "signup-team-size-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/team-size/team-size.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-team-size",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete onboarding / signup step form — heading, a segmented control for team-size headcount range, an industry select with a hint, and a submit footer. Compact full form composition (header + fields + actions) typical of a signup wizard step. Use for 'signup form', 'onboarding step form', 'team size form', 'form with segmented control'.",
        "keywords": [
          "signup",
          "form",
          "onboarding",
          "step",
          "team",
          "size",
          "headcount",
          "range",
          "segmented",
          "control",
          "industry",
          "select",
          "hint",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "continue",
          "wizard",
          "full-form"
        ],
        "related": [
          "reg-team-size",
          "segmented-control-billing-tabs",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "simple",
          "form": "signup"
        }
      }
    },
    {
      "name": "reg-team-size",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/team-size/team-size.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Team size selector — pick headcount range during company registration.",
        "keywords": [
          "registration",
          "team",
          "size",
          "headcount",
          "range",
          "selector",
          "employees"
        ]
      }
    },
    {
      "name": "single-select-card-form",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/use-case/use-case.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-usecase-picker",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Complete single-select option-card form — heading, a vertical radio group of selectable cards each with a title and description, with a free-text textarea revealed on the 'Something else' option, and a submit footer. The full single-choice form composition with header and footer. Use for 'option picker form', 'single-select card form', 'radio card form', 'survey question form'.",
        "keywords": [
          "single-select",
          "form",
          "option-card",
          "radio",
          "group",
          "cards",
          "heading",
          "description",
          "pick",
          "choose",
          "use-case",
          "survey",
          "question",
          "textarea",
          "other",
          "complete",
          "card",
          "footer",
          "submit",
          "continue",
          "full-form"
        ],
        "related": [
          "reg-usecase-picker",
          "radio-button-group",
          "reg-step-footer"
        ],
        "tags": {
          "complexity": "simple",
          "form": "single-select"
        }
      }
    },
    {
      "name": "reg-usecase-picker",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/use-case/use-case.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Use-case picker — select primary goal or job-to-be-done during signup.",
        "keywords": [
          "registration",
          "use",
          "case",
          "goal",
          "job",
          "todo",
          "picker",
          "select",
          "setup"
        ]
      }
    },
    {
      "name": "reg-workspace-name",
      "kind": "block",
      "primary": "form",
      "instances": 1,
      "pages": [
        "/apps/user-flow/app/registration/workspace/workspace.contents.html"
      ],
      "slots": [],
      "nested": [
        "reg-step-header",
        "reg-step-footer",
        "reg-step-progress"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Single-input named-entity form — heading, single text field, supporting hint, submit. Reusable shape for naming things.",
        "keywords": [
          "form",
          "single-input",
          "name",
          "workspace",
          "project",
          "create",
          "new-entity",
          "rename",
          "setup"
        ]
      }
    },
    {
      "name": "playground-app-shell",
      "kind": "block",
      "primary": "admin-shell",
      "instances": 1,
      "pages": [
        "/playgrounds/admin-shell/app/admin-shell.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Admin shell playground — full admin-shell demo with sidebar nav, topbar, and content area.",
        "keywords": [
          "playground",
          "admin",
          "shell",
          "layout",
          "demo",
          "sidebar",
          "nav",
          "topbar"
        ]
      }
    },
    {
      "name": "playground-chat",
      "kind": "block",
      "primary": "chat-shell",
      "instances": 1,
      "pages": [
        "/playgrounds/chat/app/chat.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat playground — full chat thread interface with composer and streaming response.",
        "keywords": [
          "playground",
          "chat",
          "thread",
          "streaming",
          "composer",
          "agent"
        ]
      }
    },
    {
      "name": "checkout-order-summary-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/playgrounds/composed-flow/app/composed-flow.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Checkout order-summary card — a card listing the line items being purchased (each an icon, product name, and detail) above a divider and a right-aligned grand total. The 'what you're paying for' panel beside a payment form at checkout.",
        "keywords": [
          "checkout",
          "order",
          "summary",
          "cart",
          "line",
          "items",
          "products",
          "purchase",
          "total",
          "cost",
          "price",
          "subtotal",
          "review",
          "basket",
          "bag",
          "receipt",
          "order",
          "details",
          "billing",
          "list",
          "items",
          "shipping",
          "grand",
          "total",
          "ecommerce",
          "buy"
        ]
      }
    },
    {
      "name": "order-confirmation-success-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/playgrounds/composed-flow/app/composed-flow.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "Order-confirmation success card — a confirmation panel headed by a check-circle icon and an 'Order confirmed' title, showing the order number, total charged, and arrival estimate as a row of stats, a 'confirmation email is on its way' note, and Continue-shopping / View-receipt actions. The canonical post-checkout 'your order is placed' success / thank-you screen.",
        "keywords": [
          "order",
          "confirmation",
          "success",
          "confirmed",
          "checkout",
          "complete",
          "thank",
          "you",
          "receipt",
          "placed",
          "purchase",
          "done",
          "order",
          "number",
          "total",
          "charged",
          "arrival",
          "estimate",
          "delivery",
          "email",
          "sent",
          "stats",
          "continue",
          "shopping",
          "view",
          "receipt",
          "success",
          "card",
          "celebration",
          "completed",
          "payment",
          "success",
          "confirmation",
          "screen",
          "thank",
          "you",
          "page"
        ]
      }
    },
    {
      "name": "feature-toggle-switch-grid",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/playgrounds/composed-flow/app/composed-flow.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Feature-toggle switch grid — a two-column grid pairing each inline labelled switch with a caption explaining what turning it off does. The 'enable / disable individual features' settings panel where every row is a toggle plus a one-line consequence note.",
        "keywords": [
          "feature",
          "toggle",
          "switch",
          "grid",
          "settings",
          "options",
          "enable",
          "disable",
          "on",
          "off",
          "flags",
          "preferences",
          "capabilities",
          "inline",
          "labelled",
          "switch",
          "caption",
          "explanation",
          "two",
          "column",
          "controls",
          "panel",
          "feature",
          "flags",
          "toggles",
          "settings",
          "list",
          "configuration"
        ]
      }
    },
    {
      "name": "playground-table-toolbar",
      "kind": "block",
      "primary": "table-toolbar-ui",
      "instances": 1,
      "pages": [
        "/playgrounds/table-toolbar/app/table-toolbar.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Table toolbar playground — table with toolbar controls demo.",
        "keywords": [
          "playground",
          "table",
          "toolbar",
          "search",
          "filter",
          "sort",
          "demo"
        ]
      }
    },
    {
      "name": "agent-canvas-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/agent-canvas/agent-canvas.contents.html"
      ],
      "slots": [
        "toolbar",
        "canvas",
        "inspector",
        "chat"
      ],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent canvas shell — workspace for visual agent composition with pane layout.",
        "keywords": [
          "agent",
          "canvas",
          "shell",
          "workspace",
          "visual",
          "pane",
          "layout",
          "inspector"
        ]
      }
    },
    {
      "name": "chat-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/chat-page/chat-page.contents.html"
      ],
      "slots": [
        "sidebar",
        "header",
        "messages",
        "input"
      ],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat application page layout — sidebar (conversation list) + main chat thread + footer input.",
        "keywords": [
          "chat",
          "page",
          "conversation",
          "thread",
          "sidebar",
          "messages",
          "bubbles",
          "agent",
          "assistant",
          "ai",
          "chatbot"
        ]
      }
    },
    {
      "name": "doc-editor-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/doc-editor/doc-editor.contents.html"
      ],
      "slots": [
        "toolbar",
        "editor",
        "preview",
        "metadata"
      ],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Document editor shell — full-height split-pane editor with code pane and preview.",
        "keywords": [
          "editor",
          "shell",
          "document",
          "split",
          "pane",
          "code",
          "preview",
          "full",
          "height"
        ]
      }
    },
    {
      "name": "editor-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/editor-page/editor-page.contents.html"
      ],
      "slots": [
        "editor-pane",
        "preview-pane"
      ],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Editor page shell — multi-panel editor layout with sidebar, canvas, and inspector.",
        "keywords": [
          "editor",
          "page",
          "shell",
          "sidebar",
          "canvas",
          "inspector",
          "multi-panel"
        ]
      }
    },
    {
      "name": "error-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/error-page/error-page.contents.html"
      ],
      "slots": [
        "error-content",
        "navigation"
      ],
      "nested": [],
      "metadata": {
        "domain": "error",
        "description": "Generic error page with centered status code, message, and recovery action button.",
        "keywords": [
          "error",
          "page",
          "status",
          "recovery",
          "action",
          "404",
          "500",
          "not-found",
          "unavailable",
          "maintenance"
        ]
      }
    },
    {
      "name": "form-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/form-page/form-page.contents.html"
      ],
      "slots": [
        "page-header",
        "form-content",
        "page-footer"
      ],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Centered single-form page with header (title + supporting copy), form body, and footer-row submit.",
        "keywords": [
          "form",
          "page",
          "centered",
          "single-form",
          "submit",
          "standalone",
          "full-page-form"
        ]
      }
    },
    {
      "name": "gallery-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/gallery-page/gallery-page.contents.html"
      ],
      "slots": [
        "header",
        "filter-bar",
        "grid",
        "lightbox"
      ],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Image gallery page with header (title + view toggle) and responsive image grid surface.",
        "keywords": [
          "gallery",
          "images",
          "grid",
          "masonry",
          "photos",
          "thumbnails",
          "browse",
          "view-toggle"
        ]
      }
    },
    {
      "name": "kanban-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/kanban-page/kanban-page.contents.html"
      ],
      "slots": [
        "header",
        "board",
        "detail-drawer"
      ],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Kanban board page with sticky header (title + filters + add-task) and a 3-column draggable board surface.",
        "keywords": [
          "kanban",
          "page",
          "board",
          "columns",
          "tasks",
          "header",
          "filters",
          "drag-drop",
          "project-management",
          "workflow"
        ]
      }
    },
    {
      "name": "marketing-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/marketing-page/marketing-page.contents.html"
      ],
      "slots": [
        "hero",
        "features",
        "cta"
      ],
      "nested": [
        "feature-grid-three-cards",
        "cta-banner-centered"
      ],
      "metadata": {
        "domain": "layout",
        "description": "Marketing landing page composed of hero + 3-card feature grid + closing CTA banner.",
        "keywords": [
          "marketing",
          "landing",
          "page",
          "hero",
          "features",
          "cta",
          "product",
          "home",
          "homepage"
        ]
      }
    },
    {
      "name": "feature-grid-three-cards",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/marketing-page/marketing-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Three-card feature grid — a responsive 1-up / 3-up grid of plain feature cards, each a bold heading over a one-line subtitle, no icons. The marketing 'three key features / benefits / highlights' row that sits below a landing hero.",
        "keywords": [
          "feature",
          "grid",
          "three",
          "cards",
          "columns",
          "marketing",
          "landing",
          "features",
          "benefits",
          "highlights",
          "value",
          "props",
          "selling",
          "points",
          "card",
          "heading",
          "subtitle",
          "product",
          "capabilities",
          "responsive",
          "3-up",
          "grid",
          "showcase",
          "what",
          "you",
          "get",
          "features",
          "section",
          "no",
          "icons"
        ]
      }
    },
    {
      "name": "cta-banner-centered",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/marketing-page/marketing-page.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Centered call-to-action banner — a borderless full-width card with a centered closing headline, a one-line supporting subtitle, and a single primary action button. The 'Ready to ship? / Get started today' conversion banner that closes a marketing or landing page.",
        "keywords": [
          "cta",
          "call",
          "to",
          "action",
          "banner",
          "centered",
          "closing",
          "conversion",
          "sign",
          "up",
          "get",
          "started",
          "ready",
          "to",
          "ship",
          "trial",
          "headline",
          "subtitle",
          "primary",
          "button",
          "bottom",
          "of",
          "page",
          "footer",
          "cta",
          "marketing",
          "landing",
          "conversion",
          "strip",
          "prompt",
          "encourage",
          "signup",
          "final",
          "push"
        ]
      }
    },
    {
      "name": "settings-page-shell",
      "kind": "page",
      "primary": "article",
      "instances": 1,
      "pages": [
        "/catalog/page-shells/app/settings-page/settings-page.contents.html"
      ],
      "slots": [
        "page-header",
        "page-tabs",
        "page-content"
      ],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Settings page shell — sidebar nav (sections) + main panel with grouped setting sections.",
        "keywords": [
          "settings",
          "page",
          "preferences",
          "account",
          "workspace",
          "sections",
          "sidebar-nav",
          "admin",
          "panel"
        ]
      }
    },
    {
      "name": "changelog-activity-feed",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/agent-activity-feed/agent-activity-feed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Real-time agent activity feed with timestamped action stream, status pills, and relative-time markers — functions as a changelog feed showing a versioned history of agent actions, updates, and events.",
        "keywords": [
          "changelog",
          "feed",
          "activity",
          "timeline",
          "version",
          "release",
          "update",
          "history",
          "what's",
          "new",
          "feed-ui",
          "list",
          "activity-feed",
          "entry",
          "log",
          "agent",
          "stream",
          "actions",
          "events",
          "status"
        ]
      }
    },
    {
      "name": "agent-reasoning-collapsed",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/agent-reasoning-collapsed/agent-reasoning-collapsed.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Collapsible agent reasoning panel showing thought process + tool calls + interim results.",
        "keywords": [
          "agent",
          "reasoning",
          "thinking",
          "thought-process",
          "tool-calls",
          "trace",
          "transparency",
          "interpretability"
        ]
      }
    },
    {
      "name": "api-key-table",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/api-key-table/api-key-table.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "API keys management table with key name, prefix, created date, last used, and revoke button.",
        "keywords": [
          "api",
          "key",
          "management",
          "table",
          "generate",
          "revoke",
          "token",
          "secret",
          "credential",
          "access",
          "developer",
          "settings",
          "api-keys",
          "api-token",
          "authentication",
          "prefix",
          "created",
          "last-used"
        ]
      }
    },
    {
      "name": "card-grid-images",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/card-grid-images/card-grid-images.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "Image gallery grid with lightbox overlay — responsive 3-column grid of image cards with cover photo, title, and description.",
        "keywords": [
          "image",
          "gallery",
          "grid",
          "lightbox",
          "overlay",
          "card-grid",
          "image-ui",
          "media",
          "photo",
          "gallery-grid",
          "thumbnail",
          "responsive",
          "3-column",
          "media-gallery"
        ]
      }
    },
    {
      "name": "chat-streaming-surface",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/chat-streaming-surface/chat-streaming-surface.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Chat conversation surface with user + assistant message bubbles + typing indicator + input row.",
        "keywords": [
          "chat",
          "streaming",
          "messages",
          "bubbles",
          "conversation",
          "assistant",
          "user",
          "typing",
          "indicator",
          "input"
        ]
      }
    },
    {
      "name": "command-palette",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/command-palette/command-palette.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Command palette with search input, recent commands, and keyboard shortcut hints.",
        "keywords": [
          "command",
          "palette",
          "search",
          "input",
          "recent",
          "commands",
          "keyboard",
          "shortcut",
          "hints",
          "cmdk",
          "ctrl-k",
          "quick-access",
          "launcher",
          "actions"
        ]
      }
    },
    {
      "name": "conversion-funnel-6step",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/conversion-funnel-6step/conversion-funnel-6step.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Conversion funnel with 6 stages, stage labels, counts, and drop-off conversion percentages.",
        "keywords": [
          "funnel",
          "conversion",
          "analytics",
          "stages",
          "metrics",
          "drop-off",
          "rate",
          "marketing"
        ]
      }
    },
    {
      "name": "modal-dialog-confirm",
      "kind": "block",
      "primary": "modal-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/destructive-confirm-modal/destructive-confirm-modal.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "overlay",
        "description": "Destructive-action modal dialog with a confirmation form — resource-name input field, cancel and delete action buttons, warning icon, and irreversible-action prose.",
        "keywords": [
          "modal",
          "dialog",
          "form",
          "confirm",
          "modal-ui",
          "button-ui",
          "destructive",
          "confirm",
          "input",
          "action",
          "cancel",
          "submit",
          "dialog",
          "overlay",
          "warning",
          "danger",
          "irreversible"
        ]
      }
    },
    {
      "name": "editor-code-pane",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/editor-code-pane/editor-code-pane.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Code editor pane with file-tabs header, line-numbered code surface, and status bar footer.",
        "keywords": [
          "editor",
          "code",
          "pane",
          "tabs",
          "ide",
          "line-numbers",
          "syntax-highlighting",
          "monaco",
          "codemirror"
        ]
      }
    },
    {
      "name": "split-pane-editor-preview",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/editor-preview-pane/editor-preview-pane.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Preview pane rendering the editor's output with toolbar (refresh, viewport, share) and live content area.",
        "keywords": [
          "preview",
          "render",
          "editor",
          "pane",
          "output",
          "live-preview",
          "iframe",
          "split-pane",
          "split",
          "pane",
          "two-column",
          "aside",
          "content",
          "editor",
          "preview",
          "split-view"
        ]
      }
    },
    {
      "name": "email-inbox-list",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/email-inbox-list/email-inbox-list.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Email inbox list — scrollable list of email rows with sender avatar, subject, preview snippet, timestamp, and unread badge indicator. List-item-ui rows with dividers.",
        "keywords": [
          "email",
          "inbox",
          "list",
          "message",
          "unread",
          "sender",
          "subject",
          "preview",
          "timestamp",
          "avatar",
          "badge",
          "list-ui",
          "list-item-ui",
          "avatar-ui"
        ]
      }
    },
    {
      "name": "feature-grid-icons",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/feature-grid-icons/feature-grid-icons.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "Feature grid with 6 cells each containing an icon, bold title, and one-line description. Marketing feature showcase layout.",
        "keywords": [
          "feature",
          "grid",
          "icons",
          "icon-ui",
          "grid",
          "marketing",
          "features",
          "highlights",
          "benefits",
          "showcase",
          "6-cell",
          "feature-grid",
          "icon",
          "title",
          "description",
          "grid-ui",
          "landing"
        ]
      }
    },
    {
      "name": "import-mapping-flow",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/import-mapping/import-mapping.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data-management",
        "description": "Multi-step CSV/file import flow — upload, field mapping (source columns ↔ target fields), preview, import. Shows the field-mapping step prominently since it's the part most often missing from import patterns.",
        "keywords": [
          "import",
          "csv",
          "upload",
          "mapping",
          "fields",
          "columns",
          "bulk",
          "data",
          "migration"
        ]
      }
    },
    {
      "name": "invoice-line-items",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/invoice-line-items/invoice-line-items.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Invoice table with line items, quantities, unit prices, and total row. Card with invoice header, item rows, subtotal, tax, and total due.",
        "keywords": [
          "invoice",
          "table",
          "line",
          "items",
          "quantities",
          "totals",
          "billing",
          "amount",
          "price",
          "quantity",
          "subtotal",
          "tax",
          "total-due",
          "payment",
          "invoice-number"
        ]
      }
    },
    {
      "name": "kanban-board-3col",
      "kind": "block",
      "primary": "grid-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/kanban-board-3col/kanban-board-3col.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Kanban board with todo, in progress, and done columns. Task cards with title, assignee avatar, priority badge, and label tag.",
        "keywords": [
          "kanban",
          "board",
          "todo",
          "in-progress",
          "done",
          "columns",
          "tasks",
          "project-management",
          "cards",
          "assignee",
          "priority",
          "label",
          "workflow",
          "drag-drop",
          "sprint"
        ]
      }
    },
    {
      "name": "loading-skeleton-placeholder",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/loading-skeleton-placeholder/loading-skeleton-placeholder.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Loading skeleton placeholder — animated skeleton-ui elements showing content placeholders while data loads. Avatar + text line skeletons in a list layout.",
        "keywords": [
          "loading",
          "skeleton",
          "placeholder",
          "skeleton-ui",
          "loading",
          "state",
          "shimmer",
          "pulse",
          "animation",
          "content",
          "placeholder",
          "list",
          "rows"
        ]
      }
    },
    {
      "name": "marketing-hero-cta",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/marketing-hero-cta/marketing-hero-cta.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Marketing hero section with centered heading, supporting lede, and two CTA buttons (primary + outline).",
        "keywords": [
          "hero",
          "cta",
          "marketing",
          "landing-page",
          "heading",
          "lede",
          "call-to-action",
          "buttons"
        ]
      }
    },
    {
      "name": "newsletter-subscription",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/newsletter-subscription/newsletter-subscription.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Newsletter subscription form — email input with subscribe button. Compact signup card with headline, email input-ui, subscribe button, and a privacy reassurance note.",
        "keywords": [
          "newsletter",
          "subscription",
          "form",
          "email",
          "subscribe",
          "signup",
          "subscribe-button",
          "input-ui",
          "email-input",
          "form",
          "cta",
          "opt-in",
          "mailing"
        ]
      }
    },
    {
      "name": "user-onboarding-checklist",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/onboarding-checklist/onboarding-checklist.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "User onboarding checklist — step-by-step setup checklist for new users. Tracks completion of profile, team invite, integration, workflow, and tour steps.",
        "keywords": [
          "onboarding",
          "checklist",
          "user",
          "setup",
          "steps",
          "progress",
          "todo",
          "complete",
          "activate",
          "setup-checklist",
          "wizard",
          "task",
          "new-user",
          "welcome"
        ]
      }
    },
    {
      "name": "order-tracking-timeline",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/order-tracking-timeline/order-tracking-timeline.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Order tracking timeline — 5-step order progress from placed to delivered using timeline-ui + timeline-item-ui. Each step shows status (completed/active/pending) with label and time.",
        "keywords": [
          "order",
          "tracking",
          "timeline",
          "step",
          "progress",
          "shipped",
          "delivered",
          "status",
          "timeline-ui",
          "timeline-item-ui",
          "completed",
          "active",
          "pending",
          "order",
          "status",
          "tracking"
        ]
      }
    },
    {
      "name": "payment-method-form",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/payment-method-form/payment-method-form.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Payment method form — credit card number, expiry, CVC, billing address fields with save/cancel actions. Inline card form (drawer-less variant for gallery + inline-form contexts).",
        "keywords": [
          "payment",
          "method",
          "credit",
          "card",
          "billing",
          "form",
          "update",
          "save",
          "cvc",
          "cvv",
          "expiry",
          "visa",
          "mastercard",
          "amex",
          "card-on-file",
          "billing-address",
          "tax-id"
        ]
      }
    },
    {
      "name": "permission-matrix-table",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/permission-matrix-table/permission-matrix-table.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Permission matrix with roles as columns and resources as rows with checkboxes. Color-coded role badges with checkbox state per permission.",
        "keywords": [
          "permission",
          "matrix",
          "roles",
          "columns",
          "resources",
          "rows",
          "checkboxes",
          "access",
          "control",
          "viewer",
          "editor",
          "admin",
          "RBAC",
          "authorization",
          "permissions"
        ]
      }
    },
    {
      "name": "app-product-listing-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/product-card-buy/product-card-buy.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Product card with image, price, and buy button — card showing product photo, name, price, brief description, and add-to-cart + save actions. E-commerce product listing pattern.",
        "keywords": [
          "app",
          "store",
          "listing",
          "product-listing",
          "card",
          "app-store",
          "product",
          "card",
          "image",
          "price",
          "buy",
          "button",
          "add-to-cart",
          "e-commerce",
          "shopping",
          "card-ui",
          "image-ui",
          "buy",
          "purchase",
          "price"
        ]
      }
    },
    {
      "name": "settings-appearance",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/settings-appearance/settings-appearance.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Appearance settings section — theme picker, density + radius sliders, color-scheme toggle.",
        "keywords": [
          "settings",
          "appearance",
          "theme",
          "density",
          "radius",
          "color-scheme",
          "dark-mode",
          "preferences",
          "ui-controls"
        ]
      }
    },
    {
      "name": "notification-preferences-panel",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/settings-notifications/settings-notifications.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "settings",
        "description": "Notification preferences panel with per-channel enable/disable toggles for email and push — weekly digest, mentions, product updates, direct messages, and team alerts.",
        "keywords": [
          "notification",
          "preferences",
          "notification-preferences",
          "panel",
          "settings",
          "per-channel",
          "email",
          "push",
          "sms",
          "channel",
          "switch-ui",
          "toggle",
          "enable",
          "disable",
          "alert",
          "notification-settings",
          "frequency",
          "digest"
        ]
      }
    },
    {
      "name": "social-media-post-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/social-media-post-card/social-media-post-card.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Social media post card — feed item with avatar, user name, handle, timestamp, post text, optional photo, and engagement actions (likes, comments, share).",
        "keywords": [
          "social",
          "media",
          "post",
          "card",
          "feed",
          "avatar",
          "user",
          "name",
          "timestamp",
          "like",
          "comment",
          "share",
          "engagement",
          "card-ui",
          "avatar-ui",
          "image-ui"
        ]
      }
    },
    {
      "name": "sortable-search-paginate-table",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/sortable-search-table/sortable-search-table.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Data table with sortable columns, search filter, and pagination — table-ui with col-def children declaring Name, Email, Status (badge), and date columns. Full interactive data table pattern.",
        "keywords": [
          "data",
          "table",
          "sortable",
          "columns",
          "search",
          "pagination",
          "table-ui",
          "col-def",
          "sortable",
          "search",
          "paginate",
          "filter",
          "rows",
          "columns",
          "header",
          "data-table",
          "interactive"
        ]
      }
    },
    {
      "name": "survey-rating-form",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/survey-rating-form/survey-rating-form.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Survey form with star rating scales — three rating-ui questions (overall satisfaction, ease of use, likelihood to recommend) plus a textarea for open feedback.",
        "keywords": [
          "survey",
          "form",
          "rating",
          "scale",
          "star",
          "rating-ui",
          "satisfaction",
          "score",
          "feedback",
          "question",
          "NPS",
          "likert",
          "rating",
          "input",
          "stars"
        ]
      }
    },
    {
      "name": "testimonials-avatar-cards",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/testimonials-avatar-cards/testimonials-avatar-cards.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Testimonials with avatar cards — three customer testimonials in a grid, each with an avatar, name, role, and quote. Social proof pattern for marketing pages.",
        "keywords": [
          "testimonials",
          "testimonial",
          "avatar",
          "cards",
          "quote",
          "review",
          "social",
          "proof",
          "customer",
          "feedback",
          "person",
          "grid-ui",
          "card-ui",
          "avatar-ui",
          "rating"
        ]
      }
    },
    {
      "name": "tooltip-hover-button",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/tooltip-hover/tooltip-hover.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Tooltip on hover — icon buttons with tooltip-ui showing contextual hints on mouse-over. Pattern for toolbar icons with hover tooltips.",
        "keywords": [
          "tooltip",
          "hover",
          "tooltip-ui",
          "mouse-over",
          "hover-hint",
          "popover",
          "label",
          "hint",
          "trigger",
          "button-ui",
          "icon"
        ]
      }
    },
    {
      "name": "user-profile-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/user-profile-card/user-profile-card.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "User profile card with avatar, name, role, and action buttons (message, view profile).",
        "keywords": [
          "profile",
          "card",
          "user",
          "avatar",
          "name",
          "role",
          "action",
          "buttons",
          "team-member",
          "display",
          "identity",
          "contact",
          "user-profile"
        ]
      }
    },
    {
      "name": "badge-variants-table",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/app/users-table-badge/users-table-badge.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Users table showing role and status columns populated with badge-ui variants — accent for Admin, info for Editor, muted for Viewer, success/warning/muted for Online/Away/Offline status.",
        "keywords": [
          "badge",
          "variant",
          "accent",
          "info",
          "success",
          "warning",
          "danger",
          "muted",
          "badge-ui",
          "status",
          "pill",
          "indicator",
          "label",
          "tag",
          "users",
          "table",
          "roles",
          "members",
          "variants",
          "different",
          "badge-ui",
          "badge-variants",
          "accent",
          "info",
          "muted"
        ]
      }
    },
    {
      "name": "ai-streaming-response",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-agent-blocks/v050-agent-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "AI assistant message bubble with streaming text indicator + assistant avatar + cited sources strip.",
        "keywords": [
          "ai",
          "streaming",
          "response",
          "message",
          "bubble",
          "assistant",
          "chat",
          "llm",
          "typing",
          "tokens",
          "stream",
          "citations"
        ]
      }
    },
    {
      "name": "agent-tool-call-result",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-agent-blocks/v050-agent-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Tool-call result card — tool name + arguments JSON + result preview + status pill + expand/collapse.",
        "keywords": [
          "tool-call",
          "function-call",
          "result",
          "agent",
          "tool",
          "ai",
          "mcp",
          "arguments",
          "output",
          "expand",
          "collapse"
        ]
      }
    },
    {
      "name": "agent-trace-timeline",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-agent-blocks/v050-agent-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Agent execution trace — sequential stages (interpret / search / compose / assemble) with timing per stage.",
        "keywords": [
          "agent",
          "trace",
          "timeline",
          "execution",
          "stages",
          "timing",
          "reasoning",
          "pipeline",
          "steps",
          "interpretability"
        ]
      }
    },
    {
      "name": "agent-command-palette-search",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-agent-blocks/v050-agent-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Command palette specialized for agent actions — search input with AI-suggested commands + tool shortcuts.",
        "keywords": [
          "command",
          "palette",
          "agent",
          "search",
          "ai",
          "actions",
          "tools",
          "ctrl-k",
          "cmdk",
          "shortcuts",
          "suggestions"
        ]
      }
    },
    {
      "name": "masonry-gallery",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Masonry image gallery — variable-height tiles in a column-flow grid with hover overlays.",
        "keywords": [
          "masonry",
          "gallery",
          "images",
          "photos",
          "grid",
          "variable-height",
          "pinterest",
          "tiles",
          "overlays",
          "lightbox"
        ]
      }
    },
    {
      "name": "timeline-events",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Vertical timeline of events — date label + dot + content card per row, connected by vertical line.",
        "keywords": [
          "timeline",
          "events",
          "vertical",
          "history",
          "activity-log",
          "chronological",
          "story",
          "commits",
          "releases"
        ]
      }
    },
    {
      "name": "inventory-list-stock",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Inventory table with product name, SKU, stock fill-bar, and status badge per row; threshold-alert highlights below.",
        "keywords": [
          "inventory",
          "stock",
          "list",
          "products",
          "SKU",
          "warehouse",
          "alert",
          "threshold",
          "low-stock",
          "data",
          "ecommerce",
          "table",
          "badge",
          "progress"
        ]
      }
    },
    {
      "name": "key-value-detail-list",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Key-value detail list — a card wrapping a description list of label / value pairs (status, owner, created, last updated, ID) with the value right-aligned against the label. The 'details / metadata / properties' panel for an entity-detail or inspector view.",
        "keywords": [
          "key",
          "value",
          "detail",
          "list",
          "description",
          "list",
          "metadata",
          "properties",
          "facts",
          "fields",
          "attributes",
          "status",
          "owner",
          "created",
          "updated",
          "id",
          "label",
          "value",
          "pairs",
          "entity",
          "detail",
          "inspector",
          "summary",
          "panel",
          "dl",
          "dt",
          "dd",
          "specs",
          "information",
          "record",
          "fields",
          "about"
        ]
      }
    },
    {
      "name": "avatar-stack-overflow",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Avatar stack with overflow — a row of overlapping member avatars capped at a maximum, with a +N counter for the rest, beside a short 'who's on this' label. The compact 'shared with / collaborators / participants' presence cluster.",
        "keywords": [
          "avatar",
          "stack",
          "group",
          "overlap",
          "overflow",
          "members",
          "collaborators",
          "participants",
          "people",
          "team",
          "shared",
          "with",
          "assignees",
          "attendees",
          "presence",
          "faces",
          "avatar",
          "group",
          "plus",
          "n",
          "more",
          "count",
          "roster",
          "contributors",
          "who",
          "is",
          "here",
          "facepile",
          "overlapping",
          "avatars"
        ]
      }
    },
    {
      "name": "rating-stars-review-summary",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "display",
        "description": "Rating review summary — a large average score beside a read-only star rating and total-review count, above a breakdown of star-level bars (5★ down to 1★) showing how many reviews fell at each level. The 'customer reviews / ratings overview' header on a product or listing page.",
        "keywords": [
          "rating",
          "stars",
          "review",
          "summary",
          "average",
          "score",
          "reviews",
          "count",
          "breakdown",
          "distribution",
          "feedback",
          "testimonials",
          "product",
          "ratings",
          "five",
          "star",
          "out",
          "of",
          "customer",
          "reviews",
          "overall",
          "rating",
          "bars",
          "histogram",
          "star",
          "levels",
          "review",
          "score",
          "reviews",
          "overview",
          "ratings",
          "panel"
        ]
      }
    },
    {
      "name": "stats-band-big-numbers",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Marketing stats band — a horizontal row of three or four big headline numbers, each a large display figure over a short caption (uptime, customers, requests, countries). The 'by the numbers / trusted at scale' proof band that sits between a hero and the features on a landing page.",
        "keywords": [
          "stats",
          "band",
          "big",
          "numbers",
          "metrics",
          "marketing",
          "proof",
          "social",
          "proof",
          "by",
          "the",
          "numbers",
          "at",
          "scale",
          "headline",
          "figures",
          "uptime",
          "customers",
          "users",
          "requests",
          "countries",
          "growth",
          "display",
          "stats",
          "row",
          "landing",
          "page",
          "trust",
          "signals",
          "key",
          "metrics",
          "impressive",
          "numbers",
          "statistics",
          "band",
          "achievements"
        ]
      }
    },
    {
      "name": "logo-cloud-trusted-by",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Logo cloud — a centered 'trusted by' eyebrow over a responsive grid of muted partner / customer logos rendered as placeholder tiles. The social-proof logo strip that reassures landing-page visitors which companies already use the product.",
        "keywords": [
          "logo",
          "cloud",
          "trusted",
          "by",
          "customers",
          "partners",
          "brands",
          "companies",
          "social",
          "proof",
          "logos",
          "grid",
          "as",
          "seen",
          "on",
          "used",
          "by",
          "clients",
          "integrations",
          "marketing",
          "landing",
          "strip",
          "logo",
          "wall",
          "company",
          "logos",
          "placeholder",
          "tiles",
          "credibility",
          "trust",
          "band",
          "brands",
          "row"
        ]
      }
    },
    {
      "name": "testimonial-pull-quote",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "marketing",
        "description": "Single testimonial pull-quote — one large italic customer quote in a bordered blockquote with an em-dash attribution line, paired with the customer's avatar, name, and role. The standout 'one strong quote' social-proof block, as opposed to a grid of several testimonials.",
        "keywords": [
          "testimonial",
          "pull",
          "quote",
          "single",
          "blockquote",
          "customer",
          "review",
          "quote",
          "italic",
          "attribution",
          "cite",
          "social",
          "proof",
          "marketing",
          "endorsement",
          "praise",
          "saying",
          "spotlight",
          "featured",
          "quote",
          "avatar",
          "name",
          "role",
          "one",
          "big",
          "quote",
          "highlight",
          "customer",
          "story",
          "word",
          "of",
          "mouth"
        ]
      }
    },
    {
      "name": "real-time-metrics-dashboard",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Real-time metrics dashboard with live counter cards, streaming line chart, error-rate progress, and last-updated timestamp.",
        "keywords": [
          "real-time",
          "metrics",
          "live",
          "dashboard",
          "streaming",
          "counters",
          "charts",
          "websocket",
          "telemetry",
          "monitoring",
          "progress"
        ]
      }
    },
    {
      "name": "leaderboard-table",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Ranked leaderboard table with rank + avatar + name + score + delta-badge per row.",
        "keywords": [
          "leaderboard",
          "ranking",
          "table",
          "top",
          "users",
          "contributors",
          "score",
          "delta",
          "rank",
          "competition",
          "winners"
        ]
      }
    },
    {
      "name": "progress-tracker-milestones",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Progress tracker with milestone checkpoints, current-stage indicator, and remaining-steps preview.",
        "keywords": [
          "progress",
          "milestones",
          "tracker",
          "checkpoints",
          "stage",
          "steps",
          "timeline",
          "completion",
          "remaining",
          "tasks"
        ]
      }
    },
    {
      "name": "subscription-status-renewal-card",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Subscription status card — shows the current plan name and a status badge, a key-value detail list of seats, billing cycle, and next renewal date, then Manage-plan / Cancel actions. The 'your current subscription' summary panel on a billing or account-settings page.",
        "keywords": [
          "subscription",
          "status",
          "plan",
          "current",
          "billing",
          "cycle",
          "renewal",
          "next",
          "payment",
          "seats",
          "members",
          "manage",
          "cancel",
          "upgrade",
          "downgrade",
          "account",
          "membership",
          "tier",
          "active",
          "card",
          "billing",
          "summary",
          "subscription",
          "details",
          "renew",
          "date",
          "plan",
          "name"
        ]
      }
    },
    {
      "name": "usage-quota-meter-card",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "billing",
        "description": "Usage quota card — a card listing several metered resources (API calls, storage, seats), each a label with a used / limit count and a progress bar that turns warning then danger as the resource fills. The 'how much of your plan limits you've used this period' meter panel.",
        "keywords": [
          "usage",
          "quota",
          "meter",
          "limits",
          "metered",
          "billing",
          "consumption",
          "api",
          "calls",
          "requests",
          "storage",
          "bandwidth",
          "seats",
          "plan",
          "limits",
          "used",
          "remaining",
          "progress",
          "bars",
          "resource",
          "utilization",
          "capacity",
          "allowance",
          "tier",
          "limits",
          "usage",
          "card",
          "overage",
          "this",
          "period"
        ]
      }
    },
    {
      "name": "bulk-selection-actions-bar",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data-management",
        "description": "Bulk selection actions bar — a highlighted toolbar that appears when rows are selected, showing the selected-count on the left and a cluster of bulk operations (Export, Move, Tag, Delete) on the right. The 'N selected — do something to all of them' batch-action strip above a data table.",
        "keywords": [
          "bulk",
          "selection",
          "actions",
          "bar",
          "batch",
          "operations",
          "selected",
          "rows",
          "toolbar",
          "multi-select",
          "export",
          "move",
          "tag",
          "delete",
          "archive",
          "count",
          "clear",
          "selection",
          "data",
          "management",
          "table",
          "bulk",
          "edit",
          "mass",
          "action",
          "apply",
          "to",
          "all",
          "batch",
          "toolbar",
          "selected",
          "items",
          "deselect"
        ]
      }
    },
    {
      "name": "file-upload-dnd",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "File upload form with drag and drop zone and file list. Upload-ui with browse fallback, file-type hints, and max-size note.",
        "keywords": [
          "file",
          "upload",
          "drag-and-drop",
          "dnd",
          "browse",
          "attachments",
          "form-input",
          "drop",
          "zone",
          "file-list",
          "upload-zone"
        ]
      }
    },
    {
      "name": "search-with-filters",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [
        "tag-chips-filter"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Search bar with type-ahead results and facet filters for category, status, and date. Search input with filter chips/pills and result count.",
        "keywords": [
          "search",
          "bar",
          "filters",
          "facets",
          "chips",
          "pills",
          "query",
          "results",
          "type-ahead",
          "category",
          "status",
          "date",
          "search-filters",
          "facet-filters",
          "refine",
          "clear",
          "discovery"
        ]
      }
    },
    {
      "name": "tag-chips-filter",
      "kind": "block",
      "primary": "row-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Removable tag chip row for filtering — interactive tag-ui chips that act as selected filter labels or keywords, with a clear-all action to reset the tag selection.",
        "keywords": [
          "tag",
          "input",
          "chips",
          "tags-input-ui",
          "removable",
          "chip",
          "tag",
          "filter",
          "label",
          "keyword",
          "tag-ui",
          "interactive",
          "multi-select",
          "clear"
        ]
      }
    },
    {
      "name": "stepper-form-wizard",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Multi-step form with profile, billing, and review steps and progress indicator. Stepper wizard with sequential field groups and back/next navigation.",
        "keywords": [
          "multi-step",
          "form",
          "progress",
          "indicator",
          "steps",
          "stepper",
          "wizard",
          "profile",
          "billing",
          "review",
          "sequential",
          "onboarding",
          "setup",
          "workflow",
          "back",
          "next"
        ]
      }
    },
    {
      "name": "date-range-picker",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Date range picker with calendar, preset options like last 7 days and this month, and apply/cancel buttons.",
        "keywords": [
          "date",
          "range",
          "picker",
          "calendar",
          "preset",
          "options",
          "last",
          "7",
          "days",
          "this",
          "month",
          "date-range-picker",
          "preset-options",
          "date-picker",
          "calendar-picker",
          "apply",
          "cancel"
        ]
      }
    },
    {
      "name": "date-time-picker-form",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [
        "radio-button-group"
      ],
      "metadata": {
        "domain": "forms",
        "description": "Scheduling form card with date picker, time picker, timezone select, and recurrence pattern radio group; primary and secondary action buttons.",
        "keywords": [
          "date",
          "time",
          "picker",
          "scheduling",
          "timezone",
          "recurrence",
          "calendar",
          "appointment",
          "booking",
          "form",
          "card"
        ]
      }
    },
    {
      "name": "radio-button-group",
      "kind": "block",
      "primary": "field-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Radio button group for single-select choice — radio-ui options inside a field-ui label, letting users pick exactly one recurrence option from a named group.",
        "keywords": [
          "radio",
          "button",
          "group",
          "selection",
          "choice",
          "radio-ui",
          "option",
          "form",
          "single-select",
          "field-ui",
          "recurrence",
          "pick",
          "one"
        ]
      }
    },
    {
      "name": "signup-form-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Canonical full signup / create-account form card — heading and subheading, then name, email, password, and confirm-password fields each as a field-ui label wrapping an input-ui, a terms-acceptance checkbox, and a footer with a full-width Create account button plus a sign-in link. The complete form composition (header + fields + actions footer). Use for 'signup form', 'create account form', 'registration form', 'sign up'.",
        "keywords": [
          "signup",
          "form",
          "create",
          "account",
          "register",
          "registration",
          "sign",
          "up",
          "name",
          "email",
          "password",
          "confirm",
          "terms",
          "checkbox",
          "field",
          "input",
          "label",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "button",
          "full-form"
        ]
      }
    },
    {
      "name": "contact-form-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Canonical full contact form card with both submit and reset actions — heading and subheading, name and email fields in a responsive two-column grid, a subject field, a message textarea, and a footer with a Send message primary button and a Clear (reset) secondary button. The complete form composition (header + fields + dual-action footer). Use for 'contact form', 'contact us form', 'form with submit and reset', 'message form'.",
        "keywords": [
          "contact",
          "form",
          "contact-us",
          "message",
          "name",
          "email",
          "subject",
          "textarea",
          "send",
          "submit",
          "reset",
          "clear",
          "two-column",
          "grid",
          "field",
          "input",
          "label",
          "complete",
          "card",
          "heading",
          "footer",
          "dual-action",
          "full-form"
        ]
      }
    },
    {
      "name": "login-form-card",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Canonical full login / sign-in form card — heading, email and password fields each as a field-ui label wrapping an input-ui, a remember-me checkbox alongside a forgot-password link, and a footer with a full-width Sign in button plus a create-account link. The complete form composition (header + fields + actions footer). Use for 'login form', 'sign in form', 'log in', 'authentication form'.",
        "keywords": [
          "login",
          "form",
          "sign",
          "in",
          "log",
          "in",
          "signin",
          "authentication",
          "email",
          "password",
          "remember",
          "me",
          "forgot",
          "password",
          "field",
          "input",
          "label",
          "complete",
          "card",
          "heading",
          "footer",
          "submit",
          "button",
          "credentials",
          "full-form"
        ]
      }
    },
    {
      "name": "form-field-with-error",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Form fields showing the canonical validation-error shape — a field-ui whose slotted input-ui carries an `error` message (the error renders below the control in danger style, NOT as a sibling element), shown next to a valid field with a hint for contrast. Use for 'form with validation errors', 'invalid field state', 'form field error message'.",
        "keywords": [
          "form",
          "field",
          "validation",
          "error",
          "invalid",
          "danger",
          "message",
          "hint",
          "required",
          "input",
          "field-ui",
          "error-state",
          "inline-error",
          "feedback",
          "aria",
          "validation-message",
          "canonical"
        ]
      }
    },
    {
      "name": "hero-section-split",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Two-column hero — left side heading + lede + CTA buttons; right side product image or media.",
        "keywords": [
          "hero",
          "split-hero",
          "two-column",
          "landing-page",
          "heading",
          "lede",
          "media",
          "product-image",
          "cta"
        ]
      }
    },
    {
      "name": "testimonial-grid",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "3-column testimonial grid with avatar, name, role, and quote per tile.",
        "keywords": [
          "testimonial",
          "grid",
          "quotes",
          "social-proof",
          "reviews",
          "avatars",
          "customer-stories",
          "marketing"
        ]
      }
    },
    {
      "name": "footer-multi-column",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Multi-column site footer with product / company / resources nav columns, divider rule, copyright row, and social-icon links with a newsletter signup CTA.",
        "keywords": [
          "footer",
          "multi-column",
          "site-footer",
          "nav-columns",
          "navigation",
          "links",
          "copyright",
          "legal",
          "divider",
          "social",
          "newsletter",
          "button"
        ]
      }
    },
    {
      "name": "comparison-table",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Feature comparison table — 2-3 columns of plans with feature row + checkmark/dash cells.",
        "keywords": [
          "comparison",
          "table",
          "features",
          "checkmarks",
          "compare",
          "feature-matrix",
          "side-by-side",
          "grid-comparison"
        ]
      }
    },
    {
      "name": "faq-accordion",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "content",
        "description": "FAQ page with expandable accordion items using accordion-item-ui. Question labels with collapsible answer bodies.",
        "keywords": [
          "faq",
          "accordion",
          "questions",
          "answers",
          "expandable",
          "accordion-item-ui",
          "help",
          "support",
          "knowledge-base",
          "faq-page",
          "collapsible",
          "frequently-asked"
        ]
      }
    },
    {
      "name": "empty-state",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Empty state with illustration, bold headline, description, and primary call-to-action button — shown when a list/view has no content yet.",
        "keywords": [
          "empty",
          "state",
          "illustration",
          "bold",
          "headline",
          "description",
          "primary",
          "call-to-action",
          "button",
          "no-results",
          "first-use",
          "placeholder",
          "cta",
          "onboarding",
          "zero-results"
        ]
      }
    },
    {
      "name": "alert-banner",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Dismissible alert banner — icon + message + action button + close X. For cookie consent, system warnings, important notices.",
        "keywords": [
          "alert",
          "banner",
          "notice",
          "warning",
          "notification",
          "dismissible",
          "cookie-consent",
          "system-message",
          "info"
        ]
      }
    },
    {
      "name": "chart-with-filter-pills",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Chart card with time-range pill selector in the header — segmented switch between day/week/month/year + chart body + footer caption.",
        "keywords": [
          "chart",
          "filter",
          "pills",
          "time-range",
          "segmented",
          "period",
          "selector",
          "analytics",
          "dashboard",
          "card"
        ]
      }
    },
    {
      "name": "keyboard-shortcut-display",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Keyboard shortcut reference grid — each row is a key combo + description.",
        "keywords": [
          "keyboard",
          "shortcuts",
          "kbd",
          "hotkeys",
          "cheatsheet",
          "reference",
          "help",
          "cmd",
          "ctrl",
          "quick-keys",
          "keyboard",
          "shortcut",
          "display",
          "kbd-ui",
          "key",
          "binding",
          "hotkey",
          "combination",
          "command"
        ]
      }
    },
    {
      "name": "image-carousel",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Horizontal image carousel — current slide + peek of next/prev + dot indicators + autoplay-pause control.",
        "keywords": [
          "carousel",
          "slider",
          "swiper",
          "image-gallery",
          "slides",
          "photos",
          "hero",
          "rotator",
          "paginated"
        ]
      }
    },
    {
      "name": "tabs-with-panels",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Tabs component with N panels — each tab reveals its corresponding panel content area.",
        "keywords": [
          "tabs",
          "panels",
          "navigation",
          "switch",
          "sections",
          "views",
          "content-areas",
          "tab-strip"
        ]
      }
    },
    {
      "name": "accordion-settings",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Settings panel organized as accordion — expandable sections (profile / notifications / privacy / advanced) each containing form controls.",
        "keywords": [
          "accordion",
          "settings",
          "collapsible",
          "expandable",
          "sections",
          "preferences",
          "profile",
          "notifications",
          "privacy"
        ]
      }
    },
    {
      "name": "image-upload-preview",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Image upload with preview thumbnail, file metadata, and replace/remove actions.",
        "keywords": [
          "image",
          "upload",
          "preview",
          "avatar",
          "profile-picture",
          "file-input",
          "drag-drop",
          "replace",
          "remove"
        ]
      }
    },
    {
      "name": "toolbar-tooltips",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Compact icon-only toolbar where every button shows a tooltip on hover — for editor / canvas action surfaces.",
        "keywords": [
          "toolbar",
          "tooltips",
          "icon-buttons",
          "hover-labels",
          "editor",
          "canvas",
          "tools",
          "accessibility"
        ]
      }
    },
    {
      "name": "notification-toast-row",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "agent",
        "description": "Toast notification stack with success, warning, and error variants and dismiss buttons.",
        "keywords": [
          "toast",
          "notification",
          "stack",
          "success",
          "warning",
          "error",
          "variants",
          "dismiss",
          "buttons",
          "snackbar",
          "alert",
          "flash",
          "banner",
          "ephemeral",
          "feedback",
          "toast-stack"
        ]
      }
    },
    {
      "name": "breadcrumb-navigation",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-nav-blocks/v050-nav-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Breadcrumb navigation trail using link-ui and icon-ui separators to show the hierarchical path to the current page, enabling users to navigate back up the hierarchy.",
        "keywords": [
          "breadcrumb",
          "navigation",
          "path",
          "hierarchy",
          "link",
          "separator",
          "breadcrumb-ui",
          "trail",
          "link-ui",
          "icon-ui",
          "current-page",
          "location",
          "ancestor"
        ]
      }
    },
    {
      "name": "sidebar-navigation-panel",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-nav-blocks/v050-nav-blocks.contents.html"
      ],
      "slots": [],
      "nested": [
        "nav-menu-icons"
      ],
      "metadata": {
        "domain": "navigation",
        "description": "Sidebar navigation layout using admin-sidebar with grouped nav items — primary nav group and project sub-group, each with icon-leading nav-item-ui buttons, collapsible to icon-only mode.",
        "keywords": [
          "sidebar",
          "navigation",
          "layout",
          "nav-ui",
          "nav-item-ui",
          "nav-group-ui",
          "admin",
          "sidebar",
          "collapsible",
          "grouped",
          "icon-only",
          "admin-sidebar",
          "primary",
          "sub-section",
          "toggle"
        ]
      }
    },
    {
      "name": "nav-menu-icons",
      "kind": "block",
      "primary": "col-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-nav-blocks/v050-nav-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Navigation menu where each item has a leading icon — icon-ui paired with a label inside nav-item-ui buttons, arranged vertically in an admin sidebar for primary route navigation.",
        "keywords": [
          "navigation",
          "menu",
          "icons",
          "nav-item-ui",
          "icon",
          "nav-ui",
          "sidebar",
          "admin",
          "icon-leading",
          "button-ui",
          "ghost",
          "icon-text",
          "vertical",
          "primary-nav"
        ]
      }
    },
    {
      "name": "toolbar-icons",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v050-nav-blocks/v050-nav-blocks.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Icon-only toolbar with grouped action buttons, separator-ui between groups, and tooltip-ui hints that appear on mouse-over hover to reveal each button's label.",
        "keywords": [
          "tooltip",
          "hover",
          "hint",
          "tooltip-ui",
          "popover",
          "label",
          "mouse-over",
          "trigger",
          "toolbar",
          "icon-buttons",
          "separator-ui",
          "grouped",
          "editor",
          "tools",
          "formatting",
          "icon-only"
        ]
      }
    },
    {
      "name": "calendar-month-view",
      "kind": "block",
      "primary": "card-ui",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Inline month-view calendar grid with weekday headers, day cells, and month navigation. Built on calendar-grid-ui (substrate primitive); calendar-picker-ui adds a popover trigger for form participation.",
        "keywords": [
          "calendar",
          "date",
          "picker",
          "month",
          "navigation",
          "calendar-grid-ui",
          "month-view",
          "weekday",
          "day",
          "grid",
          "schedule",
          "appointment",
          "navigate",
          "inline"
        ]
      }
    },
    {
      "name": "color-picker-swatches",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Color picker with OKLCH input + preset swatch palette. Click a swatch to apply; manual input edits the picker.",
        "keywords": [
          "color",
          "picker",
          "swatch",
          "palette",
          "oklch",
          "hex",
          "preset",
          "accent",
          "token",
          "chooser"
        ]
      }
    },
    {
      "name": "slider-range-controls",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Range slider with min/max numeric inputs flanking the slider track. Allows direct value entry or drag-to-set.",
        "keywords": [
          "slider",
          "range",
          "min",
          "max",
          "input",
          "numeric",
          "value",
          "control",
          "bound",
          "dual-handle"
        ]
      }
    },
    {
      "name": "pagination-controls",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Pagination controls — prev/next buttons + page-number tiles + ellipsis collapse for long ranges + total-pages indicator.",
        "keywords": [
          "pagination",
          "paginate",
          "page",
          "navigate",
          "prev",
          "next",
          "jump",
          "list",
          "browse",
          "pages"
        ]
      }
    },
    {
      "name": "popover-with-content",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "navigation",
        "description": "Popover anchored to a trigger button, containing a small content panel with a heading + body text + close affordance.",
        "keywords": [
          "popover",
          "popup",
          "overlay",
          "anchor",
          "trigger",
          "content",
          "tooltip",
          "floating",
          "panel",
          "hint",
          "dropdown"
        ]
      }
    },
    {
      "name": "avatar-group-overflow",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Avatar stack showing first 4 members with a +N overflow indicator for additional members. Used for team rosters, collaborators, attendees.",
        "keywords": [
          "avatar",
          "group",
          "stack",
          "overflow",
          "members",
          "team",
          "roster",
          "collaborators",
          "attendees",
          "count",
          "plus",
          "more"
        ]
      }
    },
    {
      "name": "divider-text-label",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Horizontal divider with a centered text label between two horizontal-rule segments. Common section-separator pattern in long forms or feeds.",
        "keywords": [
          "divider",
          "separator",
          "rule",
          "line",
          "label",
          "text",
          "section",
          "break",
          "or",
          "middle",
          "horizontal",
          "hr"
        ]
      }
    },
    {
      "name": "video-player-controls",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Video player with poster image, transport controls (play, scrub, volume, fullscreen), and elapsed/total time display.",
        "keywords": [
          "video",
          "player",
          "playback",
          "play",
          "pause",
          "scrub",
          "progress",
          "volume",
          "fullscreen",
          "media",
          "controls"
        ]
      }
    },
    {
      "name": "empty-state-danger",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Full-section error empty-state when content cannot be loaded — colored icon+text, no background tint, with a Retry action.",
        "keywords": [
          "empty",
          "state",
          "error",
          "danger",
          "api",
          "failure",
          "cannot",
          "load",
          "retry",
          "permission",
          "error",
          "state"
        ]
      }
    },
    {
      "name": "empty-state-warning",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Full-section permission-gate empty-state — colored icon+text, no background tint, with a Request Access action.",
        "keywords": [
          "empty",
          "state",
          "warning",
          "permission",
          "access",
          "restricted",
          "gate",
          "forbidden"
        ]
      }
    },
    {
      "name": "empty-state-minimal",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Compact inline empty placeholder for tables, lists, or pane bodies — single line with icon + heading + description, no full-canvas chrome.",
        "keywords": [
          "empty",
          "state",
          "minimal",
          "inline",
          "compact",
          "table",
          "list",
          "placeholder",
          "no-results"
        ]
      }
    },
    {
      "name": "responsive-kpi-grid",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Responsive KPI stat-card grid — 1 column on mobile, 2 on tablet (sm+), 4 on desktop (lg+) using @bp notation.",
        "keywords": [
          "responsive",
          "kpi",
          "stat",
          "grid",
          "mobile",
          "tablet",
          "desktop",
          "breakpoint",
          "columns",
          "adaptive",
          "layout"
        ]
      }
    },
    {
      "name": "select-multiple-preselected",
      "kind": "block",
      "primary": "section",
      "instances": 1,
      "pages": [
        "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Multi-select field with declaratively pre-selected options via &lt;option selected&gt;. All selected options are captured on init (FB-46 fix); comma-joined value string used for multi-select.",
        "keywords": [
          "select",
          "multiple",
          "pre-selected",
          "option",
          "selected",
          "form",
          "field",
          "multi-value",
          "picker",
          "init",
          "value"
        ]
      }
    },
    {
      "name": "card-with-stat-kpi",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/card/card.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "KPI card — card containing a stat-ui metric with label, value, trend indicator, and optional icon.",
        "keywords": [
          "card",
          "stat",
          "kpi",
          "metric",
          "value",
          "trend",
          "dashboard",
          "analytics",
          "revenue",
          "users",
          "conversion"
        ]
      }
    },
    {
      "name": "card-with-form",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/card/card.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Form card — card containing labeled form fields with a footer action row. Standard shape for settings forms and quick-edit surfaces.",
        "keywords": [
          "card",
          "form",
          "fields",
          "input",
          "select",
          "label",
          "footer",
          "actions",
          "save",
          "cancel",
          "settings",
          "quick-edit"
        ]
      }
    },
    {
      "name": "card-with-empty-state",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/card/card.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Empty state card — card showing no-data placeholder with icon, message, and CTA. Use when a data table or list has no rows.",
        "keywords": [
          "card",
          "empty",
          "state",
          "no",
          "data",
          "placeholder",
          "icon",
          "cta",
          "button",
          "list",
          "table",
          "zero",
          "rows"
        ]
      }
    },
    {
      "name": "card-with-sparkline",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/card/card.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Sparkline card — KPI metric above a compact line chart. Standard dashboard widget for time-series summaries.",
        "keywords": [
          "card",
          "sparkline",
          "chart",
          "line",
          "metric",
          "kpi",
          "dashboard",
          "widget",
          "time-series",
          "trend",
          "mini-chart"
        ]
      }
    },
    {
      "name": "col-form-stack",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/col/col.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Vertical form field stack — col-ui wrapping labeled inputs with consistent gap. The canonical form layout.",
        "keywords": [
          "col",
          "column",
          "form",
          "fields",
          "stack",
          "vertical",
          "gap",
          "input",
          "layout",
          "stacked"
        ]
      }
    },
    {
      "name": "col-heading-body-action",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/col/col.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Content stack — heading, body text, and CTA button stacked vertically. Common inside cards, modals, and empty states.",
        "keywords": [
          "col",
          "column",
          "heading",
          "body",
          "text",
          "action",
          "cta",
          "button",
          "content",
          "stack",
          "vertical",
          "card"
        ]
      }
    },
    {
      "name": "col-stat-label",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/col/col.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "KPI stack — metric value above label. Used in stat cards, dashboard widgets, and analytics tiles.",
        "keywords": [
          "col",
          "column",
          "stat",
          "kpi",
          "metric",
          "value",
          "label",
          "number",
          "analytics",
          "dashboard",
          "widget"
        ]
      }
    },
    {
      "name": "drawer-with-create-form",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/drawer/drawer.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "forms",
        "description": "Create form drawer — drawer with labeled form fields and sticky footer Cancel/Save actions. Standard shape for '+ New X' triggers.",
        "keywords": [
          "drawer",
          "form",
          "create",
          "new",
          "fields",
          "input",
          "footer",
          "actions",
          "cancel",
          "save",
          "sticky",
          "scrollable",
          "side",
          "panel"
        ]
      }
    },
    {
      "name": "drawer-record-detail",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/drawer/drawer.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Record detail drawer — read-only view of a record's fields in a right-side drawer. Common for list rows that reveal detail on click.",
        "keywords": [
          "drawer",
          "detail",
          "record",
          "view",
          "inspect",
          "side",
          "panel",
          "fields",
          "label",
          "value",
          "read-only",
          "table",
          "list",
          "row",
          "click"
        ]
      }
    },
    {
      "name": "grid-kpi-4col",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/grid/grid.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "4-column KPI grid — stat cards in a fixed grid layout for dashboard metrics.",
        "keywords": [
          "grid",
          "kpi",
          "stat",
          "card",
          "dashboard",
          "metrics",
          "4-column",
          "fixed",
          "layout"
        ]
      }
    },
    {
      "name": "grid-responsive-kpi",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/grid/grid.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Responsive KPI grid — 1 column on mobile, 2 on tablet, 4 on desktop using @bp notation.",
        "keywords": [
          "grid",
          "responsive",
          "breakpoint",
          "columns",
          "kpi",
          "card",
          "layout",
          "1",
          "2",
          "4",
          "mobile",
          "tablet",
          "desktop",
          "@bp"
        ]
      }
    },
    {
      "name": "grid-2col-entry-cards",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/grid/grid.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "2-column entry card grid — feature cards in a 2-up grid. Common on landing pages and onboarding flows.",
        "keywords": [
          "grid",
          "2-column",
          "cards",
          "features",
          "options",
          "entry",
          "landing",
          "onboarding",
          "layout"
        ]
      }
    },
    {
      "name": "row-action-cluster",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/row/row.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Horizontal action cluster — button group in a row with gap. Default shape for cancel + submit.",
        "keywords": [
          "row",
          "buttons",
          "actions",
          "cluster",
          "inline",
          "flex",
          "gap",
          "horizontal",
          "cancel",
          "submit"
        ]
      }
    },
    {
      "name": "row-avatar-name-role",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/row/row.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "User identity row — avatar beside name and role. Common in tables, sidebars, and user lists.",
        "keywords": [
          "row",
          "avatar",
          "name",
          "role",
          "user",
          "identity",
          "inline",
          "person",
          "member",
          "team",
          "horizontal"
        ]
      }
    },
    {
      "name": "row-spread-label-value",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/row/row.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Spread row — label pushed left, value pushed right via justify=space-between. Common in summary rows and list items.",
        "keywords": [
          "row",
          "spread",
          "justify",
          "space-between",
          "label",
          "value",
          "summary",
          "stat",
          "horizontal",
          "flex"
        ]
      }
    },
    {
      "name": "row-wrap-tags",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/row/row.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Wrapping badge/tag row — chip group that wraps to new lines when overflow occurs.",
        "keywords": [
          "row",
          "wrap",
          "tags",
          "badges",
          "chips",
          "cluster",
          "horizontal",
          "flex-wrap",
          "overflow",
          "categories",
          "filters"
        ]
      }
    },
    {
      "name": "row-icon-label",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/row/row.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Icon beside text label — status indicator row with leading icon and text.",
        "keywords": [
          "row",
          "icon",
          "label",
          "status",
          "indicator",
          "inline",
          "leading",
          "icon-text",
          "horizontal"
        ]
      }
    },
    {
      "name": "stack-avatar-badge-overlay",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/stack/stack.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Overlay stack — avatar with a status badge overlaid at a corner. Classic notification indicator pattern.",
        "keywords": [
          "stack",
          "overlay",
          "z-axis",
          "avatar",
          "badge",
          "status",
          "indicator",
          "notification",
          "overlay",
          "position"
        ]
      }
    },
    {
      "name": "stack-image-shimmer",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/stack/stack.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Loading overlay — content placeholder with shimmer overlaid on top of image or card content.",
        "keywords": [
          "stack",
          "overlay",
          "shimmer",
          "loading",
          "skeleton",
          "placeholder",
          "image",
          "card",
          "overlay",
          "z-axis"
        ]
      }
    },
    {
      "name": "table-with-toolbar-card",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/table/table.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Data table with toolbar in card — table-toolbar-ui above a sortable table wrapped in a card. Standard data grid pattern.",
        "keywords": [
          "table",
          "toolbar",
          "search",
          "filter",
          "sort",
          "card",
          "data",
          "grid",
          "employees",
          "members",
          "sortable",
          "selectable"
        ]
      }
    },
    {
      "name": "table-empty-state",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/table/table.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Empty data table — table with no rows showing an empty-state-ui placeholder with icon and CTA.",
        "keywords": [
          "table",
          "empty",
          "state",
          "no",
          "data",
          "placeholder",
          "icon",
          "cta",
          "zero",
          "rows",
          "grid",
          "list"
        ]
      }
    },
    {
      "name": "table-toolbar-with-table",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/table-toolbar/table-toolbar.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Data table with toolbar — table-toolbar-ui above card-wrapped table-ui. Standard data grid pattern with search, filter, sort, and column visibility.",
        "keywords": [
          "table",
          "toolbar",
          "search",
          "filter",
          "sort",
          "columns",
          "data",
          "grid",
          "employees",
          "members",
          "users",
          "card"
        ]
      }
    },
    {
      "name": "table-toolbar-no-search",
      "kind": "block",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/components/table-toolbar/table-toolbar.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "data",
        "description": "Standalone table toolbar — title + count + filter/sort controls, no search. variant=card gives it surface chrome when it stands outside a card-ui.",
        "keywords": [
          "table",
          "toolbar",
          "filter",
          "sort",
          "columns",
          "controls",
          "no-search",
          "standalone",
          "card",
          "data",
          "grid"
        ]
      }
    },
    {
      "name": "admin-shell-standard",
      "kind": "page",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/patterns/admin-shell/admin-shell.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Standard admin shell — leading sidebar with workspace switcher, nav rail, user switcher; content column with topbar breadcrumb and scrollable page.",
        "keywords": [
          "admin",
          "shell",
          "layout",
          "sidebar",
          "nav",
          "topbar",
          "breadcrumb",
          "content",
          "page",
          "dashboard",
          "saas"
        ]
      }
    },
    {
      "name": "admin-shell-rounded-borderless",
      "kind": "page",
      "primary": "div",
      "instances": 1,
      "pages": [
        "/packages/web-components/patterns/admin-shell/admin-shell.examples.html"
      ],
      "slots": [],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "Rounded borderless admin shell — floating card aesthetic with gap between sidebar and content. Modern SaaS visual style.",
        "keywords": [
          "admin",
          "shell",
          "rounded",
          "borderless",
          "floating",
          "card",
          "sidebar",
          "content",
          "modern",
          "saas",
          "aesthetic",
          "layout"
        ]
      }
    },
    {
      "name": "responsive-shell-sidebar",
      "kind": "page",
      "primary": "body",
      "instances": 1,
      "pages": [
        "/packages/web-components/patterns/responsive-shell-sidebar/responsive-shell-sidebar.examples.html"
      ],
      "slots": [
        "leading-inline",
        "main",
        "narrow-toolbar",
        "trailing-inline",
        "leading-drawer",
        "trailing-drawer"
      ],
      "nested": [],
      "metadata": {
        "domain": "layout",
        "description": "\"Editor-shell"
      }
    }
  ]
}
