Socket
Socket
Sign inDemoInstall

@utrecht/web-component-library-angular

Package Overview
Dependencies
Maintainers
0
Versions
644
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@utrecht/web-component-library-angular

Angular web components for the Municipality of Utrecht based on the NL Design System architecture


Version published
Maintainers
0
Created
Source

Web Components in Angular

The @utrecht/web-component-library-stencil package contains the actual implementation of every web component, while the @utrecht/web-component-library-angular only contains wrapper Angular components to help validate all the templates, and some supporting code to support Angular form bindings. The implementation of each component will be loaded separately and on-demand, so including the entire component library will not slow down your application.

Install both packages to use Angular components in your project:

npm install --save-dev --save-exact \
  @utrecht/web-component-library-angular \
  @utrecht/web-component-library-stencil

Include UtrechtWebComponentsModule in the root NgModule of your project:

import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { UtrechtWebComponentsModule } from "@utrecht/web-component-library-angular";

import { AppComponent } from "./app.component";

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, UtrechtWebComponentsModule],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}

The components are rendered using custom elements, but since we provide a corresponding Angular component for every custom element, you don't need to configure CUSTOM_ELEMENTS_SCHEMA to make use of any of the components.

To make the custom elements work, you also need to call defineCustomElements() once in your page, immediately when it is loaded. Add this to main.ts:

import { defineCustomElements } from "@utrecht/web-component-library-stencil/loader";

defineCustomElements();

After this you can use web components in your templates:

<utrecht-heading level="1">Home</utrecht-heading>

<utrecht-paragraph>Hello world!</utrecht-paragraph>

To use the Utrecht theme for the components, use the utrecht-theme class name and include the design tokens CSS in your angular.json:

{
  "projects": {
    "my-app": {
      "architect": {
        "build": {
          "options": {
            "styles": ["node_modules/@utrecht/design-tokens/dist/index.css", "src/styles.css"]
          }
        }
      }
    }
  }
}

Keywords

FAQs

Package last updated on 21 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc