pub struct ComponentEntry {
pub class: &'static str,
pub kind: &'static str,
pub parent: &'static str,
pub data_attrs: &'static [DataAttr],
pub example_html: &'static str,
pub example_markdown: &'static str,
pub status: Status,
pub since: &'static str,
pub description: &'static str,
}Expand description
A single component contract entry.
Fields§
§class: &'static strClass name without leading . (e.g. "moss-cards").
kind: &'static strContainer / Instance / Standalone / Chrome.
parent: &'static strFor Instance kinds, the parent container’s class (or "").
data_attrs: &'static [DataAttr]Declared data-* attributes on the element with this class.
example_html: &'static strExample HTML snippet showing the class in context. Multi-line allowed.
example_markdown: &'static strExample markdown that produces this HTML. Empty for HTML-only chrome.
status: StatusStatus: confirmed / emerging / retired.
since: &'static strContract version this entry was introduced in.
description: &'static strOptional human-readable description.
Implementations§
Source§impl ComponentEntry
impl ComponentEntry
Sourcepub fn is_public(&self) -> bool
pub fn is_public(&self) -> bool
True for entries that belong in the public, agent/theme-facing surface. v1 rule: not retired AND not an internal implementation class.
Internal classes (e.g. all moss-apply*) stay in COMPONENTS so the
sync-test can validate them, but they must not surface in moss describe
or docs/reference/contract.md — they are subject to change at any time.