widget-spec -> component-spec