Skip to content

Lit

Terminal window
npm i @golemui/core @golemui/lit @golemui/gui-lit --save

Import the core styles in your HTML or application entry point:

@import '@golemui/core/styles/index.css';
import { LitElement, html } from 'lit';
import { customElement } from 'lit/decorators.js';
import { golemForm } from '@golemui/gui-shared';
import { widgetLoaders } from '@golemui/gui-lit';
@customElement('my-form')
export class MyForm extends LitElement {
formDef = golemForm().create({
form: [
{ kind: 'input', type: 'textinput', path: 'username', label: 'Username' },
],
});
formData = { username: '' };
widgetLoaders = { ...widgetLoaders };
override createRenderRoot() {
return this;
}
render() {
return html`
<gui-form
.formDef=${this.formDef}
.data=${this.formData}
.customWidgetLoaders=${this.widgetLoaders}
></gui-form>
`;
}
}
PropertyTypeDescription
formDefFormThe form definition object
dataobjectInitial form data
widgetLoadersWidgetLoadersMap of widget type loaders (e.g. GolemUI components)
validatorsValidatorFnValidator function (from initValidators())
customValidatorsCustomValidatorSchemasCustom validator schemas
validateOnValidateOnWhen to trigger validation
dependenciesDependenciesExternal dependencies (e.g. markdown parser)
localizationLocalizationi18n/localization configuration

See Configuration for details on each optional prop.