component-interop vocabulary

Namespace IRI: https://jeff-zucker.github.io/component-interop/ns# (prefix ci:). These terms describe component-interop loader manifests, which are valid JSON-LD 1.1 via the shared context context.jsonld. The machine-readable ontology is embedded in this page as application/ld+json.

Borrowed terms (not minted here; schema: is always http://schema.org/): schema:name names libraries, attributes, stages, capability keys, and attribute-pair names — exact-identifier semantics, narrower than schema.org's general label; schema:description a component's one-sentence user-facing description; schema:softwareHelp a component's USER online help page; ui:name, ui:label, ui:icon, ui:hoverTitle, ui:attribute (http://www.w3.org/ns/ui#, documented in sol-components' data/ui-vocab.ttl) — a manifest component is a ui:Component, the same shape menus and palettes use, with ui:attribute values being schema:PropertyValue pairs; dct:conformsTo the SHACL shape a component's data conforms to; dct:references the data document(s) it reads/writes; rdfs:seeAlso (as the manifest key customElements) links a manifest to the library's custom-elements.json.

The manifest format's own SHACL shape: shapes/manifest.shaclc (compact syntax, canonical) / shapes/manifest.shacl.ttl (Turtle, for tooling).

TermTypeDefinition
ci:ManifestClassA component-interop loader manifest: declares the components, capability attributes, staged module URLs, and shared-value wiring of one library.
ci:componentPropertyLinks a manifest (or a stage) to a component it offers — a ui:Component (declared range) carrying ui:name (the tag) plus optional display metadata (ui:label, ui:icon, ui:hoverTitle, schema:description, ui:attribute defaults, dct:conformsTo, dct:references, schema:softwareHelp, ci:module).
ci:sharedModulePropertyLinks a manifest (or a stage) to a dependency module mapped in the import map; the module node carries schema:name (its bare specifier).
ci:attributePropertyLinks a manifest to a data-* capability attribute declaration (schema:name + ci:module). Distinct from the custom-elements-manifest sense of a component's own attributes.
ci:stagePropertyLinks a manifest to a per-environment URL set (e.g. local, cdn).
ci:providesPropertyDeclares a shared value the library can supply (schema:name, ci:service, ci:respondTo, ci:sendValue, ci:priority).
ci:consumesPropertyDeclares a shared value the library can adopt (schema:name, ci:call, ci:from, ci:module).
ci:acceptsPropertyDeclares a value applied to an element's attribute (schema:name, ci:onElement, ci:applyValueTo, ci:transform).
ci:modulePropertyA module reference: the module resource itself (IRI) or an import-map specifier (string literal) the loader resolves. Deliberately dual — see the ontology comment; the SHACL shapes constrain it per context.
ci:servicePropertyRegistry service key a provider exposes the value from.
ci:respondToPropertyDOM event name(s) a provider answers with the value.
ci:sendValuePropertyDot-path into the event detail or service object the provided value is read from.
ci:priorityPropertyNumeric tiebreaker among multiple providers of one capability.
ci:callPropertyRegistered handler invoked with the consumed value.
ci:fromPropertyPreferred provider library name for a consumed value.
ci:onElementPropertyCSS selector of the element an accepted value applies to.
ci:applyValueToPropertyAttribute name the accepted value is written to.
ci:transformPropertyNamed transformation applied before the value is set (e.g. stripHash).