feat: support components without URI