open-index/open-npm huggingface dataset:
npm package: @poool/eslint-config
Description: Common ESLint rules we share between projects at Poool
Author: Ugo Stephant
Latest version: 5.0.10

# Poool ESLint Config - Common

> Common ESLint/TSLint rules we share between projects at Poool

## Installation

```bash
yarn add @poool/eslint-config --dev
```

## Usage

```ts
import tseslint from 'typescript-eslint';
import pooolint from '@poool/eslint-config';

export default tseslint.config(
  {
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
  ...pooolint.configs.recommended,
);
```
npm package: @poool/eslint-config-node
Description: Common ESLint rules we share between node projects at Poool
Author: Ugo Stephant
Latest version: 3.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Poool ESLint Config - Node

> Common ESLint rules we share between node projects at Poool

## Installation

```bash
npx install-peerdeps -Y --dev @poool/eslint-config
npx install-peerdeps -Y --dev @poool/eslint-config-node
```

## Usage

```json
extends: ["@poool/eslint-config-node"]
```
npm package: @poool/eslint-config-react
Description: Common ESLint rules we share between React projects at Poool
Author: Ugo Stephant
Latest version: 5.0.10

# Poool ESLint Config - React

> Common ESLint rules we share between React projects at Poool

## Installation

```bash
yarn add @poool/eslint-config-react --dev
```

## Usage

```ts
import tseslint from 'typescript-eslint';
import pooolint from '@poool/eslint-config-react';

export default tseslint.config(
  {
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
  ...pooolint.configs.recommended,
);
```

If you need to restrict the files for which the rules apply, you can use the config directly:

```ts
import tseslint from 'typescript-eslint';
import pooolint from '@poool/eslint-config-react';

export default tseslint.config(
  {
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
  ...pooolint.configs.base,
  {
    files: ['**/*.tsx'],
    ...pooolint.configs.react,
  },
);
```
npm package: @poool/eslint-config-react-native
Description: Common ESLint rules we share between React Native projects at Poool
Author: Ugo Stephant
Latest version: 3.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Poool ESLint Config - React

> Common ESLint rules we share between React Native projects at Poool

## Installation

```bash
npx install-peerdeps -Y --dev @poool/eslint-config
npx install-peerdeps -Y --dev @poool/eslint-config-react
npx install-peerdeps -Y --dev @poool/eslint-config-react-native
```

## Usage

```json
extends: ["@poool/eslint-config-react-native"]
```
npm package: @poool/eslint-plugin
Description: Custom set of ESLint rules we need and enforce at Poool
Author: Ugo Stephant
Latest version: 3.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Poool ESLint Plugin

> Custom set of ESLint rules we need and enforce at Poool

## Installation

```bash
yarn add eslint @poool/eslint-plugin --dev
```

## Usage

Load the plugin in your `.eslintrc.json` file:

```json
{
  "plugins": ["@poool/eslint-plugin"]
}
```

Finally, enable all the rules you would like to use (don't forget to disable the corresponding core rule!):

```json
{
  "rules": {
    "no-extra-parens": "off",
    "@poool/no-extra-parens": "error",
    "no-unneeded-ternary": "off",
    "@poool/no-unneeded-ternary": "error"
  }
}
```

## Rules

| Name | Description | Docs |
| ---- | ----------- | ------- |
| `@poool/camelcase` | [`camelcase`](https://eslint.org/docs/rules/camelcase), but doesn't complain about optional chaining | [documentation](https://github.com/p3ol/eslint-config/tree/master/packages/eslint-plugin/docs/rules/camelcase.md) |
| `@poool/no-extra-parens` | [`no-extra-parens`](https://eslint.org/docs/rules/no-extra-parens), but allows conditional spreads to be wrapped with parentheses | [documentation](https://github.com/p3ol/eslint-config/tree/master/packages/eslint-plugin/docs/rules/no-extra-parens.md) |
| `@poool/no-unneeded-ternary` | [`no-unneeded-ternary`](https://eslint.org/docs/rules/no-unneeded-ternary), but with an extra condition to disallow ternary expressions as expression statements | [documentation](https://github.com/p3ol/eslint-config/tree/master/packages/eslint-plugin/docs/rules/no-unneeded-ternary.md) |

## Shareable configurations

### Recommended

This plugin exports a recommended configuration that enforces some of our rules.

To enable this configuration use the `extends` property in your `.eslintrc.json`
config file:

```json
{
  "extends": ["plugin:@poool/eslint-plugin/recommended"]
}
```
npm package: @poool/junipero
Description: 🏔 Junipero Design System React components
Author: Ugo Stephant
Latest version: 2.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

![junipero](https://storage.googleapis.com/junipero-cdn/images/logo-github.png)

<div align="center">

[![npm](https://img.shields.io/npm/v/@poool/junipero.svg)](https://www.npmjs.com/package/@poool/junipero)

<br />
<p>Simple and beautiful React components for the web</p>

</div>

## Installation

```bash
yarn add @poool/junipero
```

## Usage

```javascript
import React from 'react';
import { TextField } from '@poool/junipero';

export default () => (
  <TextField />
);
```

Don't forget to import styles, for example using `style-loader` and `webpack`:

```javascript
import '@poool/junipero/dist/junipero.min.css';
```

Or import them directly inside your own styles using `less`, `sass` or `stylus`:

```css
@import "~@poool/junipero/dist/junipero.min.css";
```

#### Dependencies

These libraries are not bundled with Junipero and required at runtime:
- [react](https://www.npmjs.com/package/react)
- [react-dom](https://www.npmjs.com/package/react-dom)
- [prop-types](https://www.npmjs.com/package/prop-types)
- [react-popper](https://www.npmjs.com/package/react-popper)
- [@popperjs/core](https://www.npmjs.com/package/@popperjs/core)

## [Documentation](https://junipero.design)

https://junipero.design

## Contributing

Please check the [CONTRIBUTING.md](https://github.com/p3ol/junipero/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/junipero/blob/master/LICENSE).
npm package: @poool/junipero-hooks
Description: 🏔 Junipero Design System React hooks
Author: Ugo Stephant
Latest version: 2.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

![junipero](https://storage.googleapis.com/junipero-cdn/images/logo-github.png)

<div align="center">

[![npm](https://img.shields.io/npm/v/@poool/junipero-hooks.svg)](https://www.npmjs.com/package/@poool/junipero-hooks)

<br />
<h3>junipero-hooks</h3>
<p>Custom React hooks we use inside Junipero packages</p>

</div>

## Installation

```bash
yarn add @poool/junipero-hooks
```

## Usage

```javascript
import React from 'react';
import { useEventListener, useTimeout } from '@poool/junipero-hooks';

export default () => {
  useTimeout(() => {
    console.log('This has been executed 1s after first render!');
  }, 1000);

  useEventListener('click', () => {
    console.log('You clicked inside the current document');
  });

  return <div />;
};
```

## Documentation

#### `useEventListener(name: String, handler: Function, target: DOMNode)`

* `name` {`String`} Event name
* `handler` {`Function`}
  * `event` {`Object`} Event data
* `target` {`DOMNode`} Custom event target (default: `global`)

#### `useTimeout(handler: Function, time: Number, changes: Array)`

* `handler` {`Function`} Timeout callback
* `time` {`Number`} Time in ms before timeout
* `changes` {`Array`} Reset timer when any value changes (just like `useEffect`)

## Contributing

Please check the [CONTRIBUTING.md](https://github.com/p3ol/junipero/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/junipero/blob/master/LICENSE).
npm package: @poool/junipero-native
Description: 🏔 Junipero Design System React Native components
Author: Ugo Stephant
Latest version: 2.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

![junipero](https://storage.googleapis.com/junipero-cdn/images/logo-github.png)

<div align="center">

[![npm](https://img.shields.io/npm/v/@poool/junipero-native.svg)](https://www.npmjs.com/package/@poool/junipero-native)

<br />
<p>A lighter version of <a href="https://github.com/p3ol/junipero/blob/master/packages/junipero">Junipero</a> for React Native apps</p>

</div>

## Installation

```bash
yarn add @poool/junipero-native
```

## Usage

```javascript
import React from 'react';
import { TextField } from '@poool/junipero-native';

export default () => (
  <TextField />
);
```

#### Dependencies

These libraries are not bundled with Junipero and required at runtime:
- [react](https://www.npmjs.com/package/react)
- [react-native](https://www.npmjs.com/package/react-native)
- [prop-types](https://www.npmjs.com/package/prop-types)

## [Documentation](https://junipero.design)

https://junipero.design

## Contributing

Please check the [CONTRIBUTING.md](https://github.com/p3ol/junipero/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/junipero/blob/master/LICENSE).
npm package: @poool/junipero-utils
Description: 🏔 Junipero Design System utils
Author: Ugo Stephant
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

![junipero](https://storage.googleapis.com/junipero-cdn/images/logo-github.png)

<div align="center">

[![npm](https://img.shields.io/npm/v/@poool/junipero-utils.svg)](https://www.npmjs.com/package/@poool/junipero-utils)

<br />
<h3>junipero-utils</h3>
<p>Simple utilities we commonly use inside Junipero packages</p>

</div>

## Installation

```bash
yarn add @poool/junipero-utils
```

## Usage

```javascript
import React from 'react';
import { classNames } from '@poool/junipero-utils';

export default ({ className, disabled }) => (
  <div className={classNames('text', { disabled }, className)} />
);
```

## Documentation

This package is not really intended for public usage.
Use it at your own risks.

## Contributing

Please check the [CONTRIBUTING.md](https://github.com/p3ol/junipero/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/junipero/blob/master/LICENSE).
npm package: @poool/monitooor
Description: Monitor system health (even inside docker) for various drivers
Author: Ugo Stephant
Latest version: 0.1.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Monitooor

> Monitor system health for various drivers (including System, MongoDB, ElasticSearch, ...)


## Installation

```bash
$ npm install -g @poool/monitooor
```

or

```bash
$ yarn global add @poool/monitooor
```


## Usage

```bash
$ monitooor
```


## Options

#### --help, -h

Get some help running Monitooor

```bash
$ monitooor --help
```

#### --version, -v

Show current package version

```bash
$ monitooor --version
```

#### --config, -c

Custom config file path

```bash
$ monitooor --config=/tmp/config.json
```

Default config :

#### --log-level, -l

Current log level. 0: Trace, 1: Log, 2: Warn, 3: Error. Default: 2  

```bash
$ monitooor --log-level=0
```

#### --write.retention

Monitoring data older than this number will be erased from storage (0 means infinite retention). Default: 5

```bash
$ monitooor --write.retention=0
```

#### --write.interval

Monitoring interval (in seconds). Setting this number too low might slow things down. Default: 60

```bash
$ monitooor --write.interval=30
```


#### --server.store

Store name in which you want to be able to retrieve data. Default: internal

```bash
$ monitooor --server.store="mongodb"
```


## Config file

### Default

```javascript
{
    "log_level": 2,
    "read": {
        "drivers": [
            {
                "name": "system",
                "type": "system"
            }
        ]
    },
    "write": {
        "stores": [
            {
                "name": "internal",
                "type": "internal",
                "path": "/tmp/monitooor"
            }
        ],
        "retention": 5, // <-- days
        "interval": 10, // <-- seconds
        "flush": 5 // <-- seconds
    },
    "server": {
        "store": "internal",
        "port": 5000
    }
}
```

### Drivers

#### System

```javascript
{
    "name": "...",
    "type": "system",
    "proc": "/host/proc",
    "disk": "/media/data"
}
```

#### MongoDB

```javascript
{
    "name": "...",
    "type": "mongodb",
    "uri": "mongodb://localhost:27017/admin",
    "retry": 5 // <-- seconds before autoconnect retry
}
```

#### ElasticSearch

```javascript
{
    "name": "...",
    "type": "elasticsearch",
    "host": "http://localhost:9200",
    // or
    "hosts": ["http://localhost:9200"],
    "auth": "username:password",
    "api": "5.4"
}
```

### Stores

#### Internal (NeDB)

```javascript
{
    "name": "...",
    "type": "internal",
    "path": "/tmp/monitooor"
}
```

#### MongoDB

```javascript
{
    "name": "...",
    "type": "mongodb",
    "uri": "mongodb://localhost:9200",
    "retry": 5 // <-- seconds before autoconnect retry
}
```


## Contributing

Feel free to contribute to this repository by making pull requests and create any related issue on the repository itself 😊


### Install

```bash
$ yarn global add grunt-cli && yarn install
```

### Build

```bash
$ grunt build
```

### Run

```bash
$ node build/
```
npm package: @poool/oak-addon-basic-components
Description: 🌳 Modern, lightweight & modulable page builder
Author: Ugo Stephant
Latest version: 2.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<div align="center">

<h1>🌳 oak</h1>

[![GitHub](https://img.shields.io/github/license/p3ol/oak.svg)](https://github.com/p3ol/oak)
[![npm](https://img.shields.io/npm/v/@poool/oak-addon-basic-components.svg)](https://www.npmjs.com/package/@poool/oak-addon-basic-components)
[![CI](https://github.com/p3ol/oak/actions/workflows/ci.yml/badge.svg)](https://github.com/p3ol/oak/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/p3ol/oak/branch/master/graph/badge.svg)](https://codecov.io/gh/p3ol/oak)

<br />
<h3>oak-addon-basic-components</h3>
<p>A collection of basic components to be used with the infamous page builder</p>

</div>

## Content

New components:
- `Title`: Allows to add pre-made hx headers (h1, h2, ...) to your content
- `Text`: Basic text node managed with a textarea field
- `Image`: Basic image component uploaded using `image` field type
- `Button`: Basic HTML button/link component

New field types:
- `image`: Allows to upload an image and use it inside an element (uses oak's `onImageUpload` event)


## Installation

```bash
yarn add @poool/oak @poool/oak-addon-basic-components
```

## Usage

```javascript
import { render } from '@poool/oak';
import basicComponents from '@poool/oak-addon-basic-components';

render(document.getElementById('app'), {
  addons: [basicComponents],
  /* ... */
});
```

Don't forget to import styles, for example using `style-loader` and `webpack`:

```javascript
import '@poool/oak-addon-basic-components/dist/oak-addon-basic-components.min.css';
```

Or import them directly inside your own styles using `less`, `sass` or `stylus`:

```css
@import "@poool/oak-addon-basic-components/dist/oak-addon-basic-components.min.css";
```

## Translations

Available languages:
- English (default)
- French

To import translations and replace text with translations, use the `texts` setting:

```js
import { render, localeFr } from '@poool/oak';
import basicComponents, { localeFr as basicLocaleFr } from '@poool/oak-addon-basic-components';
import { mergeDeep } from '@poool/junipero-utils';

render(document.getElementById('app'), {
  addons: [basicComponents],
  texts: mergeDeep({}, localeFr, basicLocaleFr),
  /* ... */
});
```

## Contributing

[![](https://contrib.rocks/image?repo=p3ol/oak)](https://github.com/p3ol/oak/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/oak/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/oak/blob/master/LICENSE).
npm package: @poool/oak-addon-richtext-field
Description: 🌳 Modern, lightweight & modulable page builder
Author: Ugo Stephant
Latest version: 2.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<div align="center">

<h1>🌳 oak</h1>

[![GitHub](https://img.shields.io/github/license/p3ol/oak.svg)](https://github.com/p3ol/oak)
[![npm](https://img.shields.io/npm/v/@poool/oak-addon-richtext-field.svg)](https://www.npmjs.com/package/@poool/oak-addon-richtext-field)
[![CI](https://github.com/p3ol/oak/actions/workflows/ci.yml/badge.svg)](https://github.com/p3ol/oak/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/p3ol/oak/branch/master/graph/badge.svg)](https://codecov.io/gh/p3ol/oak)

<br />
<h3>oak-addon-richtext-field</h3>
<p>A semi-complete WYSIWYG rich text editor field using <a href="https://github.com/ianstormtaylor/slate">Slate</a></p>

</div>

## Content

New field type:
- `richtext`: Allows to use rich text editing capabilities (bold, italic, font size, color, ...)


## Installation

```bash
yarn add @poool/oak @poool/oak-addon-richtext-field
```

## Usage

```javascript
import { render } from '@poool/oak';
import richTextField from '@poool/oak-addon-richtext-field';

render(document.getElementById('app'), {
  addons: [richTextField],
  overrides: [{
    type: 'component',
    components: ['title', 'text', 'button', /* ... */],
    fields: [{
      key: 'content',
      type: 'richtext',
    }],
  }]
  /* ... */
});
```

Don't forget to import styles, for example using `style-loader` and `webpack`:

```javascript
import '@poool/oak-addon-richtext-field/dist/oak-addon-richtext-field.min.css';
```

Or import them directly inside your own styles using `less`, `sass` or `stylus`:

```css
@import "@poool/oak-addon-richtext-field/dist/oak-addon-richtext-field.min.css";
```

## Translations

Available languages:
- English (default)
- French

To import translations and replace text with translations, use the `texts` setting:

```js
import { render, localeFr } from '@poool/oak';
import richTextField, { localeFr as richTextLocaleFr } from '@poool/oak-addon-richtext-field';
import { mergeDeep } from '@poool/junipero-utils';

render(document.getElementById('app'), {
  addons: [richTextField],
  texts: mergeDeep({}, localeFr, richTextLocaleFr),
  /* ... */
});
```

## Contributing

[![](https://contrib.rocks/image?repo=p3ol/oak)](https://github.com/p3ol/oak/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/oak/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/oak/blob/master/LICENSE).
npm package: @poool/oak-addon-richtext-field-prosemirror
Description: 🌳 Modern, lightweight & modulable page builder
Author: Maxime Da Silva
Latest version: 2.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<div align="center">

<h1>🌳 oak</h1>

[![GitHub](https://img.shields.io/github/license/p3ol/oak.svg)](https://github.com/p3ol/oak)
[![npm](https://img.shields.io/npm/v/@poool/oak-addon-richtext-field-prosemirror.svg)](https://www.npmjs.com/package/@poool/oak-addon-richtext-field-prosemirror)
[![CI](https://github.com/p3ol/oak/actions/workflows/ci.yml/badge.svg)](https://github.com/p3ol/oak/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/p3ol/oak/branch/master/graph/badge.svg)](https://codecov.io/gh/p3ol/oak)

<br />
<h3>oak-addon-richtext-field-prosemirror</h3>
<p>A semi-complete WYSIWYG rich text editor field using <a href="https://github.com/ProseMirror/prosemirror">ProseMirror</a>, twin brother and exact opposite of <a href="https://github.com/p3ol/oak/blob/master/packages/oak-addon-richtext-field">oak-addon-richtext-field</a></p>

</div>

## Content

New field type:
- `richtext`: Allows to use rich text editing capabilities (bold, italic, font size, color, ...)


## Installation

```bash
yarn add @poool/oak @poool/oak-addon-richtext-field-prosemirror
```

## Usage

```javascript
import { render } from '@poool/oak';
import richTextField from '@poool/oak-addon-richtext-field-prosemirror';

render(document.getElementById('app'), {
  addons: [richTextField],
  overrides: [{
    type: 'component',
    components: ['title', 'text', 'button', /* ... */],
    fields: [{
      key: 'content',
      type: 'richtext',
    }],
  }]
  /* ... */
});
```

Don't forget to import styles, for example using `style-loader` and `webpack`:

```javascript
import '@poool/oak-addon-richtext-field-prosemirror/dist/oak-addon-richtext-field-prosemirror.min.css';
```

Or import them directly inside your own styles using `less`, `sass` or `stylus`:

```css
@import "@poool/oak-addon-richtext-field-prosemirror/dist/oak-addon-richtext-field-prosemirror.min.css";
```

## Translations

Available languages:
- English (default)
- French

To import translations and replace text with translations, use the `texts` setting:

```js
import { render, localeFr } from '@poool/oak';
import richTextField, { localeFr as richTextLocaleFr } from '@poool/oak-addon-richtext-field-prosemirror';
import { mergeDeep } from '@poool/junipero-utils';

render(document.getElementById('app'), {
  addons: [richTextField],
  texts: mergeDeep({}, localeFr, richTextLocaleFr),
  /* ... */
});
```

## Contributing

[![](https://contrib.rocks/image?repo=p3ol/oak)](https://github.com/p3ol/oak/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/oak/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/oak/blob/master/LICENSE).
npm package: @poool/oak-react
Description: 🌳 Modern, lightweight & modulable page builder
Author: Ugo Stephant
Latest version: 2.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<div align="center">

<h1>🌳 oak</h1>

[![GitHub](https://img.shields.io/github/license/p3ol/oak.svg)](https://github.com/p3ol/oak)
[![npm](https://img.shields.io/npm/v/@poool/oak-react.svg)](https://www.npmjs.com/package/@poool/oak-react)
[![CI](https://github.com/p3ol/oak/actions/workflows/ci.yml/badge.svg)](https://github.com/p3ol/oak/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/p3ol/oak/branch/master/graph/badge.svg)](https://codecov.io/gh/p3ol/oak)

<br />
<h3>oak-react</h3>
<p>A simple wrapper to use Oak inside React</p>

</div>

## Installation

```bash
yarn add @poool/oak @poool/oak-react
```

## Usage

```jsx
import { useState } from 'react';
import { Builder } from '@poool/oak-react';

export default () => {
  const [value, setValue] = useState([]);

  const onChange = field => {
    setValue(field.value);
  };

  return (
    <Builder
      onChange={onChange}
      value={value}
    />
  );
};
```

## Documentation

### `<Builder />`

#### Props

- `value` {`Array`} the content you want your Builder to begin with. If you want to start with a empty Builder, pass an empty array.
- `options`{`Object`} (optional) the options you want to pass to the Builder. See [options](https://github.com/p3ol/oak/tree/master/packages/oak#options) for more information.
- `onChange` {`Function`} (optional) the event listener which will be called when the Builder changes. See [onChange event](https://github.com/p3ol/oak/tree/master/packages/oak#onchange) for more information.
- `onImageUpload` {`Function`} (optional) the event listener which will be called when an image is uploaded using the `image` field type. See [onImageUpload event](https://github.com/p3ol/oak/tree/master/packages/oak#onimageupload)
- `containerProps` {`Object`} (optional) the props you want to pass to the Builder's inner container.


## Contributing

[![](https://contrib.rocks/image?repo=p3ol/oak)](https://github.com/p3ol/oak/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/oak/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## License

This software is licensed under [MIT](https://github.com/p3ol/oak/blob/master/LICENSE).
npm package: @poool/subscribe-node-sdk
Description: Poool Subscribe SDK for Node
Author: dackmin
Latest version: 2.0.0

# Poool Subscribe - Node SDK

Poool Subscribe SDK for Node.js 🚀


## Installation

```
yarn add @poool/subscribe-node-sdk node-fetch query-string
```

## Usage

```javascript
import Subscribe from '@poool/subscribe-node-sdk';

const subs = Subscribe({
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret',
});

subs.offers.list().then(({ offers, total }) => console.log(offers, total));
```


## [Documentation](https://poool.dev/docs/subscribe/server)

https://poool.dev/docs/subscribe/server

## Sandbox mode

You can use the sandbox mode to test your integration without any real payment.
Pass the `sandbox: true` request option (last parameter) to any method of the SDK to use it:

```javascript
subs.offers.list(1, 10, [], [], 'active', { sandbox: true })
```

## Migrations

## v1 to v2

- `customers.switchSubscriptionOffer(customerId, subscriptionId, offer, requestOptions)` becomes `customers.switchSubscriptionOffer(customerId, subscriptionId, offer, **{ priceId }**, requestOptions)` -> it now takes an additional parameter before request options to speficy offer options like price id
- `sandbox: true|false` is now an option on every request (instead of only offers list) and has been removed from `offers.list()`

## Contributing

[![](https://contrib.rocks/image?repo=p3ol/subscribe-node-sdk)](https://github.com/p3ol/subscribe-node-sdk/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/subscribe-node-sdk/blob/main/CONTRIBUTING.md) doc for contribution guidelines.


## Development

Install dependencies:

```bash
yarn install
```

Run examples:

```bash
yarn serve
```

And test your code:

```bash
yarn test
```


## License

This software is licensed under [MIT](https://github.com/p3ol/subscribe-node-sdk/blob/main/LICENSE).
npm package: @poool/trim-html
Description: Cutting a HTML String without breaking HTML Tags
Author: Ugo Stephant
Latest version: 1.0.0

![CI](https://github.com/p3ol/trim-html/workflows/CI/badge.svg)

# trim-html #

> Cutting a HTML String without breaking HTML Tags

This is a fork of unmaintained https://github.com/brankosekulic/trimHtml that's designed to be a drop-in replacement.

The API is unchanged, but it's now esm first, everything is now typed and it allows for special unicode spaces like `、` from Han script.

## Installation ##

```bash
  yarn add @poool/trim-html
```

## Usage ##

```ts
import { trimHtml } from '@poool/trim-html';

const html = `<div><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p><p>Ut
  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
  ex ea commodo consequat. </p><p>Duis aute irure dolor in reprehenderit in
  voluptate velit esse cillum dolore eu fugiat nulla pariatur. </p><p>Excepteur
  sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
  anim id est laborum.</p></div>`;

const trimmed = trimHtml(html);

console.log(trimmed);
// {
//    html: `<div><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
//    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p><p>Ut
//    enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut...
//    </p></div>`,
//    more: true // indicates if limit is reached
// }
```


## Options ##

### limit
- Type: `number`
- Default: `100`

Char limit

### wordBreak
- Type: `boolean`
- Default: `false`

Allow to break text on part of words

### preserveTags
- Type: `boolean`
- Default: `true`

Maintain HTML tags

### suffix
- Type: `string`
- Default: `'...'`

string that will be appended at the end

### moreLink
- Type: `string`

link to access full content

### spaceChars
- Type: `string[]`
- Default: `[' ', ' ', '、', '。']`

All allowed space chars for the html string to be split from


## Contributing

[![](https://contrib.rocks/image?repo=p3ol/trim-html)](https://github.com/p3ol/trim-html/graphs/contributors)

Please check the [CONTRIBUTING.md](https://github.com/p3ol/trim-html/blob/master/CONTRIBUTING.md) doc for contribution guidelines.

## Development

Install dependencies:

```bash
yarn install
```

And test your code:

```bash
yarn test
```

## License

This software is licensed under [MIT](https://github.com/p3ol/trim-html/blob/master/LICENSE).
npm package: @pooong/cli
Description: Official command line interface for pooong sass
Author: Oriun @Oriun
Latest version: 0.0.3

oclif-hello-world
=================

oclif example Hello World CLI

[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
[![CircleCI](https://circleci.com/gh/oclif/hello-world/tree/main.svg?style=shield)](https://circleci.com/gh/oclif/hello-world/tree/main)
[![GitHub license](https://img.shields.io/github/license/oclif/hello-world)](https://github.com/oclif/hello-world/blob/main/LICENSE)

<!-- toc -->
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->
# Usage
<!-- usage -->
```sh-session
$ npm install -g @pooong/cli
$ pooong COMMAND
running command...
$ pooong (--version)
@pooong/cli/0.0.3 darwin-arm64 node-v20.2.0
$ pooong --help [COMMAND]
USAGE
  $ pooong COMMAND
...
```
<!-- usagestop -->
# Commands
<!-- commands -->
* [`pooong compile ENTRY`](#pooong-compile-entry)
* [`pooong help [COMMANDS]`](#pooong-help-commands)
* [`pooong register TOKEN`](#pooong-register-token)

## `pooong compile ENTRY`

Say hello

```
USAGE
  $ pooong compile ENTRY [-o <value>]

ARGUMENTS
  ENTRY  Script entrypoint

FLAGS
  -o, --out=<value>  path where to write the worker

DESCRIPTION
  Say hello

EXAMPLES
  $ oex hello friend --from oclif
  hello friend from oclif! (./src/commands/hello/index.ts)
```

_See code: [dist/commands/compile/index.ts](https://github.com/Oriun/pooong-cli/blob/v0.0.3/dist/commands/compile/index.ts)_

## `pooong help [COMMANDS]`

Display help for pooong.

```
USAGE
  $ pooong help [COMMANDS] [-n]

ARGUMENTS
  COMMANDS  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for pooong.
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.2.14/src/commands/help.ts)_

## `pooong register TOKEN`

Say hello

```
USAGE
  $ pooong register TOKEN

ARGUMENTS
  TOKEN  auth token

DESCRIPTION
  Say hello

EXAMPLES
  $ oex hello friend --from oclif
  hello friend from oclif! (./src/commands/hello/index.ts)
```

_See code: [dist/commands/register/index.ts](https://github.com/Oriun/pooong-cli/blob/v0.0.3/dist/commands/register/index.ts)_
<!-- commandsstop -->
npm package: @poopycat/learnstorybook-design-system
Description: Learn Storybook design system):Storybook design systems tutorial
Author: LienardEdwin
Latest version: 0.1.8
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Storybook design system tutorial

The Storybook design system tutorial is a subset of the full [Storybook design system](https://github.com/storybookjs/design-system/), created as a learning resource for those interested in learning how to write and publish a design system using best in practice techniques.

Learn more in [Storybook tutorials](https://storybook.js.org/tutorials/).