# AUTHORED judgment layer for the patterns & templates index — hand-edited.
# Key = sitemap content path. Fields: category (SKILL.md taxonomy), intent
# (<=160 chars, what it is + when to reach for it), keywords (3-6 synonyms).
# Merged into generated outputs by scripts/build/patterns-index.mjs;
# npm run verify:patterns-index fails on any gap between this file and site/sitemap.json.

/packages/web-components/patterns/overview/overview.examples.html:
  category: navigation
  intent: Decision-matrix hub indexing every AdiaUI pattern by builder intent — start here to route from 'I need to build X' to the right pattern.
  keywords:
    - pattern index
    - decision matrix
    - catalog
    - directory
    - hub
/packages/web-components/patterns/admin-shell/admin-shell.examples.html:
  category: shell-chrome
  intent: Canonical admin/SaaS/dashboard app shell — sidebar, topbar, scrollable content, statusbar, command palette; reach for a full internal app.
  keywords:
    - dashboard
    - saas
    - app frame
    - layout scaffold
    - workspace
/site/pages/patterns/page-header.html:
  category: shell-chrome
  intent: The sticky page-title band inside page-ui band — title, description, right-aligned page actions, and an optional tab row.
  keywords:
    - title band
    - deck
    - subtitle
    - action row
    - sticky title
    - page-ui band
/site/pages/patterns/admin-sidebar.html:
  category: navigation
  intent: The admin left rail — workspace + user switchers over a nav tree, with grouped, divided, sub-nav, and sign-in variants.
  keywords:
    - side rail
    - workspace switcher
    - account menu
    - left nav
    - rail
/site/pages/patterns/admin-content-topbar.html:
  category: shell-chrome
  intent: The app-chrome top band of the content column — sidebar toggle, breadcrumb trail, spacer, then a trailing actions cluster.
  keywords:
    - app bar
    - breadcrumb bar
    - toolbar
    - header band
    - action cluster
/site/pages/patterns/admin-content-aside.html:
  category: shell-chrome
  intent: Content-attached rails — an in-content section subnav or a trailing inspector/changelog pane beside the page body.
  keywords:
    - inspector rail
    - side panel
    - subnav
    - right rail
    - context pane
/site/pages/patterns/appearance-settings.html:
  category: tokens-theming
  intent: The theme/density/radius/color-scheme settings row — theme-panel for the quick path, hand-rolled primitives with persisted (not computed-style) state for a page-fitted path.
  keywords:
    - appearance settings
    - theme panel
    - density slider
    - radius slider
    - color scheme
    - persisted state
/packages/web-components/patterns/app-nav/app-nav.examples.html:
  category: navigation
  intent: Sidebar navigation tree — grouped collapsible items, dividers, section labels, badges, and popover flyouts when collapsed.
  keywords:
    - menu tree
    - side rail
    - groups
    - flyout
    - collapsible menu
/packages/web-components/patterns/chat-shell/chat-shell.examples.html:
  category: chat-ai
  intent: LLM chat surface — header, streaming thread, composer, optional sidebar. Doc-hub — copy its "Canonical hierarchy" code sample, not the components list.
  keywords:
    - conversation
    - messaging
    - assistant
    - llm interface
    - streaming thread
/packages/web-components/patterns/component-tokens/component-tokens.examples.html:
  category: tokens-theming
  intent: The component CSS recipe — @scope isolation, --component-prop tokens, :where(:scope) defaults. Doc-hub, not a surface — read it, don't copy its components list.
  keywords:
    - css scope
    - custom properties
    - theming
    - style isolation
    - overridable
/packages/web-components/patterns/form-system/form-system.examples.html:
  category: forms-input
  intent: The form-participation system — UIFormElement/ElementInternals give custom elements native submit, validation, and reset.
  keywords:
    - validation
    - inputs
    - fields
    - elementinternals
    - constraint
/packages/web-components/patterns/editor-shell/editor-shell.examples.html:
  category: shell-chrome
  intent: Design-tool/code-editor shell — toolbar, navigator, canvas, inspector, statusbar. Doc-hub — copy its canonical-hierarchy code sample, not the components list.
  keywords:
    - canvas layout
    - ide
    - workspace panes
    - design tool
    - inspector
/packages/web-components/patterns/agent-cost/agent-cost.examples.html:
  category: agent-ops
  intent: Surfaces an agent's own consumption — inline token/cost footer, detailed billing breakdown card, and rate-limit warning.
  keywords:
    - token count
    - billing
    - spend
    - quota
    - rate limit
/packages/web-components/patterns/agent-memory/agent-memory.examples.html:
  category: agent-ops
  intent: Surfaces to audit and edit what an agent remembers — a memory list, a single-entry detail, and an add/revise editor.
  keywords:
    - context
    - recall
    - saved facts
    - persistence
    - remember
/packages/web-components/patterns/agent-prompt-library/agent-prompt-library.examples.html:
  category: agent-ops
  intent: Saved-prompt store — a full library grid, a compact in-context recall picker, and the reusable prompt card shared by both.
  keywords:
    - snippets
    - templates
    - slash menu
    - saved queries
    - presets
/packages/web-components/patterns/agent-tool-call/agent-tool-call.examples.html:
  category: agent-ops
  intent: The block an agent renders when it invokes a tool — running, success, error, and collapsed states over agent-artifact-ui.
  keywords:
    - function invocation
    - tool use
    - api call
    - action block
    - trace
/packages/web-components/patterns/chart-in-card/chart-in-card.examples.html:
  category: data-viz
  intent: Embeds a chart inside a card so it reads as a dashboard tile — sparkline tile, full framed chart, or chart-plus-headline-stat.
  keywords:
    - dashboard tile
    - kpi tile
    - sparkline
    - metric tile
    - graph
/packages/web-components/patterns/new-enrollments/new-enrollments.examples.html:
  category: data-viz
  intent: A "New enrollments" dashboard card recreated across four chart-type variants (stacked-bar, area, sparkline, radial-bar) sharing one header grammar, composing the Charts 2.0 foundations (chip labels, today-marker, provisional state, legend band).
  keywords:
    - new enrollments
    - dashboard card
    - stacked bar
    - area chart
    - sparkline
    - radial bar
    - provisional state
    - today marker
    - legend band
/site/pages/patterns/charts.html:
  category: data-viz
  intent: Full live-demo reference for Charts 2.0 — all 18 chart-ui types, the ADR-0074 ratio grammar (auto-snap + explicit pin), chart-legend-ui's ratio-responsive row/grid/list layouts, the chart-in-card full-bleed pattern, and every ratified chart-ui attribute.
  keywords:
    - chart types
    - ratio grammar
    - chart legend
    - full bleed
    - ADR-0074
    - data visualization
/packages/web-components/patterns/conversion-funnel/conversion-funnel.examples.html:
  category: data-viz
  intent: Multi-step drop-off funnel built from labeled progress rows — reach for onboarding, checkout, activation, or paywall sequences.
  keywords:
    - drop-off
    - activation
    - checkout steps
    - sign-up flow
    - progress rows
/packages/web-components/patterns/retention-cohort/retention-cohort.examples.html:
  category: data-viz
  intent: Retention cohort heatmap rendered as a table with color-bucketed badge cells — reach for it for retention/decay reporting.
  keywords:
    - heatmap
    - churn
    - decay
    - weekly buckets
    - engagement grid
/packages/web-components/patterns/access-requests/access-requests.examples.html:
  category: permissions-access
  intent: The request-access flow when a user lacks permission — access-denied CTA, the request form, and the pending-status follow-up.
  keywords:
    - "403"
    - permission denied
    - grant
    - restricted resource
    - gatekeeping
/packages/web-components/patterns/admin-keys-and-export/admin-keys-and-export.examples.html:
  category: permissions-access
  intent: API-key/webhook management plus GDPR/CCPA data export — secret-masking and destructive-action wiring for account admin.
  keywords:
    - api tokens
    - webhooks
    - secrets
    - credentials
    - gdpr
/packages/web-components/patterns/alert-dialog/alert-dialog.examples.html:
  category: overlays
  intent: Blocking destructive-confirmation modal (WAI alertdialog) — a simple one-click confirm and a high-consequence type-to-confirm gate.
  keywords:
    - confirmation
    - destructive action
    - are you sure
    - delete guard
    - modal
/packages/web-components/patterns/audit-log/audit-log.examples.html:
  category: data-table
  intent: Timestamped actor/action/resource rows for compliance and security review — a filterable, paginated table with severity-tagged verbs.
  keywords:
    - activity history
    - compliance trail
    - security review
    - events
    - tracing
/packages/web-components/patterns/changelog-feed/changelog-feed.examples.html:
  category: notifications-status
  intent: In-app 'what's new' surface — per-release version/date headers with Added/Changed/Fixed sections, Keep-a-Changelog style.
  keywords:
    - release notes
    - whats new
    - product updates
    - version history
    - announcements
/packages/web-components/patterns/export-flow/export-flow.examples.html:
  category: forms-input
  intent: Standalone export-request form — pick scope, format, and download-now vs email-when-ready delivery; reach for any 'Export…' affordance.
  keywords:
    - download
    - csv
    - xlsx
    - delivery
    - async job
    - report
/packages/web-components/patterns/inline-dialog/inline-dialog.examples.html:
  category: overlays
  intent: Anchored non-modal popover carrying a 1–3 field mini-form — reach for it for reversible in-context micro-decisions like rename or set-status.
  keywords:
    - popover
    - anchored
    - non-modal
    - contextual
    - confirm
    - quick edit
/packages/web-components/patterns/timezone-selector/timezone-selector.examples.html:
  category: forms-input
  intent: Searchable IANA zone picker (region/city · UTC±N) from browser Intl data — reach for it for scheduling, log-display, or user prefs.
  keywords:
    - iana
    - utc offset
    - dst
    - locale
    - scheduling
    - region picker
/packages/web-components/patterns/approvals/approvals.examples.html:
  category: workflow
  intent: Queue-plus-detail surface for items awaiting a human approve/reject gate — reach for it for expense, PR, or access-request review flows.
  keywords:
    - sign-off
    - review queue
    - expense
    - access request
    - pending
    - gate
/packages/web-components/patterns/bulk-action-toolbar/bulk-action-toolbar.examples.html:
  category: data-table
  intent: Contextual action bar that swaps the table toolbar when rows are selected — reach for it for batch archive/delete/export on a grid.
  keywords:
    - multi-select
    - batch
    - selection
    - archive
    - contextual
    - delete
/packages/web-components/patterns/comments-and-collaboration/comments-and-collaboration.examples.html:
  category: collaboration
  intent: Comment threads with @-mentions and emoji reactions on any object — reach for it to let users discuss a doc, task, row, or design.
  keywords:
    - threads
    - mentions
    - reactions
    - replies
    - discussion
    - annotations
/packages/web-components/patterns/data-tables-inline-edit-and-tree/data-tables-inline-edit-and-tree.examples.html:
  category: data-table
  intent: Spreadsheet-style inline-edit grid and hierarchical tree table — reach for it for bulk row correction or recursively nested data.
  keywords:
    - spreadsheet
    - editable cells
    - hierarchy
    - expand collapse
    - nested rows
    - grid
/packages/web-components/patterns/diff-review/diff-review.examples.html:
  category: workflow
  intent: Before/after viewer in code, prose, or field-delta form — reach for it to show what changed before an approve, merge, or rollback.
  keywords:
    - comparison
    - before after
    - changeset
    - merge
    - side by side
    - delta
/packages/web-components/patterns/filter-bar/filter-bar.examples.html:
  category: data-table
  intent: Row of removable facet chips above a table/list with an add-filter popover — reach for it when users stack multiple faceted filters.
  keywords:
    - facet
    - chips
    - refine
    - narrow
    - segment
    - query
/packages/web-components/patterns/form-drawer/form-drawer.examples.html:
  category: forms-input
  intent: Side drawer with a sticky action footer for create/edit forms — reach for it for '+ New X' flows that fit one screen of fields.
  keywords:
    - side panel
    - create
    - edit
    - sticky footer
    - slide-in
    - new record
/packages/web-components/patterns/forms-conditional-and-autocomplete/forms-conditional-and-autocomplete.examples.html:
  category: forms-input
  intent: Forms that reveal fields from prior answers and resolve free-text addresses into structured fields — for branching or address input.
  keywords:
    - reveal
    - dependent fields
    - address lookup
    - branching
    - dynamic
    - geocode
/packages/web-components/patterns/kanban-board/kanban-board.examples.html:
  category: workflow
  intent: Drag-to-reorder sortable list and multi-column status board — reach for it when item order or column membership is itself the state.
  keywords:
    - drag drop
    - swimlanes
    - sprint
    - pipeline
    - sortable
    - reorder
/packages/web-components/patterns/marketing-engagement/marketing-engagement.examples.html:
  category: marketing
  intent: Hero/CTA blocks, referral-invite flows, and achievement moments — reach for it for landing pages and growth/engagement surfaces.
  keywords:
    - hero
    - cta
    - referral
    - invite
    - landing page
    - gamification
/packages/web-components/patterns/notifications-bell-and-digest/notifications-bell-and-digest.examples.html:
  category: notifications-status
  intent: App-shell bell popover of unread items plus an email-digest preview — reach for it for the ambient alert glance and digest opt-in.
  keywords:
    - unread
    - popover
    - activity feed
    - alerts
    - summary email
    - inbox
/packages/web-components/patterns/permissions-matrix/permissions-matrix.examples.html:
  category: permissions-access
  intent: RBAC grid of capabilities × roles with checkbox cells plus a plain-language role summary — reach for it for configurable role authoring.
  keywords:
    - rbac
    - roles
    - capabilities
    - grid
    - access control
    - entitlements
/packages/web-components/patterns/permissions-role-picker/permissions-role-picker.examples.html:
  category: permissions-access
  intent: Role-assignment surface — a rich radio group for deliberate picks, a compact select for inline table edits — reach for it at invite/promote.
  keywords:
    - rbac
    - assign
    - invite
    - radio group
    - access level
    - member
/packages/web-components/patterns/permissions-sharing/permissions-sharing.examples.html:
  category: permissions-access
  intent: "Share-a-resource surfaces: visibility scope picker, share link with expiry, add-people autocomplete — reach for it for a Share dialog."
  keywords:
    - visibility
    - share link
    - expiry
    - invite people
    - scope
    - access
/packages/web-components/patterns/profile-public-and-verification/profile-public-and-verification.examples.html:
  category: permissions-access
  intent: Shareable public profile page plus a KYC identity-verification flow — reach for it for external bylines or regulated identity checks.
  keywords:
    - kyc
    - identity
    - verified badge
    - byline
    - onboarding
    - account
/packages/web-components/patterns/record-detail-drawer/record-detail-drawer.examples.html:
  category: overlays
  intent: Side drawer showing a selected row's details over tabs — reach for it for list-detail workflows that must keep list scroll and filters.
  keywords:
    - side panel
    - row inspector
    - peek
    - tabbed
    - contact
    - order
/packages/web-components/patterns/search-discovery/search-discovery.examples.html:
  category: search-discovery
  intent: The surfaces around a search input — result lists, recent queries, saved views — reach for it to build out what shows below the box.
  keywords:
    - results
    - recents
    - saved views
    - ranked list
    - typeahead
    - autocomplete
/packages/web-components/patterns/sidebar-modal/sidebar-modal.examples.html:
  category: overlays
  intent: A modal-ui[size="xl"] whose left region is a progress stepper or nav tabs sidebar beside a header/content/footer page — reach for it for settings dialogs and multi-step wizards that need persistent side navigation.
  keywords:
    - settings dialog
    - wizard
    - stepper sidebar
    - nav sidebar
    - jump back
    - two-column modal
/packages/web-components/patterns/system-banners/system-banners.examples.html:
  category: notifications-status
  intent: Persistent strip banners above the app shell — offline/maintenance status, live updates, announcements — reach for top-of-app messaging.
  keywords:
    - offline
    - maintenance
    - announcement
    - strip
    - degraded
    - promo
/packages/web-components/patterns/wizard-drawer/wizard-drawer.examples.html:
  category: workflow
  intent: Multi-step form in a drawer with a header stepper and Back/Next footer — reach for it for 3–5 step onboarding or guided setup flows.
  keywords:
    - stepper
    - multi-step
    - onboarding
    - guided setup
    - progress
    - steps
/packages/web-components/patterns/table-in-card/table-in-card.examples.html:
  category: data-table
  intent: The full table structural system in a card — header title/action, a title-less toolbar row, a bleed table, and a footer with a range label + pager — reach for it for any card-framed data grid that needs a pager.
  keywords:
    - data grid
    - pagination
    - table footer
    - table toolbar
    - status dot
    - kebab actions
/apps/overview.examples.html:
  category: app-overview
  intent: Index page cataloguing full-page AdiaUI example compositions — reach for it as a docs gallery landing that lists the available demo screens.
  keywords:
    - examples
    - gallery
    - index
    - landing
    - showcase
/playgrounds/composed-flow/app/composed-flow.contents.html:
  category: trait-composition
  intent: Checkout→success flow stitched from six independent traits — reach for it as the canonical place-order → success product moment.
  keywords:
    - place-order
    - payment
    - celebration
    - animation
    - ecommerce
/apps/saas/app/admin-dashboard/admin-dashboard.contents.html:
  category: dashboard
  intent: Tabbed SaaS analytics dashboard (KPI grid, activity chart, transactions table) — reach for it as the app's home monitoring surface.
  keywords:
    - analytics
    - kpi
    - metrics
    - saas
    - home
/apps/saas/app/settings-page/settings-page.contents.html:
  category: settings-page
  intent: Workspace general-settings page — name, defaults, appearance, notifications, danger zone; reach for it as the primary settings surface.
  keywords:
    - workspace
    - preferences
    - configuration
    - account
    - defaults
/apps/saas/app/billing/billing.contents.html:
  category: settings-page
  intent: Billing settings sub-page — trial countdown, plan card with monthly/annual toggle, usage quotas; reach for it as the plan-and-usage tab.
  keywords:
    - subscription
    - plan
    - invoice
    - usage
    - quota
/apps/saas/app/members/members.contents.html:
  category: settings-page
  intent: Members settings sub-page — invite-by-email form plus an active roster table with roles; reach for it as the workspace people-management tab.
  keywords:
    - team
    - invite
    - roster
    - roles
    - seats
/apps/saas/app/integrations/integrations.contents.html:
  category: settings-page
  intent: Connected-apps settings sub-page — grid of third-party cards with per-app configure drawers; reach for it as the app-connections settings tab.
  keywords:
    - apps
    - connections
    - oauth
    - third-party
    - services
/apps/saas/app/profile-security/profile-security.contents.html:
  category: settings-page
  intent: Profile-and-security settings sub-page — name/avatar fields, password change, 2FA setup, sessions; reach for it as the account-security tab.
  keywords:
    - account
    - password
    - 2fa
    - sessions
    - authentication
/apps/user-flow/app/auth/sign-in/sign-in.html:
  category: auth-flow
  intent: Email-entry sign-in card with social/SSO provider buttons — reach for it as the first login step before a password or one-time code is asked.
  keywords:
    - login
    - authenticate
    - credentials
    - social-login
    - email-entry
/apps/user-flow/app/auth/sign-in/password/password.html:
  category: auth-flow
  intent: Password-entry sign-in step for a known email — reach for it after the email step to collect the password, with magic-link/OTP fallbacks.
  keywords:
    - login
    - credentials
    - signin
    - passphrase
    - remember-me
/apps/user-flow/app/auth/sign-in/magic-link/sent/sent.html:
  category: auth-flow
  intent: Passwordless check-your-email confirmation after a sign-in link is emailed — reach for it to confirm a one-time login link was sent.
  keywords:
    - passwordless
    - check-email
    - confirmation
    - resend
    - inbox
/apps/user-flow/app/auth/sign-in/otp/verify/verify.html:
  category: auth-flow
  intent: 6-digit one-time-code entry for passwordless sign-in or 2nd factor — reach for it when the user types a code sent by email or SMS.
  keywords:
    - passcode
    - one-time-code
    - 2fa
    - sms-code
    - totp
/apps/user-flow/app/auth/sign-in/mfa/mfa.html:
  category: auth-flow
  intent: Two-factor challenge after the password succeeds — reach for it to collect the authenticator TOTP code as a second factor during sign-in.
  keywords:
    - two-factor
    - 2fa
    - authenticator
    - totp
    - second-factor
/apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.html:
  category: auth-flow
  intent: Backup-code entry when the authenticator is unavailable — reach for it as the 2FA fallback to sign in with a saved recovery code.
  keywords:
    - backup-code
    - 2fa-fallback
    - lost-device
    - authenticator
    - security-key
/apps/user-flow/app/auth/sign-up/sign-up.html:
  category: auth-flow
  intent: "New-account registration card: email plus social provider buttons — reach for it as the first step to create an account."
  keywords:
    - register
    - create-account
    - registration
    - oauth
    - social-login
/apps/user-flow/app/auth/sign-up/verify/verify.html:
  category: auth-flow
  intent: Sign-up email verification — enter the 6-digit code sent to activate a new account, right after registering.
  keywords:
    - confirm-email
    - activation
    - otp
    - code-entry
    - six-digit
/apps/user-flow/app/auth/sign-up/profile/profile.html:
  category: onboarding-flow
  intent: "First-run profile setup: collect full name and display name/handle — reach for it after account creation to personalize a new account."
  keywords:
    - onboarding
    - display-name
    - avatar
    - personalize
    - first-run
/apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.html:
  category: auth-flow
  intent: Two-factor enrollment — scan the authenticator QR and confirm a TOTP code to enable 2FA during sign-up or from settings.
  keywords:
    - two-factor
    - 2fa
    - enrollment
    - qr-code
    - totp
/apps/user-flow/app/auth/sign-up/sso-only/sso-only.html:
  category: auth-flow
  intent: SSO-required notice when password sign-up is disabled for a domain — reach for it to route enterprise users to their identity provider.
  keywords:
    - single-sign-on
    - enterprise
    - saml
    - identity-provider
    - okta
/apps/user-flow/app/auth/forgot-password/forgot-password.html:
  category: auth-flow
  intent: "Password-recovery start: enter your email to receive a reset link — reach for it as the first step of the forgot-password flow."
  keywords:
    - reset
    - recovery
    - request-link
    - account-recovery
    - email-entry
/apps/user-flow/app/auth/forgot-password/sent/sent.html:
  category: auth-flow
  intent: Confirmation that a password-reset email went out — reach for it after the forgot-password step to say check your inbox.
  keywords:
    - check-email
    - recovery
    - confirmation
    - inbox
    - resend
/apps/user-flow/app/auth/reset-password/reset-password.html:
  category: auth-flow
  intent: New-password form with confirm field, reached via the reset link — the final step where the user chooses a new password.
  keywords:
    - change-credentials
    - confirm
    - recovery
    - strength
    - choose-new
/apps/user-flow/app/auth/account-locked/account-locked.html:
  category: auth-flow
  intent: Locked-out notice after too many failed sign-ins — reach for it to explain the lockout and offer reset/backup-code/support options.
  keywords:
    - lockout
    - failed-attempts
    - blocked
    - rate-limit
    - security
/apps/user-flow/app/auth/link-expired/link-expired.html:
  category: auth-flow
  intent: Expired or used magic/reset link notice with a re-send email form — reach for it when a one-time link is no longer valid.
  keywords:
    - invalid
    - stale
    - resend
    - one-time
    - request-new
/apps/user-flow/app/auth/accept-invite/accept-invite.html:
  category: auth-flow
  intent: Team-invite landing with inviter, workspace, and accept/decline — reach for it when a user opens an invitation to join a workspace.
  keywords:
    - team
    - workspace
    - join
    - membership
    - decline
/apps/user-flow/app/auth/oauth/callback/callback.html:
  category: auth-flow
  intent: OAuth/SSO interstitial loading state while the provider redirect completes — reach for it to hold the user during the sign-in handoff.
  keywords:
    - loading
    - redirect
    - sso
    - interstitial
    - provider
/apps/user-flow/app/auth/email-change/verify/verify.html:
  category: auth-flow
  intent: Confirm-new-email step for an address change — reach for it to have the user approve switching their sign-in email to a new address.
  keywords:
    - update-address
    - confirm
    - new-address
    - verify
    - security
/apps/user-flow/app/auth/sign-out/sign-out.html:
  category: auth-flow
  intent: Signed-out confirmation after a session ends — reach for it as the post-logout landing offering sign-back-in or switch-account.
  keywords:
    - logout
    - session-end
    - goodbye
    - log-off
    - post-logout
/apps/user-flow/app/auth/session-expired/session-expired.html:
  category: auth-flow
  intent: Session-timeout notice after inactivity with a sign-back-in prompt — reach for it to re-authenticate a user whose session lapsed.
  keywords:
    - timeout
    - inactivity
    - re-login
    - re-authenticate
    - idle
/apps/user-flow/app/auth/forbidden/forbidden.html:
  category: auth-flow
  intent: 403 access-denied page when an account lacks permission — reach for it for a no-access state offering switch-account or request-access.
  keywords:
    - "403"
    - access-denied
    - permission
    - no-access
    - unauthorized
/apps/user-flow/app/auth/account-deleted/account-deleted.html:
  category: auth-flow
  intent: Account-deletion confirmation with an undo window — reach for it after deletion to show the recovery deadline and recover-account action.
  keywords:
    - removal
    - closed
    - undo
    - recover
    - grace-period
/apps/user-flow/app/registration/npi/npi.html:
  category: registration-flow
  intent: NPI-registry-lookup signup step — role radios, NPI/name search over a faux provider registry, selectable result cards, manual-entry fallback; reach for it as the identity-lookup first step of a healthcare registration wizard.
  keywords:
    - signup
    - npi
    - registry
    - provider
    - lookup
/apps/user-flow/app/registration/workspace/workspace.html:
  category: registration-flow
  intent: Name-your-workspace signup step — one name field with step progress; reach for it as the workspace-creation step of a registration wizard.
  keywords:
    - signup
    - organization
    - create
    - tenant
    - name
/apps/user-flow/app/registration/profile/profile.html:
  category: registration-flow
  intent: Tell-us-about-you signup step — avatar upload plus name fields; reach for it as the personal-details step of a registration wizard.
  keywords:
    - signup
    - avatar
    - name
    - personal
    - about-you
/apps/user-flow/app/registration/use-case/use-case.html:
  category: registration-flow
  intent: "'What brings you here?' signup step — option-card picker plus free-text; reach for it as the goal/intent-selection step of a signup wizard."
  keywords:
    - purpose
    - goal
    - intent
    - reason
    - segmentation
/apps/user-flow/app/registration/team-size/team-size.html:
  category: registration-flow
  intent: Team-size picker signup step — segmented control plus headcount select; reach for it as the company-size segmentation step of signup.
  keywords:
    - headcount
    - company
    - employees
    - seats
    - scale
/apps/user-flow/app/registration/invite/invite.html:
  category: registration-flow
  intent: Invite-teammates signup step — email input, role select, pending-invite cards; reach for it as the seat-invitation step of signup.
  keywords:
    - teammates
    - email
    - seats
    - colleagues
    - members
/apps/user-flow/app/registration/integrations/integrations.html:
  category: registration-flow
  intent: "'Connect your stack' signup step — grid of toggleable integration cards; reach for it as the optional tool-connection step during signup."
  keywords:
    - connect
    - apps
    - stack
    - tools
    - services
/apps/user-flow/app/registration/import/import.html:
  category: registration-flow
  intent: "'Bring your data' signup step — source select plus file upload with format tags; reach for it as the data-import step during registration."
  keywords:
    - data
    - upload
    - migrate
    - csv
    - source
/apps/user-flow/app/registration/plan/plan.html:
  category: registration-flow
  intent: Choose-a-plan signup step — option-card pricing tiers with badges; reach for it as the plan-selection step of a signup or upgrade wizard.
  keywords:
    - pricing
    - tier
    - subscription
    - package
    - select
/apps/user-flow/app/registration/billing/billing.html:
  category: registration-flow
  intent: Billing-details signup step — card and payment fields with step progress; reach for it as the payment-capture step of registration checkout.
  keywords:
    - payment
    - card
    - credit-card
    - checkout
    - pay
/apps/user-flow/app/registration/confirmation/confirmation.html:
  category: registration-flow
  intent: "'You're all set' signup confirmation — success card summarizing the new account; reach for it as a completion screen of a signup wizard."
  keywords:
    - success
    - done
    - complete
    - welcome
    - finished
/apps/user-flow/app/registration/legal/legal.html:
  category: registration-flow
  intent: Legal & tax-details signup step — entity fields, country select, consent checks; reach for it as the compliance step of a signup wizard.
  keywords:
    - tax
    - terms
    - consent
    - compliance
    - vat
/apps/user-flow/app/registration/address/address.html:
  category: registration-flow
  intent: Business-address signup step — street/city/country fields; reach for it as the address-capture step of registration or checkout.
  keywords:
    - location
    - street
    - city
    - country
    - mailing
/apps/user-flow/app/registration/brand-scrape/brand-scrape.html:
  category: registration-flow
  intent: "'Pull your brand' signup step — URL input that fetches logo/colors into preview cards; reach for it as the auto-brand-import step of signup."
  keywords:
    - logo
    - colors
    - website
    - url
    - theme
/apps/user-flow/app/registration/support/support.html:
  category: registration-flow
  intent: Customer-support setup signup step — configure help channels and contacts; reach for it as an optional support-setup step of registration.
  keywords:
    - help
    - contact
    - channels
    - desk
    - service
/apps/user-flow/app/registration/departments/departments.html:
  category: registration-flow
  intent: "'Set up your departments' signup step — add and name org departments; reach for it as the org-structure step of a multi-team registration."
  keywords:
    - teams
    - org
    - divisions
    - groups
    - units
/apps/user-flow/app/registration/org-review/org-review.html:
  category: registration-flow
  intent: "'Review your org chart' signup step — org-structure summary before finishing; reach for it as the org-confirmation step of registration."
  keywords:
    - organization
    - chart
    - structure
    - summary
    - hierarchy
/apps/user-flow/app/registration/personal/personal.html:
  category: registration-flow
  intent: "'Round out your profile' signup step — extra personal-detail fields; reach for it as a profile-completion step of a registration wizard."
  keywords:
    - profile
    - details
    - bio
    - about
    - complete
/apps/user-flow/app/registration/done/done.html:
  category: registration-flow
  intent: "'You're fully set up' final registration screen — completion card with next-action CTA; reach for it as a signup flow's terminal screen."
  keywords:
    - complete
    - finished
    - success
    - ready
    - all-set
/apps/user-flow/app/onboarding/welcome/welcome.html:
  category: onboarding-flow
  intent: Welcome splash greeting the new user with a start CTA; reach for it as the opening screen of a product onboarding flow.
  keywords:
    - intro
    - greeting
    - start
    - splash
    - get-started
/apps/user-flow/app/onboarding/mode/mode.html:
  category: onboarding-flow
  intent: "'How will you use it' onboarding step — pick a usage mode/persona via cards; reach for it as the mode/persona-selection step of onboarding."
  keywords:
    - usage
    - persona
    - workflow
    - choice
    - path
/apps/user-flow/app/onboarding/connect-source/connect-source.html:
  category: onboarding-flow
  intent: "'Connect your first source' onboarding step — link an initial data source; reach for it as the first-connection step of product onboarding."
  keywords:
    - integration
    - link
    - data
    - provider
    - first
/apps/user-flow/app/onboarding/import-data/import-data.html:
  category: onboarding-flow
  intent: "'Bring your data' onboarding step — upload or import records after connecting a source; reach for it as the data-import step of onboarding."
  keywords:
    - upload
    - migrate
    - csv
    - records
    - load
/apps/user-flow/app/onboarding/first-action/first-action.html:
  category: onboarding-flow
  intent: "'Your first dashboard' onboarding step — guides one core action; reach for it as the activation/aha-moment step of product onboarding."
  keywords:
    - activation
    - aha
    - guide
    - task
    - milestone
/apps/user-flow/app/onboarding/review/review.html:
  category: onboarding-flow
  intent: "'Review your setup' onboarding step — summary of choices before finishing; reach for it as the pre-completion review step of onboarding."
  keywords:
    - summary
    - confirm
    - recap
    - verify
    - overview
/apps/user-flow/app/onboarding/notification-prefs/notification-prefs.html:
  category: onboarding-flow
  intent: Notification-preferences onboarding step — toggles for email and push channels; reach for it as the alert opt-in step of product onboarding.
  keywords:
    - preferences
    - alerts
    - email
    - push
    - opt-in
/apps/user-flow/app/onboarding/mobile-app/mobile-app.html:
  category: onboarding-flow
  intent: "'Get the mobile app' onboarding step — QR and app-store links to install the companion app; reach for it as the mobile-install promo step."
  keywords:
    - download
    - ios
    - android
    - qr
    - install
/apps/user-flow/app/onboarding/browser-extension/browser-extension.html:
  category: onboarding-flow
  intent: "'Browser extension' onboarding step — prompts installing the browser add-on; reach for it as the extension-install promo step of onboarding."
  keywords:
    - chrome
    - addon
    - plugin
    - install
    - toolbar
/apps/user-flow/app/onboarding/complete/complete.html:
  category: onboarding-flow
  intent: "'All set' final onboarding screen — completion card launching the user into the product; reach for it as the terminal screen of onboarding."
  keywords:
    - done
    - finished
    - all-set
    - ready
    - launch
/apps/errors/app/404/404.html:
  category: system-status
  intent: 404 not-found error page — centered card with a message and a back-home CTA; reach for it as the missing-page or broken-link error surface.
  keywords:
    - error
    - missing
    - broken-link
    - lost
    - dead-end
/apps/errors/app/500/500.html:
  category: system-status
  intent: 500 server-error page — centered card explaining an internal failure with a retry CTA; reach for it as the generic server-fault surface.
  keywords:
    - crash
    - failure
    - fault
    - retry
    - internal
/apps/errors/app/maintenance/maintenance.html:
  category: system-status
  intent: Down-for-maintenance page — centered card announcing planned downtime with an ETA; reach for it as the scheduled-outage holding surface.
  keywords:
    - downtime
    - outage
    - offline
    - scheduled
    - unavailable
/apps/errors/app/help/help.html:
  category: system-status
  intent: Signed-out help and support page — FAQ accordion plus a contact block; reach for it as the target of a Contact-support action on an auth or error surface.
  keywords:
    - help
    - support
    - faq
    - contact
    - accordion

# ── catalog/ui-patterns (Pattern Library section, added 2026-07-27) ──
"/catalog/ui-patterns/app/agent-activity-feed/agent-activity-feed.html":
  category: agent-ops
  intent: "Real-time agent activity feed with timestamped action stream, status pills, and relative-time markers \u2014 functions as a changelog feed showing a versioned history of agent actions, "
  keywords: ["changelog", "feed", "activity", "timeline", "version", "release", "update", "history", "what's", "new"]
"/catalog/ui-patterns/app/agent-reasoning-collapsed/agent-reasoning-collapsed.html":
  category: agent-ops
  intent: "Collapsible agent reasoning panel showing thought process + tool calls + interim results."
  keywords: ["agent", "reasoning", "thinking", "thought-process", "tool-calls", "trace", "transparency", "interpretability"]
"/catalog/ui-patterns/app/api-key-table/api-key-table.html":
  category: data-table
  intent: "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"]
"/catalog/ui-patterns/app/card-grid-images/card-grid-images.html":
  category: overlays
  intent: "Image gallery grid with lightbox overlay \u2014 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"]
"/catalog/ui-patterns/app/chat-streaming-surface/chat-streaming-surface.html":
  category: agent-ops
  intent: "Chat conversation surface with user + assistant message bubbles + typing indicator + input row."
  keywords: ["chat", "streaming", "messages", "bubbles", "conversation", "assistant", "user", "typing", "indicator", "input"]
"/catalog/ui-patterns/app/command-palette/command-palette.html":
  category: navigation
  intent: "Command palette with search input, recent commands, and keyboard shortcut hints."
  keywords: ["command", "palette", "search", "input", "recent", "commands", "keyboard", "shortcut", "hints", "cmdk"]
"/catalog/ui-patterns/app/conversion-funnel-6step/conversion-funnel-6step.html":
  category: data-viz
  intent: "Conversion funnel with 6 stages, stage labels, counts, and drop-off conversion percentages."
  keywords: ["funnel", "conversion", "analytics", "stages", "metrics", "drop-off", "rate", "marketing"]
"/catalog/ui-patterns/app/destructive-confirm-modal/destructive-confirm-modal.html":
  category: overlays
  intent: "Destructive-action modal dialog with a confirmation form \u2014 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"]
"/catalog/ui-patterns/app/editor-code-pane/editor-code-pane.html":
  category: workflow
  intent: "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"]
"/catalog/ui-patterns/app/editor-preview-pane/editor-preview-pane.html":
  category: workflow
  intent: "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", "aside", "content", "preview-pane"]
"/catalog/ui-patterns/app/email-inbox-list/email-inbox-list.html":
  category: data-viz
  intent: "Email inbox list \u2014 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"]
"/catalog/ui-patterns/app/feature-grid-icons/feature-grid-icons.html":
  category: marketing
  intent: "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"]
"/catalog/ui-patterns/app/filter-popover-form/filter-popover-form.html":
  category: forms-input
  intent: "Form fragment in a popover \u2014 checkbox group, radio pair, and a name input behind a summary trigger button. The primitive composition behind the form-popover-ui module; use the module unless you need to customize this recipe."
  keywords: ["filter", "popover", "form", "checkbox", "radio", "input", "anchored", "panel", "options", "select-options"]
"/catalog/ui-patterns/app/import-mapping/import-mapping.html":
  category: data-viz
  intent: "Multi-step CSV/file import flow \u2014 upload, field mapping (source columns \u2194 target fields), preview, import. Shows the field-mapping step prominently since it's the part most often m"
  keywords: ["import", "csv", "upload", "mapping", "fields", "columns", "bulk", "data", "migration"]
"/catalog/ui-patterns/app/invoice-line-items/invoice-line-items.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/app/kanban-board-3col/kanban-board-3col.html":
  category: workflow
  intent: "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"]
"/catalog/ui-patterns/app/loading-skeleton-placeholder/loading-skeleton-placeholder.html":
  category: agent-ops
  intent: "Loading skeleton placeholder \u2014 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"]
"/catalog/ui-patterns/app/marketing-hero-cta/marketing-hero-cta.html":
  category: marketing
  intent: "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"]
"/catalog/ui-patterns/app/newsletter-subscription/newsletter-subscription.html":
  category: forms-input
  intent: "Newsletter subscription form \u2014 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"]
"/catalog/ui-patterns/app/onboarding-checklist/onboarding-checklist.html":
  category: forms-input
  intent: "User onboarding checklist \u2014 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"]
"/catalog/ui-patterns/app/order-tracking-timeline/order-tracking-timeline.html":
  category: data-viz
  intent: "Order tracking timeline \u2014 5-step order progress from placed to delivered using timeline-ui + timeline-item-ui. Each step shows status (completed/active/idle) with label and time"
  keywords: ["order", "tracking", "timeline", "step", "progress", "shipped", "delivered", "status", "timeline-ui", "timeline-item-ui"]
"/catalog/ui-patterns/app/payment-method-form/payment-method-form.html":
  category: workflow
  intent: "Payment method form \u2014 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"]
"/catalog/ui-patterns/app/permission-matrix-table/permission-matrix-table.html":
  category: data-table
  intent: "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"]
"/catalog/ui-patterns/app/product-card-buy/product-card-buy.html":
  category: data-viz
  intent: "Product card with image, price, and buy button \u2014 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"]
"/catalog/ui-patterns/app/settings-appearance/settings-appearance.html":
  category: workflow
  intent: "Appearance settings section \u2014 theme picker, density + radius sliders, color-scheme toggle."
  keywords: ["settings", "appearance", "theme", "density", "radius", "color-scheme", "dark-mode", "preferences", "ui-controls"]
"/catalog/ui-patterns/app/settings-notifications/settings-notifications.html":
  category: workflow
  intent: "Notification preferences panel with per-channel enable/disable toggles for email and push \u2014 weekly digest, mentions, product updates, direct messages, and team alerts."
  keywords: ["notification", "preferences", "notification-preferences", "panel", "settings", "per-channel", "email", "push", "sms", "channel"]
"/catalog/ui-patterns/app/social-media-post-card/social-media-post-card.html":
  category: data-viz
  intent: "Social media post card \u2014 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"]
"/catalog/ui-patterns/app/sortable-search-table/sortable-search-table.html":
  category: data-viz
  intent: "Data table with sortable columns, search filter, and pagination \u2014 table-ui with col-def children declaring Name, Email, Status (badge), and date columns. Full interactive data tabl"
  keywords: ["data", "table", "sortable", "columns", "search", "pagination", "table-ui", "col-def", "sortable", "search"]
"/catalog/ui-patterns/app/split-pane-editor/split-pane-editor.html":
  category: workflow
  intent: "Split-pane editor layout — a resizable code pane on the left (Run / Save actions, monospace editing surface) beside a live preview pane on the right, sharing one drag seam."
  keywords: ["split-pane", "split", "pane", "two-column", "editor", "preview", "code", "side-by-side", "workspace", "resizable"]
"/catalog/ui-patterns/app/survey-rating-form/survey-rating-form.html":
  category: forms-input
  intent: "Survey form with star rating scales \u2014 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"]
"/catalog/ui-patterns/app/testimonials-avatar-cards/testimonials-avatar-cards.html":
  category: marketing
  intent: "Testimonials with avatar cards \u2014 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"]
"/catalog/ui-patterns/app/tooltip-hover/tooltip-hover.html":
  category: workflow
  intent: "Tooltip on hover \u2014 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"]
"/catalog/ui-patterns/app/user-profile-card/user-profile-card.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/app/users-table-badge/users-table-badge.html":
  category: data-viz
  intent: "Users table showing role and status columns populated with badge-ui variants \u2014 accent for Admin, info for Editor, muted for Viewer, success/warning/muted for Online/Away/Offline st"
  keywords: ["badge", "variant", "accent", "info", "success", "warning", "danger", "muted", "badge-ui", "status"]
"/catalog/ui-patterns/v050-agent-blocks/v050-agent-blocks.html":
  category: agent-ops
  intent: "AI assistant message bubble with streaming text indicator + assistant avatar + cited sources strip."
  keywords: ["ai", "streaming", "response", "message", "bubble", "assistant", "chat", "llm", "typing", "tokens"]
"/catalog/ui-patterns/v050-content-blocks/v050-content-blocks.html":
  category: overlays
  intent: "Masonry image gallery \u2014 variable-height tiles in a column-flow grid with hover overlays."
  keywords: ["masonry", "gallery", "images", "photos", "grid", "variable-height", "pinterest", "tiles", "overlays", "lightbox"]
"/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/v050-form-blocks/v050-form-blocks.html":
  category: forms-input
  intent: "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"]
"/catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.html":
  category: marketing
  intent: "Two-column hero \u2014 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"]
"/catalog/ui-patterns/v050-nav-blocks/v050-nav-blocks.html":
  category: navigation
  intent: "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"]
/packages/web-components/patterns/responsive-shell-sidebar/responsive-shell-sidebar.examples.html:
  category: shell-chrome
  intent: Leading + trailing sidebars that collapse to drawer-ui twins below a 900px viewport breakpoint — dual-mount with signal-shared state and auto-close on widening; reach for it when a shell's rails must survive narrow viewports. Flagged (ADR-0090) — this pattern's own README documents a real defect (components with local DOM state lose it when the viewport crosses the breakpoint, since the inline copy unmounts while the drawer copy mounts) and names itself an unfinished stopgap deferred to a "v0.6.0" that was never built. For shell leading-nav collapse specifically, ADR-0090 supersedes this recipe in practice — relocate the live DOM subtree into a drawer-ui off-canvas panel at the canonical breakpoint rung instead of dual-mounting. Prefer drawer-relocation for new shell mobile-nav work; this recipe remains lawful only for non-shell or non-nav sidebar cases where duplicate markup is acceptable.
  keywords:
    - responsive sidebar
    - drawer collapse
    - breakpoint
    - dual-mount
    - mobile shell
"/catalog/ui-patterns/app/empty-state/empty-state.html":
  category: workflow
  intent: "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"]
"/catalog/ui-patterns/app/alert-banner/alert-banner.html":
  category: notifications-status
  intent: "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"]
"/catalog/ui-patterns/app/chart-with-filter-pills/chart-with-filter-pills.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/app/keyboard-shortcut-display/keyboard-shortcut-display.html":
  category: workflow
  intent: "Keyboard shortcut reference grid — each row is a key combo + description."
  keywords: ["keyboard", "shortcuts", "kbd", "hotkeys", "cheatsheet", "reference", "help", "cmd", "ctrl", "quick-keys"]
"/catalog/ui-patterns/app/image-carousel/image-carousel.html":
  category: marketing
  intent: "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"]
"/catalog/ui-patterns/app/tabs-with-panels/tabs-with-panels.html":
  category: navigation
  intent: "Tabs component with N panels — each tab reveals its corresponding panel content area."
  keywords: ["tabs", "panels", "navigation", "switch", "sections", "views", "content-areas", "tab-strip"]
"/catalog/ui-patterns/app/accordion-settings/accordion-settings.html":
  category: forms-input
  intent: "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"]
"/catalog/ui-patterns/app/image-upload-preview/image-upload-preview.html":
  category: forms-input
  intent: "Image upload with preview thumbnail, file metadata, and replace/remove actions."
  keywords: ["image", "upload", "preview", "avatar", "profile-picture", "file-input", "drag-drop", "replace", "remove"]
"/catalog/ui-patterns/app/alert-banner-stack/alert-banner-stack.html":
  category: notifications-status
  intent: "Stacked persistent alert banners — success, warning, and error variants with inline dismiss/retry actions."
  keywords: ["alert", "banner", "stack", "success", "warning", "error", "danger", "variants", "dismiss", "retry", "persistent"]
"/catalog/ui-patterns/app/calendar-month-view/calendar-month-view.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/app/color-picker-swatches/color-picker-swatches.html":
  category: forms-input
  intent: "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"]
"/catalog/ui-patterns/app/slider-range-controls/slider-range-controls.html":
  category: forms-input
  intent: "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"]
"/catalog/ui-patterns/app/pagination-controls/pagination-controls.html":
  category: navigation
  intent: "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"]
"/catalog/ui-patterns/app/popover-with-content/popover-with-content.html":
  category: overlays
  intent: "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"]
"/catalog/ui-patterns/app/avatar-group-overflow/avatar-group-overflow.html":
  category: collaboration
  intent: "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"]
"/catalog/ui-patterns/app/divider-text-label/divider-text-label.html":
  category: forms-input
  intent: "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"]
"/catalog/ui-patterns/app/video-player-controls/video-player-controls.html":
  category: marketing
  intent: "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"]
"/catalog/ui-patterns/app/responsive-kpi-grid/responsive-kpi-grid.html":
  category: data-viz
  intent: "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"]
"/catalog/ui-patterns/app/select-multiple-preselected/select-multiple-preselected.html":
  category: forms-input
  intent: "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"]
