# Component Inventory - catalog_id: astrodeck-226-baseline - primitive_class: Component - entry_count: 30 ### Primitives #### component.button - entry_id: component.button - identifier: Button - primitive_class: Component - file_ref: apps/website/src/components/primitives/Button.astro - functional_role: Shared interaction primitive for links and buttons across CTA surfaces. - default_semantics: Reusable primary, secondary, or ghost action control with shared size variants. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Foundational CTA primitive used throughout the site shell and surface sections. #### component.card - entry_id: component.card - identifier: Card - primitive_class: Component - file_ref: apps/website/src/components/primitives/Card.astro - functional_role: Wraps grouped content inside consistent rounded surface treatments. - default_semantics: Generic surface container with default, accent, and subtle variants plus optional hover behavior. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Central structural primitive for nearly every section family. #### component.container - entry_id: component.container - identifier: Container - primitive_class: Component - file_ref: apps/website/src/components/primitives/Container.astro - functional_role: Constrains horizontal width and page gutters. - default_semantics: Layout wrapper for content, measure, and wide-width surfaces. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Core layout primitive that stays valid regardless of final surface composition. #### component.grid - entry_id: component.grid - identifier: Grid - primitive_class: Component - file_ref: apps/website/src/components/primitives/Grid.astro - functional_role: Provides the standard responsive card and content grid behavior. - default_semantics: Responsive grid helper with fixed column presets and shared gap sizing. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Generic layout utility already proven across product, trust, and contact surfaces. #### component.stack - entry_id: component.stack - identifier: Stack - primitive_class: Component - file_ref: apps/website/src/components/primitives/Stack.astro - functional_role: Offers vertical spacing control for simple stacked layouts. - default_semantics: Flex-column spacing helper with small through extra-large gap presets. - default_visual_character: minimal - tenantatlas_relevance: medium - suitability_class: B - markers: [] - notes: Useful as a narrow layout helper, but it is not currently exercised by the shipped route set. #### component.section - entry_id: component.section - identifier: Section - primitive_class: Component - file_ref: apps/website/src/components/primitives/Section.astro - functional_role: Normalizes vertical rhythm, tone, and disclosure layering for page sections. - default_semantics: Section shell primitive with density, tone, and disclosure-layer options. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Required base primitive for keeping section spacing and surface shells consistent. #### component.section-header - entry_id: component.section-header - identifier: SectionHeader - primitive_class: Component - file_ref: apps/website/src/components/primitives/SectionHeader.astro - functional_role: Standardizes eyebrow, headline, and supporting copy for section intros. - default_semantics: Content header primitive with alignment and width controls. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Direct fit for any rebuild surface that needs consistent section framing. #### component.cluster - entry_id: component.cluster - identifier: Cluster - primitive_class: Component - file_ref: apps/website/src/components/primitives/Cluster.astro - functional_role: Groups inline items such as CTA pairs and small metadata sets. - default_semantics: Flexible inline cluster helper with gap and justification presets. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Reusable utility for CTAs, badges, and compact link groups. #### component.badge - entry_id: component.badge - identifier: Badge - primitive_class: Component - file_ref: apps/website/src/components/primitives/Badge.astro - functional_role: Applies small signal labels for eyebrows, dates, and metadata accents. - default_semantics: Pill-style label primitive with accent, neutral, signal, and warm tones. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Lightweight signaling primitive used in hero, progress, and ecosystem contexts. #### component.input - entry_id: component.input - identifier: Input - primitive_class: Component - file_ref: apps/website/src/components/primitives/Input.astro - functional_role: Provides a text-input shell for the static contact preview. - default_semantics: Single-line form-control primitive with readonly support but no labels, validation, or submission wiring. - default_visual_character: utility-dense - tenantatlas_relevance: medium - suitability_class: B - markers: [] - notes: Structurally reusable, but interactive contact flows would need labels, errors, and submission states layered around it. #### component.textarea - entry_id: component.textarea - identifier: Textarea - primitive_class: Component - file_ref: apps/website/src/components/primitives/Textarea.astro - functional_role: Provides a multiline text shell for the static contact preview. - default_semantics: Multiline form-control primitive with readonly support but no validation or helper-state system. - default_visual_character: utility-dense - tenantatlas_relevance: medium - suitability_class: B - markers: [] - notes: Reusable if the rebuild keeps a preview-only contact pattern; richer interaction would need additional semantics. ### Content #### component.headline - entry_id: component.headline - identifier: Headline - primitive_class: Component - file_ref: apps/website/src/components/content/Headline.astro - functional_role: Provides the shared heading scale across hero, section, and card contexts. - default_semantics: Typography primitive for display, page, section, and card-level headings. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Core type primitive for the current visual system and likely any close rebuild variant. #### component.lead - entry_id: component.lead - identifier: Lead - primitive_class: Component - file_ref: apps/website/src/components/content/Lead.astro - functional_role: Renders supporting descriptive copy with a shared size scale. - default_semantics: Body-copy primitive for hero, card, and legal-prose support text. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Generic copy primitive used across every page family. #### component.eyebrow - entry_id: component.eyebrow - identifier: Eyebrow - primitive_class: Component - file_ref: apps/website/src/components/content/Eyebrow.astro - functional_role: Introduces sections and cards with compact uppercase framing labels. - default_semantics: Small-type label primitive with accent, neutral, and signal tones. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Shared content primitive that anchors information hierarchy without adding structural complexity. #### component.metric - entry_id: component.metric - identifier: Metric - primitive_class: Component - file_ref: apps/website/src/components/content/Metric.astro - functional_role: Packages hero-supporting metrics into small card surfaces. - default_semantics: Metric card with a numeric or label-like headline, eyebrow label, and support copy. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, hero-candidate] - notes: Directly useful for hero-adjacent proof or product framing when the rebuild keeps quantified support signals. #### component.primary-cta - entry_id: component.primary-cta - identifier: PrimaryCTA - primitive_class: Component - file_ref: apps/website/src/components/content/PrimaryCTA.astro - functional_role: Wraps the primary button treatment used across hero and closing CTA surfaces. - default_semantics: Primary action wrapper with optional helper copy and size variants. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Stable CTA wrapper used across hero, progress, footer, and closing conversion surfaces. #### component.secondary-cta - entry_id: component.secondary-cta - identifier: SecondaryCTA - primitive_class: Component - file_ref: apps/website/src/components/content/SecondaryCTA.astro - functional_role: Provides the supporting secondary action pattern for route handoffs. - default_semantics: Secondary action wrapper with optional helper text and size variants. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Pairs cleanly with the primary CTA pattern and is already part of the approved route handoff model. #### component.feature-item - entry_id: component.feature-item - identifier: FeatureItem - primitive_class: Component - file_ref: apps/website/src/components/content/FeatureItem.astro - functional_role: Renders feature or rule cards with optional iconography, metadata, and link treatment. - default_semantics: Card-based feature explanation primitive for product, solutions, and integration rule surfaces. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, product-explainer-candidate] - notes: Strong product-explainer building block for any rebuild surface that needs repeatable explanatory cards. #### component.callout - entry_id: component.callout - identifier: Callout - primitive_class: Component - file_ref: apps/website/src/components/content/Callout.astro - functional_role: Shows compact narrative or trust-supporting callouts in card form. - default_semantics: Callout card with optional eyebrow, headline, supporting copy, and tone selection. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, trust-candidate] - notes: Works well for trust or product-support narratives without demanding a new section pattern. #### component.rich-text - entry_id: component.rich-text - identifier: RichText - primitive_class: Component - file_ref: apps/website/src/components/content/RichText.astro - functional_role: Renders structured legal or policy prose as a stack of readable cards. - default_semantics: Rich text wrapper for titled legal sections with paragraphs and optional bullet lists. - default_visual_character: content-heavy - tenantatlas_relevance: medium - suitability_class: A - markers: [tenantatlas-likely] - notes: Strong direct-fit primitive for the retained legal and policy routes. #### component.trust-principle-card - entry_id: component.trust-principle-card - identifier: TrustPrincipleCard - primitive_class: Component - file_ref: apps/website/src/components/content/TrustPrincipleCard.astro - functional_role: Packages trust claims into a consistent proof-card treatment. - default_semantics: Trust card with title, supporting copy, and optional note. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, trust-candidate] - notes: Canonical trust-content primitive already aligned with the explicit trust posture route. #### component.demo-prompt - entry_id: component.demo-prompt - identifier: DemoPrompt - primitive_class: Component - file_ref: apps/website/src/components/content/DemoPrompt.astro - functional_role: Highlights suggested conversation prompts for the first contact exchange. - default_semantics: Simple supporting card for contact/demo preparation prompts. - default_visual_character: enterprise-neutral - tenantatlas_relevance: medium - suitability_class: B - markers: [contact-candidate] - notes: Useful for the contact path, but it is tied to a specific conversation-prep pattern rather than a universal route need. #### component.hero-dashboard - entry_id: component.hero-dashboard - identifier: HeroDashboard - primitive_class: Component - file_ref: apps/website/src/components/content/HeroDashboard.astro - functional_role: Supplies the product-near illustrative UI mock used in hero compositions. - default_semantics: Decorative but content-bearing product mock that implies change history, restore preview, and review queue behavior. - default_visual_character: bold-visual - tenantatlas_relevance: high - suitability_class: C - markers: [needs-heavy-adaptation, visual-risk, hero-candidate] - notes: The mock is strongly tied to the current TenantAtlas governance narrative and would require coordinated visual and narrative updates before reuse. #### component.integration-badge - entry_id: component.integration-badge - identifier: IntegrationBadge - primitive_class: Component - file_ref: apps/website/src/components/content/IntegrationBadge.astro - functional_role: Compresses ecosystem, partner, or integration signals into compact badge cards. - default_semantics: Small proof card for ecosystem-fit lists and supporting strips. - default_visual_character: enterprise-neutral - tenantatlas_relevance: medium - suitability_class: C - markers: [needs-heavy-adaptation, semantic-risk] - notes: Reusable only when the rebuild can substantiate the ecosystem claim; otherwise the component risks overstating platform breadth. #### component.audience-row - entry_id: component.audience-row - identifier: AudienceRow - primitive_class: Component - file_ref: apps/website/src/components/content/AudienceRow.astro - functional_role: Shows audience-specific fit through bullets and an optional secondary CTA. - default_semantics: Audience-fit card primitive used on the solutions route. - default_visual_character: enterprise-neutral - tenantatlas_relevance: medium - suitability_class: B - markers: [tenantatlas-likely] - notes: Structurally useful, but the audience framing is supporting rather than core to the first-pass route model. #### component.contact-panel - entry_id: component.contact-panel - identifier: ContactPanel - primitive_class: Component - file_ref: apps/website/src/components/content/ContactPanel.astro - functional_role: Frames qualified outreach with a short list of who should contact the team and one primary CTA. - default_semantics: Accent card for the contact route that packages qualification points and a primary action. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, contact-candidate] - notes: Directly useful for the contact and demo surface because it keeps outreach intent explicit without building a form workflow. ### Layout #### component.page-shell - entry_id: component.page-shell - identifier: PageShell - primitive_class: Component - file_ref: apps/website/src/components/layout/PageShell.astro - functional_role: Wraps every page with SEO metadata, shell attributes, navigation, and footer. - default_semantics: Canonical page-shell orchestrator that binds route metadata to the shared layout and shell components. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Central shell component for any rebuild that preserves the current route architecture. #### component.navbar - entry_id: component.navbar - identifier: Navbar - primitive_class: Component - file_ref: apps/website/src/components/layout/Navbar.astro - functional_role: Provides the sticky primary navigation with desktop and mobile variants. - default_semantics: Top-level navigation shell with brand lockup, route links, and a secondary CTA. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, navigation-candidate] - notes: Canonical navigation surface for the current website route set. #### component.footer - entry_id: component.footer - identifier: Footer - primitive_class: Component - file_ref: apps/website/src/components/layout/Footer.astro - functional_role: Provides the closing navigation, trustful footer copy, and final CTA. - default_semantics: Footer surface with route-group navigation, lead copy, and a small CTA. - default_visual_character: enterprise-neutral - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely, footer-candidate] - notes: Canonical footer surface and an explicit part of the rebuild inventory. #### component.base-layout - entry_id: component.base-layout - identifier: BaseLayout - primitive_class: Component - file_ref: apps/website/src/layouts/BaseLayout.astro - functional_role: Owns the document shell, metadata tags, font includes, and global CSS import. - default_semantics: Top-level HTML layout wrapper for the static Astro site. - default_visual_character: minimal - tenantatlas_relevance: high - suitability_class: A - markers: [tenantatlas-likely] - notes: Included even though it sits outside the T002 discovery command because PageShell depends on it to render any route.