open-index/open-npm huggingface dataset:
npm package: @manaten/edg2gif
Description: nodejs edg file to gif convert library powered by heriet/hxPixel
Author: manaten
Latest version: 0.0.1

# edg2gif

Node.js [edg](https://takabosoft.com/edge2) file to gif convert library powered by [heriet/hxPixel](https://github.com/heriet/hxPixel).

## usage

```sh
egd2gif <image-file>...
```

## LICENSE

MIT
npm package: @manaten/frontend-dev-tools
Description: Frontend development tools and settings includes [eslint](https://eslint.org/), [stylelint](https://github.com/stylelint/stylelint), [lint-staged](https://github.com/okonet/lint-staged#how-to-use-lint-staged-in-a-multi-package-monorepo), [editorconfig-too
Latest version: 1.3.1

# frontend-dev-tools

Frontend development tools and settings includes
[eslint](https://eslint.org/),
[stylelint](https://github.com/stylelint/stylelint),
[lint-staged](https://github.com/okonet/lint-staged#how-to-use-lint-staged-in-a-multi-package-monorepo),
[editorconfig-tools](https://github.com/treyhunner/editorconfig-tools).

# setup

```sh
npm install --save-dev https://github.com/manaten/frontend-dev-tools.git
```

Write settings in your package.json

```json
{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged -c ./node_modules/@manaten/frontend-dev-tools/.lintstagedrc",
    }
  },
  "stylelint": {
    "extends": "./node_modules/@manaten/frontend-dev-tools/.stylelintrc"
  },
  "eslintConfig": {
    "extends": "./node_modules/@manaten/frontend-dev-tools/.eslintrc"
  }
}
```
npm package: @manaten/react-ga-sender
Description: Simple google analytics sender component for React.
Author: manaten
Latest version: 0.0.2

# react-ga-sender
Simple google analytics sender component for React.

# what?
A react component for google analytics pageview sending.
This component takes two props `trackingId` and `location`.
If `location` is changed, this component simply send ga event for `trackingId`.

# usage

```js
<GASender
  trackingId="YOUR-TRACKING-ID"
  location={{
    pathname: '/current/pathname',
    search: '?current=search'
  }}
/>
```

## usage with react-router

```js
import React from 'react';
import { withRouter } from 'react-router';
import { GASender } from '@manaten/ga-sender';

const GASenderWithRouter = withRouter(GASender);

// your app component
const App = (props) => (
  <main>
    <GASenderWithRouter trackingId="YOUR-TRACKING-ID" />
    ...
  </main>
)
```
npm package: @manatsa/simple-react-native-picker
Description: A siplified and highly customizable picker for react native.
Author: Manatsa Chinyeruse
Latest version: 1.0.1

# Introduction

A picker component implemented fully using javascript. It is highly customizable and flexible. It can be used with expo projects and non expo. However, it has been tested only with expo projects

# Installation

```js
npm i @manatsa/simple-react-native-picker --save
```


# Usage

```js 
import Picker from "@manatsa/simple-react-native-picker" 
```

# Props
 - **_value_** \* - the selected value.
 - **_onValueChange_** \* - the function/method to execute when user selects a value.
 - **_items_** \* - the items to populate picker options. The items should be an array of objects with label and value keys eg. `{label:'Option 1', value:'Value 1'}`.
 - **_prompt_** \* - the placeholder to show before selection is done.
 - **_icon_** - icon name to show to the left of the picker boundary (_optional_). The component uses MaterialCommunityIcons from `react-native-vector-icons` package.
 - **_defaultColor_** - default selected option color and icons color (_optional_).
 - **_optionsBoldText_** - the boolean instructing the component to show options as bold text (_optional_)
 - **_optionsTextSize_** - options text size as a number (_optional_)
 - **_optionsHeaderBackgroundColor_** - string color as header background (_optional_)
 - **_optionsHeaderTextColor_** - options header text color as string (_optional_)
 - **_width_** - width of the options container as `string | number` (_optional_)
 - **_callback_** - a callback method to retrieve picker value for other uses eg. show/hide other components.

 # Example

 ```js
    import Picker from "@manatsa/simple-react-native-picker" 
    import ...

    const Example=()=>{

        const [choice, setChoice] = React.useState("")
        const [value, setValue]=React.useState('O')
        const genderPickerOptions=[
            {label:'Female', value:'F'},
            {label:'Male', value:'M'},
            {label:'Other', value:'O'}
        ]

        return (
            <>
                <Picker 
                    value={value}
                    items={genderPickerOptions}
                    onValueChange={val=>console.log(val)}
                    callback={setChoice}
                />
                { choice==='M' && <Text>{'No more males allowed!'}</Text>

                }
            </>
        )

    }
 ```

 # License

 MIT License

 # Author

 <a href="mailto:manatsachinyeruse@gmail.com">Manatsa Chinyeruse</a>
npm package: @manawil-ui/tokens
Description: A library of reusable design tokens for use in web projects
Latest version: 1.0.6

## Manawil UI Tokens

This is the official token package from Manawil Labs for consistent and accessible user interface development.

## Installation
To install the token package, run the following command in the terminal:
```bash
npm i @manawil-ui/tokens
```

## Usage
The tokens can be imported in your `.ts` or `.js` files and used to define colors, fonts, text, sizes, spacings, etc. for your user interface.
```bash
import { colors, fontSizes, spacings } from '@manawil-ui/tokens';

console.log(colors.primary); // Output: "#007bff"
console.log(fontSizes.base); // Output: "16px"
console.log(spacings.small); // Output: "8px"
```

## Contribution
Manawil Labs encourages community members to contribute to improve this token package. If you have suggestions or find bugs, feel free to open an issue or send a pull request on GitHub.

## License
This token package is distributed under the MIT license. See the LICENSE file for more information.
npm package: @manawil/eslint-config
Description: ESLint configuration used by Manawil Modas
Latest version: 1.0.0

# ESLint Config - Manawil Labs
Welcome to the Manawil ESlint Config! This repository contains custom configuration files for the ESLint that adhere to the coding standards and best practices used by Manawil.

## Installation
To use these configuration in your project, you will need to have eslint installed.
```bash
  npm i eslint
```
Or if you are using Yarn
```bash
  yarn add eslint
```

## Usage
Once the packages are installed, you can use the Manawil ESLint Config by extending it in your `eslintrc.json` file.
```bash
{
  "extends": [
    "manawil"
  ]
}
```

## Configuration files
This repository contains the following configuration files:
- `react.js` - ESLint configuration for React projects
- `node.js` - ESLint configuration for Node/Express projects

## Contributing
We welcome contributions to the Manawil ESLint Config. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

## License
The Manawil ESLint Config is open-source software licensed under the MIT license.
npm package: @manawil/tokens
Description: A set of tokens that will help in building the design system of Manawil Labs products. This library is meant to be used only internally within Manawil Labs and is not intended for external use.
Latest version: 1.0.6

# Alpha Tokens
A set of tokens that will help in building the design system of Manawil Labs products. This library is meant to be used only internally within Manawil Labs and is not intended for external use.

## Installation
To install this library, simply run the following command:
```bash
npm install @manawil/tokens
```

## Usage
To use this library, simply import the tokens you need in your project:
```bash
import { colors } from '@manawil/tokens'
```

## License
This library is licensed under the MIT license.
npm package: @manbearwiz/eslint-plugin-rxjs-angular
Description: ESLint rules for RxJS and Angular
Author: Kevin Brey
Latest version: 1.0.4

# @manbearwiz/eslint-plugin-rxjs-angular

[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/master/LICENSE)
[![NPM version](https://img.shields.io/npm/v/@manbearwiz/eslint-plugin-rxjs-angular.svg)](https://www.npmjs.com/package/@manbearwiz/eslint-plugin-rxjs-angular)
[![Downloads](http://img.shields.io/npm/dm/@manbearwiz/eslint-plugin-rxjs-angular.svg)](https://www.npmjs.com/package/@manbearwiz/eslint-plugin-rxjs-angular)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/manbearwiz/eslint-plugin-rxjs-angular/release.yml)](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/actions/workflows/release.yml)

This package contains ESLint versions of the Angular/RxJS rules that are in the [`rxjs-tslint-rules`](https://github.com/manbearwiz/rxjs-tslint-rules) package.

There is no recommended configuration for this package, as all of the rules are opinionated.

# Install

Install the ESLint TypeScript parser using npm:

```
npm install @typescript-eslint/parser --save-dev
```

Install the package using npm:

```
npm install @manbearwiz/eslint-plugin-rxjs-angular --save-dev
```

Configure the `parser` and the `parserOptions` for ESLint. Here, I use a `.eslintrc.js` file for the configuration:

```js
const { join } = require("path");
module.exports = {
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: 2019,
    project: join(__dirname, "./tsconfig.json"),
    sourceType: "module"
  },
  plugins: ["rxjs-angular"],
  extends: [],
  rules: {
    "rxjs-angular/prefer-async-pipe": "error"
  }
};
```

# Rules

The package includes the following rules:

| Rule | Description | Recommended |
| --- | --- | --- |
| [`prefer-async-pipe`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-async-pipe.md) | Forbids the calling of `subscribe` within Angular components. | No |
| [`prefer-composition`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-composition.md) | Forbids `subscribe` calls that are not composed within Angular components (and, optionally, within services, directives, and pipes). | No |
| [`prefer-takeuntil`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-takeuntil.md) | Forbids Calling `subscribe` without an accompanying `takeUntil`. | No |
npm package: @manbomb/lambda-multipart-parser
Description: This module will parse the multipart-form containing files and fields from the lambda event object.
Author: francismeynard,manbomb
Latest version: 1.0.3

# lambda-multipart-parser
```
npm install lambda-multipart-parser --save
```

## Introduction
This nodejs module will parse the multipart-form containing files and fields from the AWS lambda event object. It works very well parsing **binary** and text files.

## Description
```
@param {event} - an event containing the multipart-form in the body
@return {object} - a JSON object containing array of files and fields, sample below.

{
    files: [
        {
            filename: 'test.pdf',
            content: <Buffer 25 50 6f 62 ... >,
            contentType: 'application/pdf',
            encoding: '7bit',
            fieldname: 'uploadFile1'
        }
    ],
    field1: 'VALUE1',
    field2: 'VALUE2',
}
```

## Usage
```
const parser = require('lambda-multipart-parser');

const result = await parser.parse(event);
console.log(result.files);
```

**Important**
Please make sure to enable the "Use Lambda Proxy integration" in API Gateway method Integration request. 

If decided not to enable it for some reason, make sure to pass the required Lambda event parameters in Integration Request -> Mapping Templates section, such as body, headers and isBase64Encoded flag.

Sample Lambda and API Gateway implementation with Cloudformation can be found in [here](http://francismeynard.github.io/aws-upload-document-service).

## Test
```
npm run test
```

## Releases / Changelogs

0.0.1 - Initial stable release.

0.0.2 - Updated readme. Added Usage and link to sample implementation.

1.0.0 - Formalized package release version. Add utf8 support.

1.0.1 - Added support for TypeScript typings.
npm package: @mancala/core
Description: Mancala Core Library
Author: Halit Aksoy
Latest version: 0.0.2

# Mancala Core

This module contains common functionalities for the Mancala project.

## Build

```bash
yarn build
```

## Usage

Link this local package to other packages (backend, frontend, mobile).

```bash
yarn link
```

In the target package folder, run:

```bash
cd ../backend
yarn link @mancala/core
```

## NPM Publish Instructions

Run the following commands:

```bash
npm login
npm publish --access public
```
npm package: @mancan2047/bpmn-js-token-simulation
Description: bpmn-js token simulation extension
Author: mancan2047
Latest version: 0.29.1

# bpmn-js Token Simulation

[![CI](https://github.com/bpmn-io/bpmn-js-token-simulation/workflows/CI/badge.svg)](https://github.com/bpmn-io/bpmn-js-token-simulation/actions?query=workflow%3ACI)

A BPMN 2.0 specification compliant token simulator, built as a [bpmn-js](https://github.com/bpmn-io/bpmn-js) extension.

[![Screencast](docs/screenshot.png)](https://bpmn-io.github.io/bpmn-js-token-simulation/modeler.html?e=1&pp=1)

Try it on the [classic booking example](https://bpmn-io.github.io/bpmn-js-token-simulation/modeler.html?e=1&pp=1&diagram=https%3A%2F%2Fraw.githubusercontent.com%2Fbpmn-io%2Fbpmn-js-token-simulation%2Fmaster%2Ftest%2Fspec%2Fbooking.bpmn) or checkout the [full capability demo](https://bpmn-io.github.io/bpmn-js-token-simulation/modeler.html?e=1&pp=1&diagram=https%3A%2F%2Fraw.githubusercontent.com%2Fbpmn-io%2Fbpmn-js-token-simulation%2Fmaster%2Fexample%2Fresources%2Fall.bpmn).


## Installation

Install via [npm](http://npmjs.com/).

```
npm install bpmn-js-token-simulation
```


## Usage

Add as additional module to [bpmn-js](https://github.com/bpmn-io/bpmn-js).

### Modeler

```javascript
import BpmnModeler from 'bpmn-js/lib/Modeler';
import TokenSimulationModule from 'bpmn-js-token-simulation';

const modeler = new BpmnModeler({
  container: '#canvas',
  additionalModules: [
    TokenSimulationModule
  ]
});
```

### Viewer

```javascript
import BpmnViewer from 'bpmn-js/lib/NavigatedViewer';
import TokenSimulationModule from 'bpmn-js-token-simulation/lib/viewer';

const viewer = new BpmnViewer({
  container: '#canvas',
  additionalModules: [
    TokenSimulationModule
  ]
});
```


## Build and Run

Prepare the project by installing all dependencies:

```sh
npm install
```

Then, depending on your use-case you may run any of the following commands:

```sh
# build the library and run all tests
npm run all

# run the full development setup
npm run dev

# spin up the example
npm run start:example
```


## Additional Resources

* [Making of token simulation](https://nikku.github.io/talks/2021-token-simulation/presentation.html) - The case for token simulation and how it builds on top of [bpmn-js](https://github.com/bpmn-io/bpmn-js)
* [Token simulation internals](https://nikku.github.io/talks/2021-token-simulation-internals/presentation.html) - Detailed walk through the simulators core
* [Camunda Modeler Token Simulation plug-in](https://github.com/camunda/camunda-modeler-token-simulation-plugin) - Token simulation for [Camunda](https://camunda.com/) users


## Licence

MIT
npm package: @mancix/autocomplete-tab
Description: Autocompletion for the CodeMirror code editor
Author: Marijn Haverbeke
Latest version: 0.1.0

# @codemirror/autocomplete [![NPM version](https://img.shields.io/npm/v/@codemirror/autocomplete.svg)](https://www.npmjs.org/package/@codemirror/autocomplete)

[ [**WEBSITE**](https://codemirror.net/) | [**DOCS**](https://codemirror.net/docs/ref/#autocomplete) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md) ]

This is a fork of @codemirror/autocomplete that set "Tab" as default completionKeymap instead of "Enter".

This package implements autocompletion for the
[CodeMirror](https://codemirror.net/) code editor.

The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).

This code is released under an
[MIT license](https://github.com/codemirror/autocomplete/tree/main/LICENSE).

We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.
npm package: @mancuoj/prettier-config
Description: @mancuoj's Prettier Config
Author: mancuoj
Latest version: 0.5.4

# @mancuoj/prettier-config

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![License][license-src]][license-href]

## Usage

A CLI tool to help you set up your project with prettier.

```sh
pnpm dlx @mancuoj/prettier-config
```

<details>
<summary>Manual Install</summary>

```sh
pnpm i -D prettier @mancuoj/prettier-config
```

And add the following to your `package.json`:

```json
{
  "scripts": {
    "format": "prettier -w ."
  },
  "prettier": "@mancuoj/prettier-config"
}
```

</details>

## Features

- 2 spaces
- No semicolons
- Single quotes
- Trailing commas
- 100 print width
- Ignore common files

## License

[MIT](https://github.com/mancuoj/prettier-config/blob/main/LICENSE) License © 2024-PRESENT [Mancuoj](https://github.com/mancuoj)

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/@mancuoj/prettier-config?style=flat&colorA=18181b&colorB=1f6feb
[npm-version-href]: https://npmjs.com/package/@mancuoj/prettier-config
[npm-downloads-src]: https://img.shields.io/npm/dm/@mancuoj/prettier-config?style=flat&colorA=18181b&colorB=1f6feb
[npm-downloads-href]: https://npmjs.com/package/@mancuoj/prettier-config
[license-src]: https://img.shields.io/github/license/mancuoj/prettier-config.svg?style=flat&colorA=18181b&colorB=1f6feb
[license-href]: https://github.com/mancuoj/prettier-config/blob/main/LICENSE
npm package: @mancuoj/utils
Description: Opinionated collection of common JavaScript / TypeScript utils
Author: Mancuoj
Latest version: 0.0.17

# @mancuoj/utils

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![coverage][codecov-src]][codecov-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]

Opinionated collection of common JavaScript / TypeScript utils.

- Everyday utility functions with modern implementations
- Fully typed - with TSDoc
- Ships ESM and CJS bundles
- Battle-tested with 100% test coverage
- Zero dependencies
- ❤️

## License

[MIT](https://github.com/mancuoj/@mancuoj/utils/blob/main/LICENSE) License © 2024-PRESENT [Mancuoj](https://github.com/mancuoj)

<!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/@mancuoj/utils?style=flat&colorA=18181b&colorB=1f6feb
[npm-version-href]: https://npmjs.com/package/@mancuoj/utils
[npm-downloads-src]: https://img.shields.io/npm/dm/@mancuoj/utils?style=flat&colorA=18181b&colorB=1f6feb
[npm-downloads-href]: https://npmjs.com/package/@mancuoj/utils
[codecov-src]: https://img.shields.io/codecov/c/gh/mancuoj/utils/main?style=flat&colorA=18181b&colorB=1f6feb
[codecov-href]: https://codecov.io/gh/mancuoj/utils
[bundle-src]: https://img.shields.io/bundlephobia/minzip/@mancuoj/utils?style=flat&colorA=18181b&colorB=1f6feb&label=minzip
[bundle-href]: https://bundlephobia.com/result?p=@mancuoj/utils
[jsdocs-src]: https://img.shields.io/badge/jsdocs-reference-18181b?style=flat&colorA=18181b&colorB=1f6feb
[jsdocs-href]: https://www.jsdocs.io/package/@mancuoj/utils
[license-src]: https://img.shields.io/github/license/mancuoj/utils.svg?style=flat&colorA=18181b&colorB=1f6feb
[license-href]: https://github.com/mancuoj/utils/blob/main/LICENSE
npm package: @mancx/authkit-svelte
Description: Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).
Latest version: 0.0.1

# Svelte library

Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).

Read more about creating a library [in the docs](https://svelte.dev/docs/kit/packaging).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```sh
# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```sh
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.

## Building

To build your library:

```sh
npm pack
```

To create a production version of your showcase app:

```sh
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.

## Publishing

Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).

To publish your library to [npm](https://www.npmjs.com):

```sh
npm publish
```
npm package: @mandaitor/react
Description: Mandaitor — React UI components and hooks
Author: Mandaitor
Latest version: 3.0.0

# @mandaitor/react

React UI components and hooks for integrating Mandaitor delegation management into your application.

---

## Installation

```bash
npm install @mandaitor/react @mandaitor/sdk
# or
pnpm add @mandaitor/react @mandaitor/sdk
```

## Quick Start

Wrap your application with `MandaitorProvider` and use the pre-built components:

```tsx
import { MandaitorProvider, MandateCreator, MandateViewer } from "@mandaitor/react";

function App() {
  return (
    <MandaitorProvider
      apiKey="mk_live_..."
      tenantId="tnt_acme_prod"
    >
      <MandateCreator />
      <MandateViewer mandateId="mnd_abc123" />
    </MandaitorProvider>
  );
}
```

## Components

| Component | Description |
|-----------|-------------|
| `MandaitorProvider` | Context provider that initialises the SDK client |
| `MandateCreator` | Form for creating new delegation mandates |
| `MandateViewer` | Read-only display of a single mandate with status |
| `MandateManager` | Full CRUD interface for managing mandates (list, revoke, suspend, reactivate) |
| `MandateVerifier` | Interactive verification form for testing delegation claims |
| `APIKeyManager` | API key display and management component |
| `WidgetConfigDashboard` | Dashboard for configuring the embeddable consent widget |

## Hooks

| Hook | Description |
|------|-------------|
| `useMandaitorSDK()` | Access the SDK client instance from context |
| `useMandate(id)` | Fetch and cache a single mandate |
| `useMandates(options?)` | Fetch and cache a paginated list of mandates |

## Storybook

Component stories are co-located with their components. Run Storybook from the monorepo root:

```bash
pnpm storybook
```

## Development

```bash
# Build
pnpm build

# Run unit tests
pnpm test:unit

# Run integration tests
pnpm test:integration
```
npm package: @mandaitor/taxonomy-construction
Description: Mandaitor — Construction industry taxonomy (monco.ai)
Author: Mandaitor
Latest version: 0.1.1

# @mandaitor/taxonomy-construction

Construction industry taxonomy for the Mandaitor delegation framework. Designed for [monco.ai](https://monco.ai) workflows.

---

## Overview

This package defines the delegation vocabulary for construction project management, including BIM validation, issue management, and project coordination.

## Modules

| Module | Description |
|--------|-------------|
| `actions.ts` | Delegatable actions (e.g., `construction.validation.approve`, `construction.issue.flag`) |
| `resources.ts` | Resource patterns following the `project/zone/installation` hierarchy |
| `constraints.ts` | Construction-specific constraints (e.g., default mandate duration of 180 days) |
| `templates.ts` | Pre-configured mandate templates for common construction delegation patterns |

## Mandate Templates

| Template | Description |
|----------|-------------|
| `construction.automated-validation` | Delegate BIM plan validation, issue flagging, and re-check requests |
| `construction.issue-management` | Delegate issue creation, assignment, and status updates |
| `construction.project-coordination` | Delegate scheduling, resource allocation, and progress reporting |

## Resource Hierarchy

Resources follow a hierarchical pattern: `project:{id}/zone:{zone}/installation:{installation}`

Example: `project:proj-1/zone:EG/installation:stk_01` refers to installation "stk_01" in ground floor zone of project "proj-1".

## Development

```bash
pnpm build
pnpm test:unit
```
npm package: @mandaitor/taxonomy-core
Description: Mandaitor — Core taxonomy types, interfaces, and validation
Author: Mandaitor
Latest version: 0.1.1

# @mandaitor/taxonomy-core

Core taxonomy types, interfaces, and validation for the Mandaitor delegation framework.

---

## Overview

This package defines the foundational type system that all industry-specific taxonomies extend. It provides:

- **Type definitions** for actions, resources, constraints, and mandate templates
- **Registry** for registering and discovering taxonomy modules at runtime
- **Validator** for validating mandate scopes against registered taxonomies

## Usage

```typescript
import { TaxonomyRegistry, validateScope } from "@mandaitor/taxonomy-core";
import { constructionTaxonomy } from "@mandaitor/taxonomy-construction";

// Register an industry taxonomy
TaxonomyRegistry.register(constructionTaxonomy);

// Validate a mandate scope against registered taxonomies
const result = validateScope({
  actions: ["construction.validation.approve"],
  resources: ["project:proj-1/zone:EG/installation:stk_01"],
  effect: "ALLOW",
});
```

## Core Types

| Type | Description |
|------|-------------|
| `TaxonomyAction` | Defines a delegatable action within a vertical |
| `TaxonomyResource` | Defines a resource pattern with hierarchical segments |
| `TaxonomyConstraint` | Time, count, or escalation constraints for mandates |
| `TaxonomyMandateTemplate` | Pre-configured mandate blueprint for common delegation patterns |

## Development

```bash
pnpm build
pnpm test:unit
```
npm package: @mandaitor/taxonomy-realestate
Description: Mandaitor — Real estate industry taxonomy (Mitarbyte)
Author: Mandaitor
Latest version: 0.1.1

# @mandaitor/taxonomy-realestate

Real estate industry taxonomy for the Mandaitor delegation framework.

---

## Overview

This package defines the delegation vocabulary for real estate management, including property operations, tenant management, and transaction workflows.

## Modules

| Module | Description |
|--------|-------------|
| `actions.ts` | Delegatable actions for real estate operations |
| `resources.ts` | Resource patterns following property/unit hierarchies |
| `constraints.ts` | Real estate-specific constraints |
| `templates.ts` | Pre-configured mandate templates for common real estate delegation patterns |

## Development

```bash
pnpm build
pnpm test:unit
```
npm package: @mandaitor/taxonomy-venture
Description: Mandaitor — Venture capital industry taxonomy (SouthStarter)
Author: Mandaitor
Latest version: 0.1.1

# @mandaitor/taxonomy-venture

Venture capital industry taxonomy for the Mandaitor delegation framework.

---

## Overview

This package defines the delegation vocabulary for venture capital workflows, including deal sourcing, due diligence, and portfolio management.

## Modules

| Module | Description |
|--------|-------------|
| `actions.ts` | Delegatable actions for VC operations |
| `resources.ts` | Resource patterns following fund/portfolio/company hierarchies |
| `constraints.ts` | VC-specific constraints |
| `templates.ts` | Pre-configured mandate templates for common VC delegation patterns |

## Development

```bash
pnpm build
pnpm test:unit
```
npm package: @mandala-ui/button
Description: Mandala UI Kit Button Component
Author: Lucas K Allmon
Latest version: 1.0.4

# Mandala UI Button
Mandala is a React component library that utilizes a declarative CSS.

### Installation

Check the [Monorepo README](https://github.com/mandala-ui/mandala) for installation.

### Usage
if using the whole library:
```js
import { Button } from 'mandala';
```
if only using this component:
```js
import Button from '@mandala-ui/button';
```

### Props
* `children` - Whatever node you would like in your button. Use this to add icons or customize text color inside.
* `color` - color string for the background color of the button
* `disabled` - disables clicking and reduces the opacity by 60%
* `onClick` - click callback handler
* `pill` -  gives the button 100% radius
* `radius` - border radius, from 0-4, will not work if `pill` is `true`

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| children | node     | null         | -          |
| color    | string   | black        | -          |
| disabled | boolean  | false        | -          |
| onClick  | func     | null         | -          |
| pill     | boolean  | false        | -          |
| radius   | number   | 0            | -          |

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/column
Description: Mandala UI Column Component
Author: Lucas K Allmon
Latest version: 1.0.4

## Mandala UI Column Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation

Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.
### Description
A Column is used for separating content from other content. Defaults to 100% width for you to layout how you prefer.
### Usage
if using the whole library:
```js
import { Column } from 'mandala';
```
if only using this component:
```js
import Column from '@mandala-ui/column';
```

### Props
* `backgroundColor` - background color string
* `borderColor` - border color string
* `borderRadius` - number clamped between 1 and 4
* `children` - Content inside the column
* `padding` - number clamped between 1 and 4, padding around all

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| backgroundColor| string     | white| -          |
| borderColor    | string     | white| -          |
| borderRadius   | number     | 0    | -          |
| children       | node       | null | -          |
| padding        | number     | 0    | -          |
| radius         | number     | 0    | -          |

#### TODO:
- [ ] Border Width

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/list
Description: Mandala UI List Component
Author: Lucas K Allmon
Latest version: 1.0.8

## Mandala UI List Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
A List is used for content in order or in sequence. The props on this list allow you to create robust compound components. It renders all the children inside a `<ListItem />` component.

### Usage
if using the whole library:
```js
import { List } from 'mandala';
```
if only using this component:
```js
import List from '@mandala-ui/list';
```
### Props
* `children` - items that will be in the list, they must be elements
* `contained` - will remove the last bottom border if the list is contained inside another element
* `indented` - adds padding for a contained list
* `lineColor` - the color of the bottom border of each ListItem
* `lined` - set this prop to add lines
* `lineWidth` - width of lines, clamped 1-5.
* `narrow` - little padding between ListItems.
* `ordered` - add a number to the front of each ListItem
* `wide` - lots of padding between ListItems

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| children | node     | null         | -          |
| contained| boolean  | false        | -          |
| indented | boolean  | false        | -          |
| lineColor| string   | 'white'      | -          |
| lined    | boolean  | false        | -          |
| lineWidth| number   | 0            | -          |
| narrow   | boolean  | false        | -          |
| ordered  | boolean  | false        | -          |
| wide     | boolean  | false        | -          |

#### TODO:
- [ ] background colors
- [ ] striped
- [ ] infer `lined` from lineColor prop existence

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/list-header
Description: Mandala UI Kit ListHeader Component
Author: Lucas K Allmon
Latest version: 1.0.2

## Mandala UI ListHeader Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
A header for the top of lists that matches the style and props

### Usage
if using the whole library:
```js
import { ListHeader } from 'mandala';
```
if only using this component:
```js
import ListHeader from '@mandala-ui/list-header';
```
### Props
* `children` - what needs to be in the header, usually one h element.
* `indented` - adds padding for a contained list
* `lineColor` - the color of the bottom border
* `lined` - set this prop to add a bottom border
* `lineWidth` - width of the bottom border of the header

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| children | node     | null         | -          |
| indented | boolean  | false        | -          |
| lineColor| string   | 'white'      | -          |
| lined    | boolean  | false        | -          |
| lineWidth| number   | 0            | -          |
| ordered  | boolean  | false        | -          |

#### TODO:
- [ ] tight, normal, high for vertical padding.
- [ ] infer `lined` from lineColor prop existence

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/outline-dot
Description: Mandala UI Kit OutlineDot Component
Author: Lucas K Allmon
Latest version: 1.1.1

## Mandala UI OutlineDot Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
A header for the top of lists that matches the style and props

### Usage
if using the whole library:
```js
import { OutlineDot } from 'mandala';
```
if only using this component:
```js
import OutlineDot from '@mandala-ui/outline-dot';
```
### Props
* `borderColor` - the color of the border around the dot
* `borderWidth` - the width of the border around the dot
* `color` - the color of the dot
* `innerBorderWidth` - the width of the inner section between the dot and border
* `innerColor` - the color of the inner section of the outlined dot

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| borderColor | string| null         | -          |
| borderWidth | number| false        | -          |
| color       | string | 'white'     | -          |
| innerBorderWidth | number  | false | -          |
| innerColor  | string | 0           | -          |
| large       | boolean| false       | -          |

#### TODO:
- [ ] rename to Dot, use outline as a prop
- [ ] infer `lined` from lineColor prop existence

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/progress-bar
Description: Mandala UI Progress Bar Component
Author: Lucas K Allmon
Latest version: 1.1.1

## Mandala UI ProgressBar Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
ProgressBar is a 100% width element that takes a percent prop and renders that much of it in another color.

### Usage
if using the whole library:
```js
import { ProgressBar } from 'mandala';
```
if only using this component:
```js
import ProgressBar from '@mandala-ui/progress-bar';
```
### Props
* `backgroundColor` - the color of the border around the dot
* `color` - the width of the border around the dot
* `large` - the color of the dot
* `percent` - the width of the inner section between the dot and border
* `pill` - the color of the inner section of the outlined dot

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| backgroundColor | string | null    | -          |
| color      | string | false        | -          |
| large      | boolean| 'white'      | -          |
| percent    | number | false        | -          |
| pill       | boolean| false        | -          |


#### TODO:
- [ ] prop to add/remove depth (shadow)
- [ ] borderColor adds a border of relevant color
- [ ] border width

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/split-button
Description: Mandala UI Split Button Component
Author: Lucas K Allmon
Latest version: 1.1.1

## Mandala UI SplitButton Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
SplitButton is effectively an on off switch. It takes a function on click and an `isOn` prop to toggle the state of it from another component.

### Usage
if using the whole library:
```js
import { SplitButton } from 'mandala';
```
if only using this component:
```js
import SplitButton from '@mandala-ui/split-button';
```
### Props
* `backgroundColor` - the color of the surface area of the switches
* `disabled` - sets the button as disabled and reduces opacity 40%
* `isOn` - prop to switch which side of the switch is on
* `offColor` - the color of the off section when the switch is off
* `onClick` - function for onClick
* `onColor` - the color of the on section when the switch is on
* `pill` - sets the radius of the ends to 100%
* `radius` - the border radius of the button (1-4, clamped), is disabled if `pill` is set to `true`
* `showLabels` - shows the "on" and "off" text labels

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| backgroundColor | string | 'white' | -          |
| disabled  | string | 'black'      | -          |
| isOn      | boolean| false        | -          |
| offColor  | string | 'black'      | -          |
| onClick   | function| null        | -          |
| onColor   | string | 'black'      | -          |
| pill      | boolean| false        | -          |
| radius    | boolean| false        | -          |
| showLabels| boolean| false        | -          |


#### TODO:
- [ ] callback for analytics, etc
- [ ] colored border
- [ ] border width

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)
npm package: @mandala-ui/tag
Description: Mandala UI Tag Component
Author: Lucas K Allmon
Latest version: 1.1.1

## Mandala UI Tag Component
Mandala is a React component library that utilizes a declarative CSS library for styling.

### Installation
Check the [MonoRepo README](https://github.com/mandala-ui/mandala) for installation.

### Description
Tag is just a simple element to show metadata in a small font

### Usage
if using the whole library:
```js
import { Tag } from 'mandala';
```
if only using this component:
```js
import Tag from '@mandala-ui/split-button';
```
### Props
* `backgroundColor` - the color of the surface area of the switches
* `disabled` - sets the button as disabled and reduces opacity 40%
* `isOn` - prop to switch which side of the switch is on
* `offColor` - the color of the off section when the switch is off
* `onClick` - function for onClick
* `onColor` - the color of the on section when the switch is on
* `pill` - sets the radius of the ends to 100%
* `radius` - the border radius of the button (1-4, clamped), is disabled if `pill` is set to `true`
* `showLabels` - shows the "on" and "off" text labels

| propName | propType | defaultValue | isRequired |
| -------- | -------- | ------------ | ---------- |
| backgroundColor | string | 'white' | -          |
| disabled  | string | 'black'      | -          |
| isOn      | boolean| false        | -          |
| offColor  | string | 'black'      | -          |
| onClick   | function| null        | -          |
| onColor   | string | 'black'      | -          |
| pill      | boolean| false        | -          |
| radius    | boolean| false        | -          |
| showLabels| boolean| false        | -          |


#### TODO:
- [ ] callback for analytics, etc
- [ ] colored border
- [ ] border width

![mandala-bottom](https://user-images.githubusercontent.com/1824267/38281372-32114e5c-375f-11e8-9fbe-e5191b96429c.png)