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: simply “not retired” — keeps the full theme vocabulary
(moss-card, moss-cards, breadcrumbs, etc.) while dropping retired noise.
(A finer internal-subclass split is deliberately NOT attempted here —
it risks hiding theme-targetable classes. Agents get the precise
shortcode set via the authorable flag instead.)