This is a lerna monorepo containing a suite of UI components built, used and maintained by Storm Id.
Each package is available for use on npm. See the docs for details on each package.
| Package | Description |
|---|---|
| Autocomplete | Accessible autocomplete / combobox (single, multiple, async and <select> enhancement) |
| Cookie Banner | GDPR compliant cookie banner |
| Modal | Accessible modal dialog |
| Modal Gallery | Accessible modal gallery |
| Outliner | Legacy-browser fallback for hiding focus outlines on mouse interactions — prefer native :focus-visible |
| Scroll Points | Trigger events based on element intersecting the viewport |
| Scroll Spy | Update elements based on target element intersecting the viewport |
| Skip | Move focus to fragment identifier link targets — for cases native focus and a static tabindex="-1" don't cover |
| Tabs | Accessible tabbed panelled content areas |
| Textarea | Auto-resizing textarea — fallback for browsers without native field-sizing: content |
| Toggle | Accessible DOM element expand and collapse |
| Validate | Client-side form validation library |
Install lerna to use the Lerna CLI.
Package tasks
| Task | Command |
|---|---|
| Run the example app | lerna run dev --scope=PACKAGE_NAME |
| Output the example app in prod mode | lerna run prod --scope=PACKAGE_NAME |
| Run tests | lerna run test --scope=PACKAGE_NAME |
| Build the package for distribution | lerna run build --scope=PACKAGE_NAME |
Monorepo tasks
| Task | Command |
|---|---|
| Lint all packages | npm run lint -- --fix |
| Lerna changed | List of packages that would be the subjects of the next version or publish |
| Lerna version | Bump version of packages changed since the last release |
| Lerna publish | Publish packages in the current project |
The full list of Lerna commands is listed in the docs.