ID:WORK-120Status:done
Export generic type interfaces for rune component overrides
Priority:mediumComplexity:moderateMilestone:v1.0.0
Export generic TypeScript interfaces from rune packages that describe the component override contract — scalar property types derived from schema attributes and renderable slot names parameterized over a generic type. Component authors use these as RecipeProps<Snippet> (Svelte), RecipeProps<ReactNode> (React), etc.
@refrakt-md/runesRecipeProps from @refrakt-md/learning)string, Number → string since meta content is always string, enum matches → union literal)R | undefined where R is the generic renderable type parameterchildren and tag included in every interface (children as R | undefined, tag as SerializedTag)unknown (Props<R = unknown>)createComponentRenderable, create a corresponding Props<R> interfaceattributes definitionrefs keys in createComponentRenderableCompleted: 2026-04-04
Branch: claude/adr-008-implementation-nBN9K
packages/types/src/component-props.ts with BaseComponentProps<R>, PageSectionSlots<R>, SplitLayoutPropertiespackages/runes/src/props.ts with 37+ core rune interfaces