a component library based on web components