Create html input forms on the fly using Lit
npm install @uportal/form-builder


> Create HTML input forms dynamically using Lit web components
This is a lightweight web component built with Lit that
renders dynamic forms from JSON schemas.
``bash`
npm install @uportal/form-builder
To create a Jar of the built web component and publish to cache, run:
`bash`
./gradlew jar
./gradlew publishToMavenLocal
`html`
fbms-form-fname="communication-preferences"
oidc-url="/uPortal/api/v5-1/userinfo"
styles="div {color:grey} span {color:orange}"
>
- fbms-base-url: Base URL of the form builder micro service.
- fbms-form-fname: Form name that is appended to the fbms-base-url.
- oidc-url: Open ID Connect URL to authenticate requests.
- styles: Optional pass-through value to an HTML style tag in the render method.
- Node.js 18 or higher
- npm 9 or higher
`bashInstall dependencies
npm install
$3
-
npm run dev - Build in watch mode
- npm run serve - Start development server with live reload
- npm test - Run tests with coverage
- npm run test:watch - Run tests in watch mode
- npm run lint - Check code with ESLint
- npm run format - Format code with Prettier
- npm run build` - Build for productionWe welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Lit Documentation - Official Lit documentation
- Lit Tutorial - Getting started with Lit
- Lit Playground - Try Lit in your browser
- Lit Best Practices - Component patterns
- Web Test Runner - Our test framework
- Testing Lit Components - Lit-specific testing guide
- Open WC Testing - Testing utilities and helpers
- Web Components on MDN - Web Components fundamentals
- Custom Elements Everywhere - Framework compatibility
- Form Builder Microservice - Backend service for form definitions

Copyright 2018-2025 The Apereo Foundation. Licensed under the Apache License, Version 2.0.
See LICENSE for details.