laws-africa / law-widgets

Web components for Akoma Ntoso documents
GNU General Public License v3.0
0 stars 0 forks source link
akoma-ntoso components react ui-components vue

Law Widgets

Law Widgets is a monorepo that houses components libraries for formatting and adding interactivity to Akoma Ntoso documents.

Law Widgets is based on Web Components, which enables significant performance, usability, and feature improvements alongside support for React, and Vue.

Packages

Project Documentation Package Description
Core README.md @lawsafrica/law-widgets Web components library built for Akoma Ntoso documents
Law Widget Styles README.md @lawsafrica/law-widget-styles Stylesheets for use with HTML documents published using the Indigo platform.
Vue README.md @lawsafrica/law-widgets-vue Vue wrapper component library of @lawsafrica/law-widgets
React README.md @lawsafrica/law-widgets-react React wrapper component library of @lawsafrica/law-widgets

Getting started

Click here to learn how to use our components.

Local development

You must have nodejs version 20.

At the root of project in your terminal, run npm install

Lerna is used for managing and publishing packages in this repo.

Installing and symlinking dependencies via Lerna

Run npx lerna bootstrap in the terminal. This will npm install all the packages (core, law-widget-styles, react, vue), and provide the necessary symlinking between packages. (i.e core has law-widget-styles as a dependency, hence Lerna will symlink law-widget-styles).

Running tests

In the terminal, run npx lerna run test.

Building packages

In the terminal, run npx lerna run build.

Releasing and publishing packages