Socket
Socket
Sign inDemoInstall

@utrecht/component-library-formio

Package Overview
Dependencies
0
Maintainers
3
Versions
549
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @utrecht/component-library-formio

Form.io component library bundle for the Municipality of Utrecht based on the NL Design System architecture


Version published
Weekly downloads
0
decreased by-100%
Maintainers
3
Created
Weekly downloads
 

Readme

Source

Form.io Components

The @utrecht/component-library-formio package contains implementations of various form related components. It currently is a mix of CSS components and Web components. This means you need to install the following three packages:

Installation

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

Additionally, having the core Form.io packages installed is a prerequisite:

npm install --save-dev --save-exact formiojs react-formio

Configure Form.io to use our custom components instead by including the following code in your app once:

import { Formio, Templates } from "react-formio";
import { components, templates } from "@utrecht/component-library-formio";

Formio.use({ components });
Templates.current = templates;

Since the implementation of the web components needs to be loaded in the browser, include the following effect to import web component library from @utrecht/web-component-library-stencil, in Next.js this would be in _app.ts:

useEffect(() => {
  import("@utrecht/web-component-library-stencil/dist/utrecht/utrecht.esm.js");
}, []);

Create a form

Because the components use Web components internally, it is important to include the web components in the allow list of DOMPurify, which would otherwise remove these essential custom elements as part of the cross-site scripting mitigations:

import { Form } from 'react-formio';
import { sanitizeConfig } from "@utrecht/component-library-formio";

export const Page () => (<Form options={{ sanitizeConfig }}/>)

Every <Form> element must be configured with the correct sanitizeConfig settings, otherwise the form inputs cannot be displayed.

Theming

To use the Utrecht theme for the components, include the design tokens CSS in your angular.json:

npm install --save-dev --save-exact @utrecht/design-tokens

Include the CSS variables in your page, and apply the utrecht-theme class name.

import "@utrecht/design-tokens/dist/index.css";

Keywords

FAQs

Last updated on 16 Nov 2023

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc