
Security News
NVD Concedes Inability to Keep Pace with Surging CVE Disclosures in 2025
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
openlaw-elements
Advanced tools
Generated form inputs to help you quickly build UI from OpenLaw templates.
Dynamically render React form components from an OpenLaw template.
Currently, OpenLaw is making use of this library in our internal projects, but our aim is to make it as easy to use as possible for others. While the library can be used today (and will likely work as-is), there are some things to note:
v1.0.0-beta.0
.We appreciate your patience as we make these improvements in our forthcoming releases.
npm install --save openlaw-elements
import React from 'react';
import ReactDOM from 'react-dom';
import { APIClient, Openlaw } from 'openlaw';
import { OpenLawForm } from 'openlaw-elements';
// OpenLaw APIClient: https://docs.openlaw.io/api-client/#authentication
// - Used to fetch geo data in our `Address` field type
// - To run against your own private OpenLaw instance: 'https://[YOUR.INSTANCE.URL]';
const apiClient = new APIClient('https://app.openlaw.io');
// we strongly recommend using environment variables, not hard-coded strings.
apiClient.login('[YOUR_OPENLAW_EMAIL]', '[YOUR_OPENLAW_PASSWORD]');
// https://docs.openlaw.io/openlaw-object/#compiletemplate
const {compiledTemplate} = Openlaw.compileTemplate('**Name**: [[First Name]] [[Last Name]]');
// https://docs.openlaw.io/openlaw-object/#execute
const {executionResult, errorMessage} = Openlaw.execute(compiledTemplate, {}, {});
// https://docs.openlaw.io/openlaw-object/#getexecutedvariables
const variables = Openlaw.getExecutedVariables(executionResult, {});
// typically the parameters object will be updated in
// an `onChangeFunction` handler (or in a state manager like Redux or MobX)
// throughout the lifetime of the app
const parameters = {};
// helpful for logging in development, or throwing exceptions at runtime
if (errorMessage) {
console.error('Openlaw Execution Error:', errorMessage);
}
const onChange = (key, value) => console.log('KEY:', key, 'VALUE:', value);
// * all props are required *
const App = () => (
<OpenLawForm
apiClient={apiClient}
executionResult={executionResult}
parameters={parameters}
onChangeFunction={onChange}
// https://docs.openlaw.io/openlaw-object/
openLaw={Openlaw}
variables={variables}
/>
);
ReactDOM.render(<App />, document.getElementById('your-id-here'));
APIClient
If you would like to use our Address input type, please authenticate by sending your OpenLaw login details to the npm start
command:
OPENLAW_EMAIL=alex@email.com OPENLAW_PASSWORD=password npm start
NOTE: If you do not provide credentials, the app will still run, but you will not be able to select an address lookup from the drop-down, nor be able to see the values in the rendered preview HTML.
The example app (openlaw-elements/example
) can help you gain ideas and understanding to build your own OpenLaw app in JavaScript and React. In contrast to the example app, the "Usage" section above intentially leaves out more complex behavior to simply illustrate the required dependencies in order to use <OpenLawForm />
correctly.
We use Webpack to bundle a small app that changes the app's state tree every time an edit is made to the rendered <OpenLawForm />
. Additionally, each time you click the Preview
button, it will generate a preview of what the final document will look like at the top of the webpage.
git clone git@github.com:openlawteam/openlaw-elements.git
cd openlaw-elements
npm install
npm start
// Now you can visit http://localhost:3001 and see the app running.
my-app
){ error: 'my-error-class' }
)APIClient
FAQs
Dynamically render React form components from an OpenLaw template.
The npm package openlaw-elements receives a total of 0 weekly downloads. As such, openlaw-elements popularity was classified as not popular.
We found that openlaw-elements demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
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.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.