Expand description
The recipe CONTRACT as code (VAPP-92): which parts each component has and
which props a theme’s when may key on. Natives are listed by hand in
catalog/recipes.json; macro parts are derived from their templates in
macros.json (every part, the macro’s recipeProps + each part’s
$recipe keys), so the two files cannot disagree. Mirrors src/recipes.ts.
The TS recomputes the part table per call; here a RecipeIndex is built
ONCE per catalog view (RecipeIndex::core is cached).
Re-exports§
Structs§
- Recipe
Index - The part table of one catalog view plus the catalog defaults of every recipe prop: what the validator and the node resolver look up.
Constants§
- RECIPE_
KEYS - The style keys a recipe may set.
- RECIPE_
STATES - The interaction states a rule’s
when.statemay name.
Functions§
- macro_
parts - A macro’s parts and recipe props, read off its template.
- native_
recipe_ props RecipeIndex::native_recipe_propsagainst the core catalog.- recipe_
parts - Every component of the view → its parts and
whenprops. An extension’s natives declarerecipe: {parts, props}on their component def; without it a native getsrootand its enum/boolean props.