open-index/open-npm huggingface dataset:
npm package: @mverissimoo/emotion-grid
Description: A responsive (mobile-first) grid system built with emotion.
Author: Matheus Verissimo
Latest version: 1.8.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Emotion grid

A responsive (mobile-first) grid system built with emotion.

## Quick start

### Installation

You can use **yarn** or **npm**.

> Emotion is used has peerDependencie, so you need install to.

```bash
yarn add @emotion/react @emotion/styled @mverissimoo/emotion-grid
```

### Usage

```jsx
import { Container, Row, Col } from '@mverissimoo/emotion-grid';

function Page() {
  return (
    <Container>
      <Row>
        <Col xs={4} md={6} xl={12}>
          Col
        </Col>
        <Col xs={4} md={6} xl={12}>
          Col
        </Col>
      </Row>
    </Container>
  );
}

export default Page;
```

## Development

```bash
yarn docz:dev
```

## Looking for docs

You can check [here](https://emotion-grid.netlify.app/), guides and API reference.

## Built with

- [Typescript](https://www.typescriptlang.org/)
- [Emotion](https://emotion.sh/docs/introduction)
- [Docz](https://www.docz.site/)
- [Preconstruct](https://preconstruct.tools/)

## Contributing

Feel like contributing? That's awesome! We have a [contributing guide](https://github.com/mverissimo/emotion-grid/blob/master/CONTRIBUTING.md) to help guide you.
npm package: @mverissimoo/storybook-addon-status
Description: Show the component status
Author: Matheus Verissimo
Latest version: 1.0.6

# Storybook Addon Status

Storybook Status Addon show the component status in your story.

[Live preview](https://mverissimo.github.io/storybook-addon-status/)

# Installation

```bash
yarn add --dev @mverissimoo/storybook-addon-status
```

# Configuration

Add storybook-addon-status to your list of addons:

```js
// .storybook/main.js

module.exports = {
  addons: ['@mverissimoo/storybook-addon-status/preset'],
};
```

# Usage

Just add the following param in your storie:

```jsx
export default {
  title: 'Components/Button',
  parameters: {
    status: 'stable', // beta| deprecated | review | stable
  },
};
```

# Custom status badge

Just add a `status` object in your `parameters` eg:

```js
// .storybbok/preview.js

export const parameters = {
  badges: {
    custom: {
      title: 'some badge',
      color: '#FFFFFF',
      background: '#000000',
    },
  },
};
```
npm package: @mvexel/timetracker-cli
Description: A simple command line time tracking tool for developers
Author: Martijn van Exel
Latest version: 1.1.0

# timetracker-cli

A simple command line time tracking tool for developers.

![Demo](demo/timetracker-demo.gif)

## Installation

```bash
npm install -g @mvexel/timetracker-cli
```

## Usage

### Basic Time Tracking

```bash
# Start tracking a project (auto-creates project)
tt start <project_name> [description]

# Start with description
tt start client-website "fixing responsive layout"

# Stop tracking current session
tt stop
```

### Manual Logging

```bash
# Log time for a project (duration in minutes)
tt log <project_name> <duration_in_minutes> [description]

# Log with description
tt log myproject 120 "code review session"

# Log for specific day
tt log myproject 60 "bug fixes" --day 2024-01-15
```

### Viewing Data

Most of these support a `--json` parameter.

```bash
# Show time summary for all projects
tt summary [period]

# Show summary for specific project
tt summary --project myproject

# Show log entries
tt logs [period]

# Show only session entries (start/stop)
tt logs --sessions-only

# Show only manual entries
tt logs --manual-only

# Show only entries with descriptions
tt logs --with-descriptions

# Available periods: day, week, month, all (default: all)
```

### Project Management

```bash
# List all projects with stats
tt projects

# Delete project and all its entries
tt project delete myproject. # this is the same as tt delete --project myproject
```

### Deleting Entries

You can delete entries by project, time range, or a combination of both. You can also manually edit the log file.

```bash
# Delete by project and time range
tt delete --project myproject --last     # Most recent entry
tt delete --project myproject --today    # All today's entries

# Delete by time range only (all projects)
tt delete --last      # Most recent entry
tt delete --today     # All today's entries
tt delete --week      # This week's entries
tt delete --month     # This month's entries
```

### Data Export

```bash
# Export to file
tt export > backup.csv
```

### `zsh` integration

I don't use bash, if you do, please submit :)

#### Prompt

Add this to your `~/.zshrc` to add your current session to your prompt

```bash
timetracker_prompt() {
  local tt_status=$(tt status 2>/dev/null)
  if [[ -n "$tt_status" ]]; then
    echo "%F{yellow}$tt_status%f "
  fi
}
setopt PROMPT_SUBST
PROMPT='$(timetracker_prompt)%F{blue}%~%f $ '
```

#### Completions

There's a completions function in `extras/zsh` you can use. This provides completions for the subcommands and options as well as project names.

## Data Storage

Time tracking data is stored in your home directory at `~/.timetracker/`:

- `state.json`: Current tracking session state
- `timetracker.csv`: Session entries with date, duration, description, and session ID

## License

MIT
npm package: @mvf/eslint-config-mvf-typescript-node
Description: Package for MVF node typescript linting standards
Latest version: 2.0.6

# MVF ESLINT CONFIG FOR TYPESCRIPT

Package for MVF node typescript linting standards

# Install MVF eslint config in your application

```
npm install -D @mvf/eslint-config-mvf-typescript-node
npx install-peerdeps --dev @mvf/eslint-config-mvf-typescript-node

or

yarn add -D @mvf/eslint-config-mvf-typescript-node
yarn add -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-airbnb-typescript eslint-config-prettier eslint-plugin-import eslint-plugin-prettier prettier
```

## Enable MVF linter

Create `.eslintrc.js` file in your root directory and paste the below:

```js
module.exports = {
  ...require("@mvf/eslint-config-mvf-typescript-node").eslint,
};
```

Create `.prettierrc.js` file in your root directory and paste the below:

```js
module.exports = {
  ...require("@mvf/eslint-config-mvf-typescript-node").prettier,
};
```

Install eslint vscode extension and paste the below to your vscode settings json:

```json
{
    ...,
    "eslint.autoFixOnSave": true,
    "eslint.validate":  [
      "javascript",
      "javascriptreact",
      {"language": "typescript", "autoFix": true },
      {"language": "typescriptreact", "autoFix": true }
    ],
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true
    },
    ...
}
```

You can add the below scripts in the `package.json` to run the linter:

```json
"lint": "eslint './src/**/*.ts'" // list lint issues without fixing them
"lint:fix": "npm run lint -- --fix" // fix lint errors automatically when possible and list remaining lint issues
```

You might need to restart VS Code to see the warnings and errors highlighted in your code.

You can also setup pre-commit checks if you want to:

Setup pre-commit checks, add the following to your `package.json`:

```json
{
  "dependencies": { ... },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && tsc --noEmit && npm test"
    }
  },
  "lint-staged": {
    "*.{ts}": [
      "eslint --fix"
    ]
  }
}
```

# Publish changes

After you have merged a PR to master, you need to rebuild and publish the components.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
    * `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
    * `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
    * `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/eslint-config-mvf-typescript-react
Description: Package for MVF react typescript linting standards
Latest version: 2.0.6

# MVF ESLINT CONFIG FOR TYPESCRIPT

Package for MVF react typescript linting standards

# Install MVF eslint config in your application

```
npm install -D @mvf/eslint-config-mvf-typescript-react
npx install-peerdeps --dev @mvf/eslint-config-mvf-typescript-react

or

yarn add -D @mvf/eslint-config-mvf-typescript-react
yarn add -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-airbnb-typescript eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks prettier
```

## Enable MVF linter

Create `.eslintrc.js` file in your root directory and paste the below:

```js
module.exports = {
  ...require("@mvf/eslint-config-mvf-typescript-react").eslint,
};
```

Create `.prettierrc.js` file in your root directory and paste the below:

```js
module.exports = {
  ...require("@mvf/eslint-config-mvf-typescript-react").prettier,
};
```

Install eslint vscode extension and paste the below to your vscode settings json:

```json
{
    ...,
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true
    },
    ...
}
```

You can add the below scripts in the `package.json` to run the linter:

```json
"lint": "eslint './src/**/*.ts'" // list lint issues without fixing them
"lint:fix": "npm run lint -- --fix" // fix lint errors automatically when possible and list remaining lint issues
```

You might need to restart VS Code to see the warnings and errors highlighted in your code.

Setup pre-commit checks, add the following to your `package.json`:

```json
{
  "dependencies": { ... },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && tsc --noEmit && npm test"
    }
  },
  "lint-staged": {
    "*.{ts}": [
      "eslint --fix"
    ]
  }
}
```

# Publish changes

After you have merged a PR to master, you need to rebuild and publish the components.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
    * `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
    * `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
    * `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/logger
Description: ## Usage
Latest version: 1.0.10

# MVF Logger

## Usage

Provides a consistent logging output for javascript applications.

### To install the package

Run `npm install @mvf/logger`

### How to use

Import log function of your choice and then use them to output a log message.

```ts
import { info, warning, error } from "@mvf/logger";

info("info message");
warning("info message");
error("info message");
```

The logger can also accept an object of extra data, which will be logged together with the message.

```ts
import { info } from "@mvf/logger";

info("info message", {
  clickId: "...",
  ...
});
```

### Exceptions

Logger is configured to catch any unhandled exceptions and output them to the console in a json format, consistent with the other log messages.

### Testing

Logger will be silent, it will not log anything, if `ENVIRONMENT_FILE` env variable is set to `testing`.

### Formatting

Logger will format output using `prettyPrint` formatter if `ENVIRONMENT_FILE` env variable is set to `development` in all other cases `json` formatter will be used to ensure consistent log output.

## Contributing

### Setup

- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging

After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
   - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
   - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
   - `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/servicer
Description: ## Usage
Latest version: 5.9.4

# Servicer package

## Usage

* [Introduction](./docs/introduction.md)
* [express-api](https://bitbucket.org/mvfglobal/servicer-express/src/master/README.md)
* [express-apollo](https://bitbucket.org/mvfglobal/servicer-apollo/src/master/README.md)
* [express-exec](https://bitbucket.org/mvfglobal/servicer-exec/src/master/README.md)
* [express-sqs](https://bitbucket.org/mvfglobal/servicer-sqs/src/master/README.md)

### To install the package
Run `npm install @mvf/servicer`

## Contributing

### Setup
- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging
After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
    - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
    - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
    - `make publish kind=major` - Use this if your change is not backwards compatible.

## Setup Tests

- In RestEvents, CommandEvents or BackendEvents, add import `bindSimulator`:
    - `import { bindSimulator } from '@mvf/servicer';`
- Then use `bindSimulator` to create a `simulate` function:
    - `export const simulate = bindSimulator(RestEvents);`
- In the tests it is then possible to call actions using the simulate function:
  `const result = await simulate(ActionConstant, { headers }, { body });`

### Success response
```ts
const result = await simulate(ActionConstant, { headers }, { body });
result.output.output; // will contain response from Action
```

### Error response

#### Response with Status code & Error message
```ts
const err = await catchAsyncError(async () => {
  await simulate(ActionConstant,{headers},{body});
});

expect(err.status).toBe(400);
expect(err.message).toBe('Error message');
```
#### Response with type of error
```ts
await expect(simulate(ActionConstant, {headers}, {body})).rejects.toThrow(BadRequestError);
```
npm package: @mvf/servicer-apollo
Description: Run `npm install @mvf/servicer-apollo`
Latest version: 1.5.8

# MVF servicer Apollo

## Usage

### To install the package

Run `npm install @mvf/servicer-apollo`

### Configuration
Set the following environment variables in your project

- `ENVIRONMENT_FILE` should be set to one of `development` | `testing` | `staging` | `production`
- `APOLLO_SERVER_PORT` defaults to 80

## Servicer Apollo
To setup Servicer Apollo you will need an entrypoint.ts or equivalent file.
```ts
import { Application, DaemonCommand } from "@mvf/servicer";
import { Apollo, Resolvers, IApolloConfig } from "@mvf/servicer-apollo";
import { ApolloEventSources } from "EventSources";
import schema, { actionResolvers, dataSources, graphqlResolvers } from "Services/Apollo";
import { verifyToken } from "Services/Middleware/Auth/Auth";

const environmentConfig: IApolloConfig = process.env.ENVIRONMENT_FILE === "development" ? {
  playground: true,
  introspection: true,
} : {};

const config: IApolloConfig = {
  context: verifyToken,
  dataSources,
  ...environmentConfig,
};

const setupApplication = async () => {
  const application = new Application();
  const resolvers = new Resolvers(ApolloEventSources, actionResolvers(), graphqlResolvers());
  application.addCommands(
    new DaemonCommand(new Apollo(resolvers, schema, config)),
  );
  await application.run();
};

setupApplication();

```

## Contributing

### Setup

- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging

After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
   - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
   - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
   - `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/servicer-exec
Description: ## Usage
Latest version: 1.9.6

# MVF Servicer Exec

## Usage

TODO

### To install the package

Run `npm install @mvf/servicer-exec`

### Configuration

Set the following environment variables in your project

- `ENVIRONMENT_FILE` should be set to `development` | `testing` | `staging` | `production`

## Servicer Exec
To setup Servicer Exec you will need an entrypoint.ts or equivalent file.
```ts
import { Application } from "@mvf/servicer";
import { ExecCommand } from "@mvf/servicer-exec";
import { GenericEventSources } from "./EventSources/GenericEventSources";

const setupApplication = async (): Promise<void> => {
  const application = new Application();

  application.addCommands(
    new ExecCommand(GenericEventSources),
  );

  await application.run();
};

void setupApplication();
```


## Contributing

### Setup

- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging

After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
   - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
   - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
   - `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/servicer-sqs
Description: ## Usage
Latest version: 1.4.2

# MVF Servicer SQS

## Usage

TODO

### To install the package

Run `npm install @mvf/servicer-sqs`

### Configuration

Set the following environment variables in your project

- `ENVIRONMENT_FILE` should be set to `development` | `testing` | `staging` | `production`

## Servicer SQS

First setup sqs service, create `src/Services/Sqs.ts`

```ts
import { SQS } from '@aws-sdk/client-sqs';
import Environment from '../Setup/Environment';

let client: SQS | undefined;

export const Sqs = (): SQS => {
  if (!client) {
    const endpoint = Environment.AWS_ENDPOINT;
    client = endpoint
      ? new SQS({
          endpoint,
          credentials: {
            accessKeyId: 'dev',
            secretAccessKey: 'dev',
          },
        })
      : new SQS({});
  }

  return client;
};
```

Then setup SqsDaemon, create `src/Setup/Sqs/SqsDaemon.ts`

```ts
import { SqsMany, sqsConfig } from '@mvf/servicer-sqs';
import Environment from '../Environment';
import {
  InternalSqsEvents,
} from '../../EventSources/Sqs';
import { Sqs } from '../../Services/Sqs';

const template = Environment.SQS_URL_TEMPLATE;

export const SqsDaemon = new SqsMany([
  sqsConfig(InternalSqsEvents, template, 'internal', Sqs()),
  // Add sqs config for each sqs queue you want to consume from 
]);
```

Finally setup app entrypoint, create `src/entrypoint.ts`

```ts
import { Application, DaemonCommand } from "@mvf/servicer";
import { SqsDaemon } from './Setup/Sqs/SqsDaemon';

const setupApplication = async (): Promise<void> => {
  const application = new Application();

  application.addCommands(
    new DaemonCommand(SqsDaemon),
  );

  await application.run();
};

void setupApplication();
```

## Contributing

### Setup

- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging

After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
   - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
   - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
   - `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvf/zod-types
Description: ## Usage
Latest version: 1.2.1

# MVF Zod Types

## Usage

Provides variety of additional zod types / validations

## Contributing

### Setup

- Run `make` to build the container
- Run `make shell` to enter the container
- Run `npm install` to install dependencies

Refer to package.json for commands

### After merging

After you have merged a PR to master, you need to rebuild and publish your changes.

1. Checkout master `git checkout master && git pull`
2. Use one of the following make publish commands to publish changes:
   - `make publish kind=patch` - Use this if your change is a bug fix and is backwards compatible.
   - `make publish kind=minor` - Use this if your change adds new functionality and is backwards compatible.
   - `make publish kind=major` - Use this if your change is not backwards compatible.
npm package: @mvieracanive/nest_notifier
Description: Nest.js module for sending notifications to a group of users after the execution of an endpoint.
Author: Maia Viera Cañive
Latest version: 1.0.5

<p align="center">
  <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo_text.svg" width="320" alt="Nest Logo" /></a>
</p>

<h1>Nest Notifier</h1>

## Description

<p align="center">A module for Nest.js for notifying a group of users about the excecution of actions.</p>

## License

Nest Notifier is [MIT licensed](LICENSE).
npm package: @mvik/asciidoctor-hill-chart
Description: Create hill charts using AsciiDoctor
Author: Mikael Vik
Latest version: 0.2.1

# @mvik/asciidoctor-hill-chart

Create hill charts in Antora.

## Installation

`npm install @mvik/asciidoctor-hill-chart`

## Configuration

<p class="codeblock-label">playbook.yml</p>

```yml
asciidoc:
  extensions:
    - '@mvik/asciidoctor-hill-chart'
```

## Usage

```asciidoc
[hill-chart,width=500px]
.Tasks
--
Getting started;0.1
Almost there;0.64;red
Soon done;0.9;steelblue;5
--
```
npm package: @mvik/hill-chart
Description: Create hill charts
Author: Mikael Vik
Latest version: 0.2.1

# @mvik/hill-chart

Create [hill charts](https://basecamp.com/shapeup/3.4-chapter-13#work-is-like-a-hill) using JavaScript.

Supports `svg`.

## Installation 

`npm install @mvik/hill-chart`

## Plain JS

```js
const {task, createHill, drawHillChart} = require('@mvik/hill-chart')
const fs = require('fs')

const hill = createHill({title: 'New Title'})

const tasks = [
    task('getting started', 0.1),
    task('almost there', 0.64, 'red'),
    task('soon done', 0.9, 'steelblue', 5)
]

const svg = drawHillChart({hill, tasks}, 'svg')
fs.writeFileSync('./hill-chart.svg', svg)
```

## Tasks from CSV

The csv is parsed using [Papa Parse](https://www.papaparse.com/).

```js
const {createTasksFromCsv, drawHillChart} = require('../src/hill-chart')
const fs = require('fs')

const hill = createHill({title: 'Tasks'})
const tasks = createTasksFromCsv(`
getting started;0.1
almost there;0.64;red
soon done;0.9;steelblue;5
`)

const svg = drawHillChart({hill, tasks})
fs.writeFileSync('./csv-hill-chart.svg', svg)
```

## Result

![generated svg](csv-hill-chart.svg)
npm package: @mvila/dev-tools
Description: Simple development tools used by mvila's projects
Author: Manuel Vila
Latest version: 1.4.0

# @mvila/dev-tools

Simple development tools used by mvila's projects.

## Installation

```bash
npm install @mvila/dev-tools --save-dev
```

## Usage

To build a TypeScript project, add the following in your `package.json` file:

```json
{
  "scripts": {
    "build": "dev-tools build:ts-library",
    "test": "dev-tools test:ts-library"
  }
}
```

## License

MIT
npm package: @mvila/prettierrc
Description: Shared Prettier config used by mvila's projects
Author: Manuel Vila
Latest version: 1.1.2

# @mvila/prettierrc

Shared Prettier config used by mvila's projects.

## Installation

```bash
npm install @mvila/prettierrc --save-dev
```

## Usage

Add the following in the `package.json` file of your project:

```json
{
  "prettier": "@mvila/prettierrc"
}
```

## License

MIT
npm package: @mvila/tsconfig
Description: Shared TypeScript config used by mvila's projects
Author: Manuel Vila
Latest version: 1.0.6

# @mvila/tsconfig

Shared TypeScript config used by mvila's projects.

## Installation

```bash
npm install @mvila/tsconfig --save-dev
```

## Usage

`tsconfig.json`

```json
{
  "extends": "@mvila/tsconfig",
  "include": ["src/**/*"],
  "compilerOptions": {
    "outDir": "dist/node-cjs"
  }
}
```

## License

MIT
npm package: @mvits/react-native-spatial
Description: Spatialite package for React Native.
Author: Stiv Verdugo
Latest version: 2.0.5


# react-native-spatial


## Getting started

1. Run `npm install @mvits/react-native-spatial --save`


## Usage
```javascript
import RNSpatial from '@mvits/react-native-spatial';

// open connection
let dbParams = {
  dbName: this.name + '.sqlite'
};

RNSpatial.connect(dbParams)
    .then(() => {
		// execute query
        return RNSpatial.executeQuery('SELECT * FROM table');
	})
	.then(response => {
		let columns = response.data;
		// do your work
	})
	.catch(err => {
		console.error(err);
	});

// close connection
RNSpatial.close()
	.then(() => {})
	.catch(err => {
		console.error(err);
	});
```
## About this current version

Version [2.0.5](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.5) :
* Change call plugin Geo-Spatialite-Android

## About the others versions
Version [2.0.4](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.4) :
* Change dependencies package.json

Version [2.0.3](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.3) :
* Fixed error publish in npm

Version [2.0.2](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.2) :

* Add support to json extension [JSON1 Extension](https://www.sqlite.org/json1.html)
* Add support sdk android 19 in architecture: armeabi-v7a, x86, arm64-v8a, x86_64

Version [2.0.1](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.1):

* Add support for send a object to connect function and add functionality for create db in local path(Only External Storage Directory).


Version [2.0.0](https://github.com/mvits/react-native-spatial/releases/tag/v2.0.0):

* Version tested and funtional.
* Implement library [Geo-Spatialite-Android](https://github.com/mvits/Geo-Spatialite-Android/releases/tag/v1.0.0) (v1.0.0)
* Implement spatialite version 4.5.0

## Github Repository
* https://github.com/mvits/react-native-spatial

<sub>

Project is a fork from this project:
https://github.com/NeliHarbuzava/react-native-spatial.git  



Initial project this:
https://github.com/vinuvijay7692/react-native-spatial.git
</sup>
npm package: @mvlchain/eslint-config
Description: Common ESLint config used in MVL FE projects.
Author: mvlchain
Latest version: 1.0.4

# @mvlchain/eslint-config

Common ESLint config used in MVL FE projects.

- [Install](#install)
- [Usage](#usage)
  - [.eslintrc.js](#eslintrcjs)
  - [package.json](#packagejson)
- [With Husky & Lint Staged](#with-husky--lint-staged)

## Install

```bash
$ yarn add -D @mvlchain/eslint-config
```

## Usage

### .eslintrc.js

1. Add the following to `.eslintrc.js`

```js
module.exports = {
  extends: ['@mvlchain/eslint-config'], // or @mvlchain/eslint-config/react
};
```

> If you use `@mvlchain/eslint-config/react`, you don't need to use `@mvlchain/eslint-config`.

<br />

### package.json

1. Add the following to `package.json`

```js
{
  "eslintConfig": {
    "extends": "@mvlchain/eslint-config" // or @mvlchain/eslint-config/react
  }
}
```

## With Husky & Lint Staged

1. Install [husky](https://github.com/typicode/husky), [lint-staged](https://github.com/okonet/lint-staged):

```
$ yarn add -D husky lint-staged
```

2. Add the following to `package.json`:

```
{
  "scripts": {
    // ...
    "prepare": "husky install",
    "lint-staged": "lint-staged",
    "lint:fix": "./node_modules/.bin/eslint --fix",
    // ...
  },
  "lint-staged": {
    "**/*.{ts,tsx}": [
      "yarn run lint:fix"
    ]
  }
}
```

3. Set up pre-commit

```
$ yarn run prepare
$ npx husky add .husky/pre-commit "yarn run lint-staged"
$ git add .husky/pre-commit
```
npm package: @mvlchain/prettier-config
Description: Common Prettier config used in MVL JavaScript projects.
Author: MVL
Latest version: 1.0.1

# @mvlchain/prettier-config

Common Prettier config used in MVL FE projects.

- [Install](#install)
- [Usage](#usage)
  - [.prettierrc.js](#prettierrcjs)
    - [Overwrite](#overwrite)
  - [package.json](#packagejson)

## Install

```bash
yarn add -D @mvlchain/prettier-config
```

## Usage

### .prettierrc.js

1. Add the following to `.prettierrc.js` (or `prettier.config.js`):

```js
module.exports = require('@mvlchain/prettier-config');
```

#### Overwrite

You can overwrite config.

```js
module.exports = {
  ...require('@mvlchain/prettier-config'),
  // overwrite
  printWidth: 140,
  tabWidth: 4,
};
```

### package.json

1. Add the following to `package.json`:

```json
"prettier": "@mvlchain/prettier-config",
```
npm package: @mvllow/tsconfig
Description: Shared TypeScript config for my projects
Author: mvllow
Latest version: 0.3.0

# tsconfig

> Shared [TypeScript config](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for my projects

## Install

```sh
npm install --save-dev @mvllow/tsconfig
```

## Usage

`tsconfig.json`

```json
{
	"extends": "@mvllow/tsconfig",
	"compilerOptions": {
		"outDir": "dist"
	}
}
```

When targeting a higher version of Node.js, check the relevant ECMAScript version and add it as target:

```json
{
	"extends": "@mvllow/tsconfig",
	"compilerOptions": {
		"outDir": "dist",
		"target": "ES2024"
	}
}
```

_Inspired by [@sindresorhus](https://github.com/sindresorhus)_
npm package: @mvmoo/optionsapi
Description: 对vue2||uni-app使用 options API 的通用函数封装
Author: 沫予沫
Latest version: 0.0.2

## 分页

```vue
<template>
  <view>
    <!-- 查询框 -->
    <input v-model="keyword" @confirm="handleSearch" placeholder="请输入关键词" />

    <!-- 表格列表 -->
    <view v-if="paginated.loading">加载中...</view>
    <view v-else>
      <view v-for="item in paginated.data" :key="item.id">
        {{ item.name }}
      </view>
    </view>

    <!-- 分页器 -->
    <view>
      <button @click="handlePrev" :disabled="paginated.pagination.page === 1">上一页</button>
      <text>第 {{ paginated.pagination.page }} 页</text>
      <button @click="handleNext">下一页</button>
    </view>
  </view>
</template>

<script>
import { createPaginated } from '@mvmoo/optionsapi'
import { getUserList as api } from '@/api/user' // 示例接口

export default {
  data: () => ({
    finished: false,
    keyword: '',
    paginated: createPaginated(api, { keyword: '' }, {
      pageKey: 'page',
      limitKey: 'limit',
      extractList: res => res.data.rows,
      extractTotal: res => res.data.total,
      defaultPagination: { page: 1, limit: 10 },
      transformData: (rows, res, query) => {} // 自定义格式化数据
    }, 'concat(如果传递末尾参数代表开启数据叠加:适配移动端触底加载, 自行通过count判断是否继续触底)')
  }),

  created() {
    // ✅ 初始化加载
    this.paginated.reload({ keyword: '如果这里传递了参数 createPaginated第二个参数可设置为null' }, 1)
  },

  methods: {
    // 🔍 执行查询
    handleSearch() {
      this.paginated.onSearch({ keyword: this.keyword })
    },

    // 🔁 翻页（下一页）
    handleNext() {
      const { page, limit, total, count } = this.paginated.pagination
      const maxPage = Math.ceil(total / limit)
      if (page < maxPage) {
        this.paginated.onChangePage(page + 1, limit)
      }
    },

    // 🔁 翻页（上一页）
    handlePrev() {
      const { page, limit, count } = this.paginated.pagination
      if (page > 1) {
        this.paginated.onChangePage(page - 1, limit)
      }
    },

    // 🔄 手动刷新
    handleReload() {
      this.paginated.reload({}, 1)
    }
  }

  /* 示例uniapp触底加载 */
  onReachBottom () {
    if (this.finished) return
    const { page, limit, total, count } = this.paginated.pagination
    this.paginated.onChangePage(page + 1, limit)
    this.finished = count < limit
  },
}
</script>

```
npm package: @mvmoo/us
Description: A monorepo for reusable JavaScript utility functions for different platforms.
Author: 沫予沫
Latest version: 0.0.10

# @movmo/us 📦 工具库

一组常用的 JavaScript 工具函数，适用于日常前端开发。

## 示例

```javascript
import { formatBytes } from '@mvmoo/us'
// 或者 const { formatBytes } = require('@mvmoo/us') 

const num = formatBytes(1200)

console.log(num)

输出结果: '1.2k'

```

## 📚 函数说明

### `debounce(func, wait = 300)`
- 📄 文件: `debounce.js`
- 📝 描述: 防抖函数，用于减少函数触发频率
- 📌 参数:
  - `func`: 需要防抖的函数
  - `wait`: 等待时间（毫秒）

---

### `deepClone(obj)`
- 📄 文件: `deepClone.js`
- 📝 描述: 深拷贝对象或数组，递归复制所有嵌套内容

---

### `firstDay()`
- 📄 文件: `firstDay.js`
- 📝 描述: 获取当前月的第一天，格式为 `YYYY-MM-DD`

---

### `formatBytes(bytes)`
- 📄 文件: `formatBytes.js`
- 📝 描述: 将字节数格式化为带单位的字符串（如 KB、MB、GB）
- 📌 参数:
  - `bytes`: 字节数（string 或 number）
- 📌 示例: `formatBytes(123456)` 返回 `"123.45 KB"`

---

### `formatNum(num)`
- 📄 文件: `formatNum.js`
- 📝 描述: 格式化数字为简写单位（如 k、w、亿）
- 📌 示例:
  - `formatNum(1200)` 返回 `"1.2k"`
  - `formatNum(10000)` 返回 `"1w"`
  - `formatNum(123456789)` 返回 `"1.23亿"`

---

### `formatSmartTime(input, format)`
- 📄 文件: `formatSmartTime.js`
- 📝 描述: 将时间格式化为“智能”时间文本，根据时间间隔自动显示：
  - 当天内：`HH:mm`
  - 昨天：`昨天 HH:mm`
  - 前天：`前天 HH:mm`
  - 本周：`星期x HH:mm`
  - 本年：`MM月DD日 HH:mm`
  - 跨年：`YYYY年MM月DD日 HH:mm`
- 📌 参数: 支持 Date、字符串、时间戳（毫秒或秒）传入format可自定义日期分隔符

---

### `getBeforeDate(n)`
- 📄 文件: `getBeforeDate.js`
- 📝 描述: 获取 `n` 天前的日期，格式为 `YYYY-MM-DD`
- 📌 示例: `getBeforeDate(3)` → 三天前的日期字符串

---

### `parseTime(time, cFormat = '{y}-{m}-{d} {h}:{i}:{s}')`
- 📄 文件: `parseTime.js`
- 📝 描述: 将时间格式化为指定格式字符串
- 📌 示例:
  - `parseTime(Date.now())` → `2025-05-17 12:34:56`
  - `parseTime(1715962340000, '{y}/{m}/{d}')` → `2025/05/17`

---

### `randomColor()`
- 📄 文件: `randomColor.js`
- 📝 描述: 随机返回一个预设的颜色字符串
- 📌 示例: `#ffb6c1`、`#0dd2e4` 等
npm package: @mvn-ui/react
Description: A React UI component library based on shadcn/ui
Author: Marusys Vietnam
Latest version: 0.1.9

# @mvn-ui/react

A React UI component library based on [shadcn/ui](https://ui.shadcn.com/), tailored for Marusys projects.

**Repository:** [https://github.com/Humax-Viet-Nam/marusys-webkit-starter/tree/main/mvn-ui](https://github.com/Humax-Viet-Nam/marusys-webkit-starter/tree/main/mvn-ui)

## Installation

```bash
npm install @mvn-ui/react
# or
yarn add @mvn-ui/react
# or
pnpm add @mvn-ui/react
```

## Usage

Import styles in your root layout or entry file (e.g., `src/index.tsx` or `src/app/layout.tsx`):

```tsx
import '@mvn-ui/react/styles.css';
```

Import and use components:

```tsx
import { Button } from '@mvn-ui/react';

function App() {
  return (
    <div>
      <Button>Click me</Button>
    </div>
  );
}
```

## Features

- Built with React and TypeScript
- Styled with Tailwind CSS
- Accessible components via Radix UI
- Dark mode support (via `next-themes` or custom provider)

## License

MIT
npm package: @mvn-ui/vue
Description: Vue implementation of mvn-ui
Author: Marusys Vietnam
Latest version: 0.0.1

# @mvn-ui/vue

A Vue 3 UI component library based on [shadcn/ui](https://ui.shadcn.com/), tailored for Marusys projects.

**Repository:** [https://github.com/Humax-Viet-Nam/marusys-webkit-starter/tree/main/mvn-ui](https://github.com/Humax-Viet-Nam/marusys-webkit-starter/tree/main/mvn-ui)

## Installation

```bash
npm install @mvn-ui/vue
# or
yarn add @mvn-ui/vue
# or
pnpm add @mvn-ui/vue
```

## Usage

Import styles in your root layout or entry file (e.g., `src/main.ts` or `src/App.vue`):

```ts
import '@mvn-ui/vue/styles.css';
```

Import and use components:

```vue
<script setup lang="ts">
import { Button } from '@mvn-ui/vue';
</script>

<template>
  <Button>Click me</Button>
</template>
```

## Features

- Built with Vue 3 and TypeScript
- Styled with Tailwind CSS
- Accessible components via Radix Vue
- Dark mode support

## License

MIT
npm package: @mvneerven/xo-form
Description: XO - Declarative Forms using Web Components
Author: Marc van Neerven
Latest version: 1.0.26
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Introduction

XO Form is a tiny web forms library that translates declarative JavaScript schemas to complex data-bound web forms.

XO Form is written as [Web Components](https://developer.mozilla.org/en-US/docs/Web/Web_Components) in pure [ES6+](https://en.wikipedia.org/wiki/ECMAScript) JavaScript modules, and has just one dependency: [Lit](https://www.npmjs.com/package/lit).

## Features

- Reactive rendering
- Full two-way databinding
- Multi-page forms/wizards
- Rules engine for conditional logic
- Supports all HTML elements, including Custom Elements (Web Components)

# Setup

`npm i @mvneerven/xo-form`

# How it works

```html
<xo-form theme="material" src="/forms/my-form.js"></xo-form>
```

... where my-form.js looks like this:

```js
export const form = {
  model: {
    instance: {
      state: {},
      data: {
        name: "",
        msg: "",
      },
    },
    rules: {
      "#/state/submit": [
        {
          value: (context) => {
            alert(JSON.stringify(context.model.instance.data, null, 2));
          },
        },
      ],
    },
  },
  pages: [
    {
      label: "My Form",

      fields: [
        {
          type: "text",
          bind: "#/data/name",
          required: true,
          label: "Your name",
          placeholder: "Enter your name",
        },
        {
          type: "textarea",
          bind: "#/data/msg",
          label: "Your message",
          required: true,
          placeholder: "Enter a message",
          maxlength: 100,
          rows: 6,
        },
        {
          type: "button",
          bind: "#/state/submit",
          label: "Submit",
        },
      ],
    },
  ],
};
```
npm package: @mvneerven/xo-js
Description: XO - Pure JS Progressive Web Apps & Declarative Forms - No dependencies
Author: Marc van Neerven
Latest version: 2.0.10

# XO Documentation

Jump to *[What's new](./REVISIONS.md)*.

> This documentation is best viewed at [https://www.xo-js.dev](https://www.xo-js.dev/#/docs).
>
> A complete [playground (Studio)](./md/exo/studio.md) is included and code examples can directly be run and edited.
 
XO-JS is a compact, developer-friendly, pure JavaScript (ES6) Component Library that helps with [Progressive Web App](./md/pwa/index.md) development and includes a [Declarative Web Forms Engine](./md/exo/index.md)


> - < 70KB minified and Brotli-compressed
> - No external dependencies
> - Vue, React, Angular, Vanilla JS supported

# Modules

## [xo.form](./md/exo/index.md)
   - [Why Declarative Webforms?](./md/exo/why.md)
   - [Getting Started](./md/exo/getting-started.md)
   - [XO Studio](./md/exo/studio.md) 
   - [Debugging](./md/exo/debugging-exoform.md)
   - [Controls](./md/exo/controls/index.md)
   - [Validation](./md/exo/validation.md)
   - [Navigation](./md/exo/navigation.md)
   - [Theming](./md/exo/theming.md)
   - [Model Binding](./md/exo/data-binding.md)
   - [JSON-Schema](./md/exo/json-schema.md)

## [xo.pwa](./md/pwa/index.md) 
   - [Getting Started](./md/pwa/getting-started.md)
   - [Router](./md/pwa/router.md)
   - [UI](./md/pwa/ui.md)

# Installing

## CDN

Use XO directly from the CDN:

```html
<script src="https://xo-js.dev/v1.6/xo.js"></script>
or...
<script src="https://xo-js.dev/v1.6/xo.min.js"></script>
```

## NPM
... or get the latest [NPM package](https://www.npmjs.com/package/@mvneerven/xo-js)

# Team

Author: [Marc van Neerven](https://www.linkedin.com/in/mvneerven/)

Contributors:
- [Inbar Azulay](https://www.linkedin.com/in/inbar-azulay/)


# Revision History

[Full revision history](./REVISIONS.md)

# Reference Documentation

[XO-JS Reference Documentation](./md/refdocs/toc.md)
npm package: @mvogelgesang/rehype-table-data-label
Description: A rehype plugin to add a data-label attribute to table cells base on the header cell content.
Author: Mark Vogelgesang
Latest version: 0.0.3

# Rehype Table Data Label

[rehype](https://github.com/rehypejs) plugin to take table header values and add them as data-labels within a data cell. This allows for tables to be consumed in mobile browsers. 

![Table first being rendered on desktop with headers along the top row. As the table resizes, the table headers are shown next to individual cell values](img/responsiveTable.gif)

Input Markdown

```md
| Name    | Country  | City      |
|---------|----------|-----------|
| Jane    | Canada   | Vancouver |
| Thibaut | Belgium  | Ghent     |
| Richard | Scotland | Edinburgh |
```

Resulting HTML

```html
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Country</th>
            <th>City</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td data-label="Name">Jane</td>
            <td data-label="Country">Canada</td>
            <td data-label="City">Vancouver</td>
        </tr>
        <tr>
            <td data-label="Name">Thibaut</td>
            <td data-label="Country">Belgium</td>
            <td data-label="City">Ghent</td>
        </tr>
        <tr>
            <td data-label="Name">Richard</td>
            <td data-label="Country">Scotland</td>
            <td data-label="City">Edinburgh</td>
        </tr>
    </tbody>
</table>
```

## Examples

Example directory includes sample markdown files, example.js script which steps through the remark/ rehype conversion process, and an html table that resizes properly on small viewports.
npm package: @mvogelgesang/stylelint-plugin-slds
Description: A stylelint plugin to identify antipatterns when using Salesforce Lightning Design System.
Author: Mark Vogelgesang, @mvogelgesang
Latest version: 0.1.0

# Stylelint Plugin - SLDS

A [Stylelint] plugin to help teams identify antipatterns and deprecated practices in LWC stylesheets. Plugin is an implementation of many of the rules found in [SLDS Architecture Update](https://help.salesforce.com/s/articleView?id=001622574&type=1) (released April 2024).

- [Stylelint Plugin - SLDS](#stylelint-plugin---slds)
  - [Installation](#installation)
    - [Configuration](#configuration)
    - [Run](#run)
  - [Rules](#rules)
    - [No LWC Custom Properties](#no-lwc-custom-properties)
    - [No SDS Custom Properties](#no-sds-custom-properties)
    - [No SLDS Class Overrides](#no-slds-class-overrides)

## Installation

`npm i --save-dev stylelint @mvogelgesang/stylelint-plugin-slds`

### Configuration

Add a `.stylelintrc.json` file to your project root directory.

Update with the following:

```json

  {
    "plugins": ["@mvogelgesang/stylelint-plugin-slds"],
    "rules": {
      "stylelint-plugin-slds/no-lwc-custom-properties":true, 
      "stylelint-plugin-slds/no-sds-custom-properties": true,
      "stylelint-plugin-slds/no-slds-class-overrides": true
    }
  }
```

### Run

Update package.json to include a new `stylelint` command. This can also be chained with other linting checks.

```json
{
   "scripts": {
    "stylelint": "stylelint -c .stylelintrc.json ./force-app/default/main/lwc/**/*.css"
  },
}
```

## Rules

### No LWC Custom Properties

[https://help.salesforce.com/s/articleView?id=001622574&type=1](https://help.salesforce.com/s/articleView?id=001622574&type=1)

### No SDS Custom Properties

[https://help.salesforce.com/s/articleView?id=001622574&type=1](https://help.salesforce.com/s/articleView?id=001622574&type=1)

### No SLDS Class Overrides

[https://developer.salesforce.com/docs/platform/lwc/guide/create-components-css-antipatterns.html#anti-pattern-overriding-slds-classes](https://developer.salesforce.com/docs/platform/lwc/guide/create-components-css-antipatterns.html#anti-pattern-overriding-slds-classes)
npm package: @mvp-kit/create
Description: Create MVPKit applications - Universal Create CLI for all MVPKit templates
Latest version: 0.0.13

# @mvp-kit/create

Official MVPKit scaffolding CLI for `core` and `saas` templates.

[![npm version](https://badge.fury.io/js/@mvp-kit%2Fcreate.svg)](https://www.npmjs.com/package/@mvp-kit/create)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Quick Start

```bash
# npm
npx @mvp-kit/create my-app

# pnpm
pnpm create @mvp-kit my-app

# bun
bun create @mvp-kit my-app
```

## Templates

- `core`: production-ready full-stack starter
- `saas`: extended product starter (everything in core + SaaS modules)

## Usage

```bash
@mvp-kit/create <project-name> [options]
```

### Common Examples

```bash
# interactive (recommended)
npx @mvp-kit/create my-app

# create from SaaS template
npx @mvp-kit/create my-app --template saas

# non-interactive defaults
npx @mvp-kit/create my-app --yes

# skip install + git init
npx @mvp-kit/create my-app --no-install --no-git

# full component pack
npx @mvp-kit/create my-app --pack all
```

### Options

| Option | Description |
|---|---|
| `-t, --template <template>` | Template to use (`core`, `saas`) |
| `-d, --description <text>` | Project description |
| `-w, --website <domain>` | Domain name |
| `-p, --pack <pack>` | Component pack (`basic`, `all`) |
| `-y, --yes` | Non-interactive mode (no prompts) |
| `--no-install` | Skip dependency installation |
| `--no-git` | Skip git initialization |

## Interactive Prompts

In interactive mode, the CLI collects:

- template (`core` / `saas`) when not provided
- description
- domain
- tagline
- component pack
- social handles (SaaS only): GitHub, X, Instagram, TikTok
- package manager (`pnpm` / `bun`)
- git initialization preference

## Output & Setup

The CLI scaffolds a monorepo and can automatically:

- install dependencies
- initialize DB artifacts/migrations (when applicable)
- configure UI/component setup
- run formatting/lint checks
- initialize git with an initial commit

Default local endpoints:

- `http://localhost:3001` (web)
- `http://localhost:3002` (app)

## Development

```bash
cd create
pnpm install
pnpm build
node dist/index.js --help
```

See [CLI_TESTING_GUIDE.md](./CLI_TESTING_GUIDE.md) for local validation notes.

## Support

- [Website](https://mvpkit.dev)
- [Docs](https://docs.mvpkit.dev)
- [Examples](https://github.com/mvp-kit/core/examples)

## License

MIT © [MVPKit](https://mvpkit.dev)
npm package: @mvp-react/react-datagrid-plain
Description: A light datagrid build upon react-table-plain for React.
Author: Stephan Meißner
Latest version: 0.1.5

<!-- # react-datagrid-plain &middot; ![travis build](https://img.shields.io/travis/mvp-react/react-datagrid-plain.svg) ![npm version](https://img.shields.io/npm/v/@mvp-react/react-datagrid-plain.svg) -->

A light datagrid build upon react-table-mui for React.

## Installation

You should install [react-datagrid-plain with npm or yarn](https://www.npmjs.com/package/@mvp-react/react-datagrid-plain):

    npm install @mvp-react/react-datagrid-plain
    or
    yarn add @mvp-react/react-datagrid-plain

This command will download and install react-datagrid-plain

## How it works

react-datagrid-plain uses:

- [@mvp-react/react-table-plain](https://www.npmjs.com/package/@mvp-react/react-table-plain) to display the table data

react-datagrid-plain is designed to do all the paging and sorting for you. You only provide the `onLoadData` callback, that returns the data as a `Promise<{data: any[], total: number}>` (paging needs `total` to provide the maximal number pages).

Here is an example:

```javascript
<DataGridPlain
  colDef={[
    { prop: "id", header: "Id" },
    { prop: "display_name", header: "Full name", sortable: true }
  ]}
  onLoadData={(page, rowsPerPage, orderBy, desc) =>
    fetch(url /* with querystring params */)
      .then(resp => resp.json())
      .then(resp => ({ data: resp.data, total: resp.total }))
  }
/>
```

Inside the `onLoadData` you can use whatever Http library you want. That way it is possible to append i.e. authorization tokens, custom http headers, ...

`onLoadData` can provide data from every source. Server, client, rest, GraphQL, ... react-datagrid-mui does not care.