component.io compat