open-index/open-npm huggingface dataset:
npm package: @seamicloud/prosemirror-schema
Description: Schema setup for using prosemirror in seamicloud. Based on 👉 https://github.com/ProseMirror/prosemirror-example-setup/
Author: Nithin David
Latest version: 1.0.7

# woot-prosemirror-schema

Schema setup for using prosemirror in chatwoot. Based on 👉 https://github.com/ProseMirror/prosemirror-example-setup/
npm package: @seamicloud/utils
Description: SeaMiCloud utils
Latest version: 0.0.25

### Chatwoot-utils

Common utils for Chatwoot.

![](https://img.shields.io/npm/v/@chatwoot/utils?style=flat)
![](https://img.shields.io/npm/dt/@chatwoot/utils.svg)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
![](https://img.shields.io/npm/l/@chatwoot/utils)

### Installation

Install the package

```sh
yarn add @chatwoot/utils
```

### Docs

See [utils.chatwoot.com](https://utils.chatwoot.com) for more details, API, and other docs.

## Feedback & Contributing

Feel free to send us feedback on [Twitter](https://twitter.com/chatwootapp) or [file an issue](https://github.com/chatwoot/utils/issues).

If there's anything you'd like to chat about, please feel free to join our [Discord](https://discord.gg/cJXdrwS) chat!

_Chatwoot_ &copy; 2017-2021, Chatwoot Inc - Released under the MIT License.
npm package: @seamless-agent/addon
Description: Type definitions for Seamless Agent addon extensions
Latest version: 0.1.20

# Seamless Agent — Addon API (Types Only)

This package contains **type definitions only** (TypeScript) for addon authors to integrate with the **Seamless Agent** extension.


> Tip: always use `import type { ... }` to ensure nothing is imported at runtime.


---

## API

Este diretório contém o **contrato público** (interfaces) consumido por extensões **addon**.

## Como um addon obtém a API do Seamless Agent

No `activate()` do seu addon, obtenha a extensão e chame `activate()` para receber o objeto de API:

- Extensão: `jraylan.seamless-agent`
- API: `ISeamlessAgentAPI`

### Exemplo (addon)

- Busque a extensão pelo ID
- Ative-a para obter a API
- Registre o addon com `registerAddon()`

> Recomendação: use `import type { ISeamlessAgentAPI, IAddon } from '...';` (tipos) e mantenha a integração em runtime via `vscode.extensions.getExtension(...).activate()`.

## O que a API oferece

### UI

- **Tabs**: `api.ui.registerTab(tab)` permite criar novas abas no webview do Seamless Agent.
- **Histórico**: `api.ui.registerHistoryProvider(provider)` permite injetar itens/tipos adicionais no histórico.
- **Settings**: `api.ui.registerSettingsSection(section)` permite adicionar seções de configuração na aba Settings do webview.

### Tools (LLM)

- Defina ferramentas em `addon.ai.tools` (ver `IAddonTool`).
- O Seamless Agent expõe e executa essas ferramentas no contexto do agente.

### Storage

- `api.storage` fornece persistência (namespaced) para o addon armazenar preferências e dados.

### Events

- `api.events` permite observar eventos do Seamless Agent (ex.: refresh de UI, tool executada, etc.).

## Compatibilidade

A API expõe `api.version`. Addons devem validar a versão para garantir compatibilidade.

## Importante (types-only)

Este repositório gera um pacote separado (para NPM) contendo **somente typedefs** para uso por addons.
Evite depender de implementações deste diretório no runtime do addon.


---

## Addons

Este diretório contém o **sistema de addons** do Seamless Agent (registro, lifecycle e utilitários).

## Para autores de addons

Em geral, você **não** precisa importar nada daqui no seu addon.
Use a **API pública** exposta pela extensão Seamless Agent (ver `src/api`).

## Para contribuidores do Seamless Agent

- `registry.ts`: Registro central de addons (`AddonRegistry`) que mantém estado de ativação, tabs, settings e tools.
- `types.ts`: Aliases/re-exports de tipos do contrato público, para manter compatibilidade interna.

## Responsabilidades

O `AddonRegistry` agrega e organiza:

- **Tabs** registradas pelos addons
- **Seções de Settings** registradas pelos addons
- **Providers de histórico**
- **Tools** expostas pelos addons

O runtime do Seamless Agent usa o registry para alimentar a UI e a execução de ferramentas.
npm package: @seamless-cicd/execa-logged-process
Description: Create execa processes that emit logs for stdout and stderr
Latest version: 0.0.7

# Execa Logged Processes

This package provides:

1. A `LogEmitter` class which makes a POST request containing a timestamped log, to a log receiver URL of your choice.
2. A `createLoggedProcess` which wraps `execa`. It uses the log emitter to POST all `stdout` and `stderr` to the log receiver. It returns a child process for you to work with.

## Using the log emitter
```
import { LogEmitter } from 'execa-logged-process';

const LOG_RECEIVER_URL = 'https://abc123.m.pipedream.net';

const logger = new LogEmitter(LOG_RECEIVER_URL);
logger.emit('Hello world', 'stdout', { key1: 'value1', key2: 123 });
```

## Creating logged execa child processes
```
import {
  createLoggedProcess,
  handleProcessError,
} from './create-logged-process.js';
import type { ExecaError } from 'execa';

const LOG_RECEIVER_URL = 'https://abc123.m.pipedream.net';

(async function () {
  try {
    const loggedProcess = await createLoggedProcess(
      'ls',
      ['-la'],
      {},
      LOG_RECEIVER_URL,
      { key1: 'value1', key2: 123 }
    );
    await loggedProcess;
  } catch (error) {
    handleProcessError(error as ExecaError, LOG_RECEIVER_URL);
  }
})();
```
npm package: @seamless-scroll/shared
Description: 无缝滚动组件库的共享工具和类型定义。
Author: yeyunwen
Latest version: 0.2.1

# @seamless-scroll/shared

无缝滚动组件库的共享工具和类型定义。

[![npm version](https://img.shields.io/npm/v/@seamless-scroll/shared.svg?style=flat)](https://www.npmjs.com/package/@seamless-scroll/shared)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)

## 介绍

`@seamless-scroll/shared` 提供了 Seamless Scroll 组件库中各个包共用的内容。这个包主要供内部使用。

## 包含内容

### 通用类型定义

- `SeamlessScrollProps<T>` - 基础组件属性，支持泛型
- `VirtualScrollItem<T>` - 虚拟滚动项目类型
- `SeamlessScrollStyles` - 组件样式类型

### 虚拟滚动类型

- `VirtualScrollItem<T>` - 虚拟滚动项目类型，带有 `_originalIndex` 属性

### 泛型支持

所有类型都支持泛型 `<T>` 参数，例如：

```typescript
interface ListItem {
  id: number;
  title: string;
  content: string;
}

// 使用泛型指定数据类型
const props: SeamlessScrollProps<ListItem> = {
  data: myListItems,
  direction: "vertical",
  // 其他属性...
};
```

## 注意事项

- 此包主要供 `@seamless-scroll` 系列包内部使用
- 包的API可能会在不同版本间变化，请确保使用匹配的版本
- 当从此包导入类型时，使用 `import type { ... }` 语法以避免不必要的运行时导入

## 许可证

ISC
npm package: @seamlessc/tabler-icons-react
Description: Tabler Icons for React
Author: Konrad Kalemba
Latest version: 1.53.2

# tabler-icons-react

[![npm version](https://img.shields.io/npm/v/tabler-icons-react.svg)](https://www.npmjs.com/package/tabler-icons-react)
[![npm downloads](https://img.shields.io/npm/dm/tabler-icons-react.svg)](https://www.npmjs.com/package/tabler-icons-react)

A library of React components for [Tabler Icons](https://github.com/tabler/tabler-icons) — a set of over free 700 open-sourced MIT-licensed icons. 

## Usage

The package is available via npm and can be installed using `npm` or `yarn`:

```sh
# npm
npm install tabler-icons-react

# yarn
yarn add tabler-icons-react
```

After installing the package you can import Tabler Icons as React components as follows:

```jsx
import { Activity } from 'tabler-icons-react';
```

## Example

```jsx
import React from 'react';
import { Activity } from 'tabler-icons-react';

export default function Example() {
  return (
    <div>
      <Activity size={48} color="red" />
    </div>
  );
}
```

## Docs

Every icon component accepts following props:

| Prop  | Default        |
|-------|----------------:|
| `size`  |             `24` |
| `color` | `'currentColor'` |

## License

This project is MIT licensed.
npm package: @seamline-kit/seamline-settings
Description: > [!WARNING] > Seamline Kit is in early development and is not ready for production use yet. > APIs may change without notice, and bugs are expected.
Latest version: 0.0.6

# Seamline Settings

> [!WARNING]
> Seamline Kit is in early development and is not ready for production use yet.
> APIs may change without notice, and bugs are expected.
npm package: @seamline-kit/seamline-settings-solid
Description: > [!WARNING] > Seamline Kit is in early development and is not ready for production use yet. > APIs may change without notice, and bugs are expected.
Latest version: 0.0.3

# Seamline Settings Solid

> [!WARNING]
> Seamline Kit is in early development and is not ready for production use yet.
> APIs may change without notice, and bugs are expected.
npm package: @seamly/babel-preset
Description: Default babel-preset used within @seamly implementations
Author: Seamly
Latest version: 1.2.0

## Seamly Babel-Preset

This is the default babel-preset for `@seamly/*` implementations.

## Installation

```
yarn add -D @seamly/babel-preset
// or
npm install -D @seamly/babel-preset
```

## Default Options

```
{
  env: undefined,
  transforms: {
    jsx: {
      runtime: 'automatic',
      importSource: 'preact',
    },
    runtime: {
      absoluteRuntime: true,
      helpers: true,
      corejs: 3,
      regenerator: true,
      useESModules: true,
    },
  },
}
```

### Presets

`@babel/preset-env` can be enabled by providing [preset options](https://babeljs.io/docs/en/babel-preset-env#options)

### Transforms

The following transforms are enabled by default, with default options, and can be disabled by providing `false` or modified by providing options which will be merged.

- [@babel/plugin-transform-react-jsx](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx-compat)
- [@babel/plugin-transform-runtime](https://babeljs.io/docs/en/babel-plugin-transform-runtime)

#### Disabling transforms

Transforms can be disabled by providing `false`:

```
{
  transforms: {
    jsx: false
  }
}
```

#### Configuring options

Transforms can be configured with custom options by providing an object, which will be merged with the default options:

```
{
  transforms: {
    jsx: {
      importSource: 'react'
    }
  }
}
```

## Usage

This package can be used as `@seamly/babel-preset` following the Babel documentation on [Presets](https://babeljs.io/docs/en/options#presets).

### Within `babel.config.js` / `.babelrc.js`

```
module.exports = {
  ...
  presets: [
    '@seamly/babel-preset',
    ['@seamly/babel-preset', {
      // options
    }]
  ]
  ...
}
```

### Within `webpack.config.js`

```
  {
    loader: 'babel-loader',
    options: {
      presets: [
        '@seamly/babel-preset'
      ]
    }
  }
```
npm package: @seamly/dcx-faq-tree
Description: This is the home of Seamly's `dcx-faq-tree`. It adds an FAQ tree, based on DCX data.
Author: Seamly
Latest version: 1.2.0
Deprecated: WARNING: This project has been renamed to @seamly/faq-tree. Install using @seamly/faq-tree instead.

# Seamly dcx-faq-tree

This is the home of Seamly's `dcx-faq-tree`. It adds an FAQ tree, based on DCX data.

## License

See LICENSE
npm package: @seamly/eslint-config
Description: Default eslint-config used within @seamly implementations
Author: Seamly
Latest version: 4.0.0

## Seamly eslint-config

This is the default eslint configuration for `@seamly/*` implementations.

## Installation

```
yarn add -D @seamly/eslint-config
// or
npm install -D @seamly/eslint-config
```

## Usage

This package can be used as `@seamly/eslint-config` following the Eslint documentation on [Extending configuration files](https://eslint.org/docs/user-guide/configuring#extending-configuration-files).

### Example usage for `eslint.config.mjs`

```
import {
  seamlyBaseRules,
  seamlyJestRules,
  seamlyReactRules,
  seamlyTypescriptRules,
} from '@seamly/eslint-config'
import { defineConfig } from 'eslint/config'

export default defineConfig([
  ...seamlyBaseRules,
  ...seamlyJestRules,
  ...seamlyReactRules,
  ...seamlyTypescriptRules,
])
```
npm package: @seamly/eslint-ie11-compat
Description: A script to check if your build output is ie11 compatible
Author: Conversationals
Latest version: 1.0.1

# Seamly eslint ie 11 compat
This package allows you to easily check if your code is compatible with ie 11.

## Installation
```
yarn add -D @seamly/eslint-ie11-compat
// or
npm install -D @seamly/eslint-ie11-compat
```
## Usage
Run the script with the file or directory of files you want to check. 
```
seamly-lint-ie11 <directory>
```
For example:
```
seamly-lint-ie11 build
```
npm package: @seamly/faq-tree
Description: This is the home of Seamly's `faq-tree`. It adds an FAQ tree, based on data from external data providers (DCX, Inbenta).
Author: Seamly
Latest version: 2.4.0

# Seamly faq-tree

This is the home of Seamly's `faq-tree`. It adds an FAQ tree, based on data from external data providers (DCX, Inbenta).

## License

See LICENSE
npm package: @seamly/prettier-config
Description: Default prettier-config used within @seamly implementations
Author: Seamly
Latest version: 3.2.0

## Seamly prettier-config

This is the default prettier configuration for `@seamly/*` implementations

## Installation

```
yarn add -D @seamly/prettier-config
// or
npm install -D @seamly/prettier-config
```

## Usage

This package can be used as `@seamly/prettier-config` following the Prettier documentation on [Sharing configuration](https://prettier.io/docs/en/configuration.html#sharing-configurations)

#### Editing `package.json`

```jsonc
{
  // ...
  "prettier": "@seamly/prettier-config"
}
```
npm package: @seamly/stylelint-config
Description: Default stylelint-config used within @seamly implementations
Author: Seamly
Latest version: 3.1.2

## Seamly Stylelint-Config

This is the default stylelint-config for `@seamly/*` implementations.

## Installation

```
yarn add -D @seamly/stylelint-config
// or
npm install -D @seamly/stylelint-config
```

## Usage

This package can be used as `@seamly/stylelint-config` following the Stylelint documentation on [Extending configurations](https://stylelint.io/user-guide/configure#extends).

### Within `.stylelintrc.js`

```
module.exports = {
  ...
  extends: [
    '@seamly/stylelint-config'
  ]
  ...
}
```
npm package: @seamonster-studios/bs-dayjs
Description: https://github.com/iamkun/dayjs
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# dayjs reasonml bindings

https://github.com/iamkun/dayjs

Install:
`yarn add @seamonster-studios/bs-dayjs`

Add `@seamonster-studios/bs-dayjs` to your bsconfig.json
npm package: @seamonster-studios/bs-js-cookie
Description: https://github.com/js-cookie/js-cookie
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# js-cookie bindings

https://github.com/js-cookie/js-cookie

Install:
`yarn add @seamonster-studios/bs-js-cookie`

Add `@seamonster-studios/bs-js-cookie` to your bsconfig.json
npm package: @seamonster-studios/bs-local-storage
Description: Install: `yarn add @seamonster-studios/bs-local-storage`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# LocalStorage bindings

Install:
`yarn add @seamonster-studios/bs-local-storage`

Add `@seamonster-studios/bs-local-storage` to your bsconfig.json

Install Peer Dependencies:

`yarn add decco @seamonster-studios/bs-sentry date-fns`
npm package: @seamonster-studios/bs-lodash
Description: Install: `yarn add @seamonster-studios/bs-lodash`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# Lodash bindings

Install:
`yarn add @seamonster-studios/bs-lodash`

Add `@seamonster-studios/bs-lodash` to your bsconfig.json
npm package: @seamonster-studios/bs-reach
Description: Reason bindings for [Reach UI](https://reacttraining.com/reach-ui).
Author: andreas.eldh@gmail.com
Latest version: 0.7.0
Deprecated: This package is no longer supported. Please refer to the published packages contained in https://github.com/SeaMonster-Studios/rescript-index

[![NPM](https://img.shields.io/npm/v/bs-reach)](https://www.npmjs.com/package/bs-reach)

# bs-reach

Reason bindings for [Reach UI](https://reacttraining.com/reach-ui). 

## How to Install

```sh
npm install --save bs-reach
```

Then add it to bsconfig.json:

```js
"bs-dependencies": [
  "bs-reach"
]
```

Use in your app like this:
```reason
<div>
  <Reach.VisuallyHidden> "Peek-a-boo" </Reach.VisuallyHidden>
</div>
```


## Documentation
The [official documentation](https://reacttraining.com/reach-ui) for Reach UI has a lot of great examples and explains the api of the components well. The bindings tries to deviate from the original api:s as little as possible.

Under the `examples` directory there are some examples of how to use these bindings. 

## Contributions
Please open pull requests or issues!
npm package: @seamonster-studios/bs-react-query
Description: JS Lib documentation: https://github.com/tannerlinsley/react-query/blob/1.x/README.md
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# React Query bindings (1.x)

JS Lib documentation: https://github.com/tannerlinsley/react-query/blob/1.x/README.md

Install:
`yarn add @seamonster-studios/bs-react-query @seamonster-studios/bs-lodash @seamonster-studios/react-hooks`

Add `@seamonster-studios/bs-react-query` to your bsconfig.json

Example Usage:
```reason

// App.re
[@react.component]
let make = () => {
  let queryConfig =
    React.useMemo0(() =>
      ReactQuery.ConfigProvider.(config(~onError=error => error->Js.log, ()))
    );

  <ReactQuery.ConfigProvider config=queryConfig>
    <Posts />
  </ReactQuery.ConfigProvider>;
};

// AuthHooks.re

include ReactQuery.QuerySet({
  type key = string;
  type data = Result.t(Auth.authResponseData, Decco.decodeError);
  type queryVars = unit;
  type mutateVars = Auth0.user;
});

let endpoint = "/login";

let useAuthed = Query.use(~key=ready ? endpoint->Some : None, ~options?, (key, _) =>
  // return a promise with value with the same type as data
);

let useLogin = () => Mutation.use(_ => {
  // return a promise with value with the same type as data
})


// Root.re
[@react.component]
let make = () => {
  let url = ReasonReactRouter.useUrl();

  let authed =
    AuthHooks.useAuthed(
      ~options=AuthHooks.Query.Options.(make(~retry=0, ())),
      (),
    );

  {switch (authed.status, authed.isFetching) {
    | (Success(Ok(authedStatus)), _) =>
      <SiteLayout authed=true>
        <RootAuthed authedStatus documentReferrer />
      </SiteLayout>
    | (Loading, true) => <Loaders.SplashScreen />
    | (Loading, false)
    | (Success(Error(_)), _)
    | (Error(_), _) =>
      <SiteLayout authed=false>
        <MarketingLayout>
          {switch (url.path) {
            //  screens by path
          }}
        </MarketingLayout>
      </SiteLayout>
    }}
};

```
npm package: @seamonster-studios/bs-sentry
Description: Install: `yarn add @seamonster-studios/bs-sentry`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# @sentry/browser and @sentry/node bindings

Install:
`yarn add @seamonster-studios/bs-sentry`

Add `@seamonster-studios/bs-sentry` to your bsconfig.json

Install Peer Dependencies:

`yarn add decco`
npm package: @seamonster-studios/embed-svgs
Description: Takes an object with nested objects containing links to svgs, then retreives the contents of each svg and returns a new object. This is useful when you need to change svg properties or animate them.
Author: SeaMonster Studios
Latest version: 2.1.4
Deprecated: This package is no longer supported. Please refer to the published packages contained in https://github.com/SeaMonster-Studios/rescript-index

# Embed SVGs

Takes an object or array with nested objects containing links to svgs, then retreives the contents of each svg and returns a new object. The contents are broken up into two properties, `svgString`, and `svgElements`. `svgString` is the svg data in a string format. `svgElements` is an object that will contain the properties of each svg, including all paths in a `paths` array. The paths array also has all properties pertaining to that path, including each style matching classes assigned to it. This data can be useful when you need the svg markup or properties in order to change style properties or animate them.

Can be used in Node and Browser environments. `embedSvgs` is an async function, so use accordingly.

## Install

```
yarn add embed-svgs
```

OR

```
npm install embed-svgs
```

## Import & Usage

```
import embedSvgs from 'embed-svgs'
...
const dataWithEmbededSvgs = await embedSvgs(data, els, urlKey)
```

### Parameters

1.  `data`:

2.  `jsx`: Bool. Are the svgs inteded to be used within jsx/react. If so, each path's properties will be camel cassed.

* The data object that contains nested object(s) that match `els` (and it's nexted url property, `urlKey`).

2.  `els`

* An array of strings `['icon', 'svg']`, which have a property (`urlKey`), which is a URL to an svg.
* Has a default value of `['icon', 'svg']`
* Example

```
  {
  ...
    "icon": {
      "url": ...
    }
  ...
  }
```

3.  `urlKey`

* The key that contains the url value for an svg
* Has a default value of `url`

## Use case

You have a static site generator that pulls down all of your data during build. It gets this data from a CMS, where a user/client is able to upload SVGs as images (upposed to SVG markup – that's a poor user experience).

On the frontend you need the SVG markup (to change color, animate, etc.), and you're using a modern library like React and don't want to have to query the DOM for each view/page/component to get SVGs.

`embedSvgs` allows you to crawl all that data, fetch all the SVGs, and add an SVG property onto it's parent object. Then the SVG markup is ready for use in your components.
npm package: @seamonster-studios/isometric-grid
Description: Install: `yarn add @semonster-studios/isometric-grid`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# Isometric Grid

Install:
`yarn add @semonster-studios/isometric-grid`


Install Peer Dependencies:

`yarn add  @seamonster-studios/react-use-measure @seamonster-studios/reason bs-css-emotion bs-react-spring`
npm package: @seamonster-studios/notice-system
Description: Install: `yarn add @seamonster-studios/notice-system`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# NoticeSystem

Install:
`yarn add @seamonster-studios/notice-system`

Install Peer Dependencies:

`yarn add @seamonster-studios/react-use-countdown @seamonster-studios/react-use-measure @seamonster-studios/reason bs-css-emotion bs-react-spring`

## Features
- Focus on async request status
- Life bar
- Life bar pause on hover
- View all previous notices

![Demo](https://opensource-repo-assets.s3-us-west-2.amazonaws.com/reason/notice-system/demo.gif)


## Basic Usage

### Setup provider component:

```reason
<NoticeSystem>
// ... app
</NoticeSystem>
```

Adding a custom color palette or default content for each of the notice system types (both optional):

```reason


let globalNoticeContent: NoticeSystem.globalNoticeContent = {
  success: None,
  loading: Some((<NoticeSystem.LoaderContent />, `replace)),
  warning: None,
  info: None,
  error:
    Some((
      <p>
        "Our development team has been notified. Please try again later."
        ->React.string
      </p>,
      `after,
    )),
};

let palette: NoticeSystem.palette =
  Css.{
    accent: rgba(0, 0, 0, 0.75),
    info: rgb(132, 210, 250),
    success: rgb(157, 250, 176),
    warning: rgb(250, 219, 120),
    error: rgb(250, 172, 145),
    toggleNoticeTypeButton: {
      background: rgb(132, 213, 250),
      text: rgba(0, 0, 0, 0.75),
    },
  };

// ...

<NoticeSystem globalNoticeContent palette>
  // ... app
</NoticeSystem>

```

### Hooks

- `use()` Returns the entire value of the Notice System
- `useNew()` Is the bread and butter hook. When instantiating the hook it creates a new notice without activating it. It then returns a record of methods and values to use. Most notably `add` and `remove`. This is helpful b/c you can use a single notice for all API states of an async request (loading, success, error).
- `useAddNotice()` Lets you create any number of notices. It returns to you the notice `id` upon doing so.
- `useNotices()` Returns an array of all the notices
- `useNotice(noticeId)` Returns None or Some(notice)
- `useSetShownNoticeType` Lets you control if you want to show only the `Active` notices, or `All` of them  
- `useRemoveNotice()` Lets you inactivate a notice by id

### To add a notice (via useNew or useAddNotice)
```reason
// Type
type add = (
  ~content: ReasonReact.reactElement=?,
  ~el: React.element=?,
  ~title: string=?,
  ~life: int=?,
  type_
) =>
unit;

// Usage
let myAsyncRequest = (~entity) => {
  notice.add(~title=entity, `loading);

  Js.Promise.(your_promise())
  |> then_(res => {
    switch(res) {
      | Ok(data) => {
        // ...
        notice.add(~content="Your success message here"->React.string, `success)
        // .. OR ... if the UI is self evident when the response was successful
        notice.remove()
      }
      | Error(error) => {
        // ...
        notice.add(~content="Your error message here"->React.string, `error)
      }
    }
  })
};

```
npm package: @seamonster-studios/react-components
Description: Reusable React components by SeaMonster Studios
Author: Logan Call @ SeaMonster Studios
Latest version: 1.0.2

## SeaMonster Studios React Components

_This project is actively being developed internally._

All components and utils are made [available on bitsrc](https://bitsrc.io/seamonster-studios/react)

## Bitsrc
- [docs](https://docs.bitsrc.io/)
- Importing a component into your project looks like this: `npm i @bit/seamonster-studios.react.components.button`. You can also grab the command directly from the component page [within bit]((https://bitsrc.io/seamonster-studios/react))


## Documentation

Check out the docs [here](http://components.seamonsterstudios.com/)

We're happy to be using Docz. Check us out [here](https://components.seamonsterstudios.com/)

Learn more about Docz [here](https://www.docz.site/).
npm package: @seamonster-studios/react-copy-to-clipboard
Description: Install: `yarn add @semonster-studios/react-copy-to-clipboard`
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# React Copy To Clipboard

Install:
`yarn add @semonster-studios/react-copy-to-clipboard`

Install Peer Dependencies:

`yarn add @seamonster-studios/reason bs-css-emotion`
npm package: @seamonster-studios/react-spread
Description: Install
Author: SeaMonster Studios Engineering
Latest version: 2.0.1

# ReactSpread

Install

`yarn add @seamonster-studios/react-spread`

This is incredibly helpful when binding to javascript react components from w/in rescript that expect you to prop-spread. One example of this is Downshift.

```rescript
<ReactSpread props={select->getLabelProps}>
	<label className="mb-2"> {"Choose an option"->React.string} </label>
</ReactSpread >
```
npm package: @seamonster-studios/reason
Description: Contains many reason bindings as well as utilities used across other packages.
Author: Engineering Team @ SeaMonster Studios
Latest version: 0.16.0

# SeaMonster Studios Reason Base Package

Contains many reason bindings as well as utilities used across other packages.

Install:
`yarn add @seamonster-studios/reason`


Install Peer Dependencies:

`yarn add bs-css-emotion decco`
npm package: @seamonster-studios/reason-date-fns
Description: This is a project with reason bindings for [date-fns v2](https://date-fns.org/v2.0.0/docs/Getting-Started). These bindings are using `FP` module of date-fns. So please refer the [FP documentation](https://date-fns.org/v2.0.0/docs/FP-Guide). In short all m
Author: Dmitriy Kovalenko
Latest version: 0.11.1
Deprecated: This package is no longer supported. Please refer to the published packages contained in https://github.com/SeaMonster-Studios/rescript-index
npm package: @seamonster-studios/rescript-radix-accordion
Description: # Install
Author: SeaMonster Studios Engineering
Latest version: 2.0.1

# RadixAccordion ReScript Bindings
# [Cosmos Preview](https://rescript-index.vercel.app/?fixtureId=%7B%22path%22%3A%22packages%2Frescript-radix-accordion%2F__fixtures__%2F_RadixAccordion.fixture.js%22%2C%22name%22%3Anull%7D)

# Install

`yarn add @seamonster-studios/rescript-radix-accordion`

Then add it to bsconfig.json

```
"bs-dependencies": [
 "@seamonster-studios/rescript-radix-accordion",
]
```

# Example
See the [example usage](https://github.com/SeaMonster-Studios/rescript-index/blob/main/packages/rescript-radix-accordion/__fixtures__/_RadixAccordion.fixture.res) and associated styles in the RadixAccordion section of [the stylesheet](https://github.com/SeaMonster-Studios/rescript-index/blob/main/src/index.css).
npm package: @seamonster-studios/rescript-radix-checkbox
Description: Install
Author: SeaMonster Studios Engineering
Latest version: 2.0.1

# RadixCheckbox ReScript Bindings

Install

`yarn add @seamonster-studios/rescript-radix-checkbox`

and append it to your `bsconfig.json` dependencies:

```
  "bs-dependencies": [
    "@seamonster-studios/rescript-radix-checkbox"
  ],
```

See the [live preview](https://rescript-index.vercel.app/?fixtureId=%7B%22path%22%3A%22packages%2Frescript-radix-checkbox%2F__fixtures__%2F_RadixCheckbox.fixture.js%22%2C%22name%22%3Anull%7D) and [example usage](https://github.com/SeaMonster-Studios/rescript-index/blob/main/packages/rescript-radix-checkbox/__fixtures__/_RadixCheckbox.fixture.res).
npm package: @seamonster-studios/rescript-radix-radio-group
Description: ## Install
Author: SeaMonster Studios Engineering
Latest version: 2.0.1

# RadixRadioGroup ReScript Bindings

## Install

`yarn add @seamonster-studios/rescript-radix-radio-group`

Then add it to bsconfig.json

```
"bs-dependencies": [
 "@seamonster-studios/rescript-radix-radio-group",
]
```
npm package: @seamonster-studios/rescript-swiper8
Description: ## Install
Author: SeaMonster Studios Engineering
Latest version: 2.0.2

# Swiper8 ReScript Bindings

## Install

`yarn add @seamonster-studios/rescript-swiper8`

And then add `@seamonster-studios/rescript-swiper8` to the `bs-dependencies` list in `bsconfig.json`

## Usage 
See `_Swiper8.fixture.res` for example usage.
npm package: @sean-bunnings/rollup-plugin-html
Description: HTML import plugin for rollup with updated html-minifier-terser to fix security issue
Author: Sean Zhang
Latest version: 0.0.2

# rollup-plugin-html [![Build Status](https://travis-ci.org/bdadam/rollup-plugin-html.svg)](https://travis-ci.org/bdadam/rollup-plugin-html)

Rollup plugin for loading content of HTML files to use as string variable in JavaScript code.

## Installation

```bash
npm install --save-dev rollup-plugin-html
```


## Usage

```js
import { rollup } from 'rollup';
import html from 'rollup-plugin-html';

rollup({
	entry: 'main.js',
	plugins: [
		html({
			include: '**/*.html'
		})
	]
}).then(...)
```

## Options

### include

Type: `array` or `string`  
Default: `**/*.html`

A single file pattern, or an array of file patterns to include when importing html files. For more details see [rollup-pluginutils](https://github.com/rollup/rollup-pluginutils#createfilter).

### exclude

Type: `array` or `string`  
Default: `undefined`

A single file pattern, or an array of file patterns to exclude when importing html files. For more details see [rollup-pluginutils](https://github.com/rollup/rollup-pluginutils#createfilter).

### htmlMinifierOptions

Type: `Object`
Default: `{}`

The options which are given to [html-minifier](https://github.com/kangax/html-minifier#options-quick-reference)

E.g.:
```JavaScript
rollup({
	entry: 'main.js',
	plugins: [
		html({
			include: '**/*.html',
			htmlMinifierOptions: {
				collapseWhitespace: true,
				collapseBooleanAttributes: true,
				conservativeCollapse: true,
				minifyJS: true
			}
		})
	]
}).then(...)
```

## License

MIT

## Credits

Thanks for Bogdan Chadkin (@TrySound) for his [rollup-plugin-string](https://github.com/TrySound/rollup-plugin-string) rollup plugin which I used as the basis for this plugin.
npm package: @sean-nicholas/encrypted-config
Description: Loads a config file from disk and decrypts encrypted values
Author: sean-nicholas
Latest version: 1.1.3

# Encrypted Config

Loads a config.json file from disk and decrypts encrypted values.


## Usage

### Encryption

To encrypt settings for your configuration file run `encrypter(encryptionKey)`.
This starts a CLI. Enter your secret and the encrypted value will be printed.


### Load & Patch Config

Generally, you start with a simple config object that you define in your source code. It is filled with development / standard values.
```ts
export let config = {
  mail: {
    config: {
      pool: true,
      host: 'localhost',
      port: 1025,
      secure: false,
      ignoreTLS: true,
      auth: {
        user: '',
        pass: '',
      }
    },
  },
}
```

Then load the config with:
```ts
config = loadConfig({
  config,
  encryptedFields: ['mail.config.auth.pass'],
  encryptionKey: ENCRYPTION_KEY,
  filePath: '/path/to/config.json' // Defaults to process.cwd()/config.json
})
```

Afterwards you can use the config object as usual: 
```ts
const password = config.mail.auth.pass
```

The config.json in this example would look like this:

```json
{
  "mail": {
    "config": {
      "auth": {
        "user": "test@example.com",
        "pass": "c0a15190ec84532eaba420a2bdc269b9:e93wa3c963"
      }
    }
  }
}
```
npm package: @sean-nicholas/nedb-database
Description: Simple typescript & class support for NeDB
Author: sean-nicholas
Latest version: 1.0.0

# NeDB Database

A simple wrapper for some of the nedb functionality.
It puts nedb into a class and adds typescript types.

## Usage

Create a new database via:

```ts
const db = new Database<YourEntityType>({
  filename: 'path/to/nedb-file'
})
```


### Initialization

To init your db just provide an array with a query and the corresponding value that should be added to the database.
The init function checks if the value exists in the db and creates it otherwise.

```ts
await db.init([
  {
    query: { key: 'myConfig' },
    value: {
      key: { key: 'myConfig' },
      value: 'here it is'
    }
  }
])
```

### Querying, Inserting & Co.

It is basically the same syntax as nedb but with promises:

```ts
const entry = await db.findOne({ key: 'myConfig' })

await db.update({ key: 'myConfig' }, {
    key: 'myConfig'
    value: 'new value'
  })
```

Supported methods are: `insert`, `find`, `fineOne`, `count`, `update`, `remove`.
Cursor operations are not supported.
npm package: @sean-perkins/docusaurus-plugin-openapi
Description: OpenAPI plugin for Docusaurus.
Latest version: 0.7.20

<h1 align="center">Docusaurus OpenAPI</h1>

<div align="center">

OpenAPI plugin for generating API reference docs in Docusaurus v2.

</div>

<p align="center">

![](https://user-images.githubusercontent.com/4212769/85324376-b9e3d900-b497-11ea-9765-c42a8ad1ff61.png)

</p>

## Multiple OpenAPI Definitions

To have more than one OpenAPI pages, add additional OpenAPI plugin instances:

```js
/* docusaurus.config.js */

{
  presets: [
    [
      'docusaurus-preset-openapi',
      {
        api: {
          // id: 'cars', // omitted => default instance
          path: 'cars/openapi.json',
          routeBasePath: 'cars',
          // ... other options
        },
      },
    ],
  ],
  plugins: [
    [
      'docusaurus-plugin-openapi',
      {
        id: 'trains',
        path: 'trains/openapi.json',
        routeBasePath: 'trains',
        // ... other options
      },
    ],
    [
      'docusaurus-plugin-openapi',
      {
        id: 'bikes',
        path: 'bikes/openapi.json',
        routeBasePath: 'bikes',
        // ... other options
      },
    ],
  ],
}
```

This will create routes for `/cars`, `/trains` and `/bikes`.

> **Note:** One instance of the plugin is included in the preset. All additional plugin instances will require an `id`.
npm package: @sean-sunagaku/tespec
Description: CLI for validating YAML-based screen specs and generating Playwright test skeletons.
Author: sean-sunagaku
Latest version: 0.2.0

# tespec

`tespec` は、YAML で定義した画面仕様とクラス単位の Unit 仕様を検証し、テストスケルトンを生成する TypeScript CLI です。画面ごとの操作と期待値、メソッドごとのユースケースを先に整理し、テスト漏れを減らすことを目的にしています。

## インストール

グローバルに使う場合:

```bash
npm install -g @sean-sunagaku/tespec
```

単発で使う場合:

```bash
npx @sean-sunagaku/tespec validate -c docs/tespec/config.yaml
```

## 使い方

YAML のサンプルは `docs/tespec/` にあります。

```bash
npx tespec validate -c docs/tespec/config.yaml
```

```bash
npx tespec generate -c docs/tespec/config.yaml --dry-run
```

### ビューアー（ノードグラフ付き）

```bash
npx tespec view -c docs/tespec/config.yaml
```

ブラウザで `http://localhost:3737` が開き、ダッシュボードに画面遷移のノードグラフが表示されます。
YAML を編集・保存すると、グラフがリアルタイムで更新されます。

開発時は `pnpm view` でビルド + 起動を一発で実行できます。

`generate` をファイル出力で使うと、既定では `tests/` 配下に Screen Spec 用の Playwright スケルトンと Unit Spec 用の Vitest スケルトンを生成します。

出力先を変えたい場合は `--out-dir` を使えます。

```bash
npx tespec generate -c docs/tespec/config.yaml --out-dir tests/generated
```

Unit Spec の生成ターゲットを切り替えたい場合は `--unit-target` を使えます。

```bash
npx tespec generate -c docs/tespec/config.yaml --unit-target xctest
```

## YAML の書き方

YAML の仕様と記述ガイドは [docs/tespec-design.md](docs/tespec-design.md) を参照してください。

## Claude Code Skill

Claude Code で tespec の YAML を自動生成・検証するための Skill を提供しています。

### インストール

```bash
npx skills add https://github.com/sean-sunagaku/tespec/tree/main/skills/tespec-yaml-gen
```

### リポジトリから直接インストール（開発者向け）

このリポジトリをクローンしている場合、スキーマから最新のルールを生成してインストールできます:

```bash
pnpm skill:install
```

これは以下を実行します:
1. `src/core/schema.ts` から最新の rules を生成
2. `~/.claude/skills/tespec-yaml-gen/` に同期

### 更新

```bash
npx skills add https://github.com/sean-sunagaku/tespec/tree/main/skills/tespec-yaml-gen
```

同じコマンドで最新版に上書きインストールされます。リポジトリ開発者は `pnpm skill:install` で最新化できます。

### 使い方

Claude Code で以下のように呼び出せます:

- 「画面仕様を作りたい」
- 「tespec YAML を書きたい」
- 「画面の操作を洗い出したい」

Skill が画面・操作・遷移の洗い出しをガイドし、正しいフォーマットの YAML を生成します。

## License

MIT
npm package: @sean.overton/napi-sum
Description: Just testing napi-rs to build native packages in rust for nodeJS consumption.
Latest version: 0.0.2

# napi-add
Just testing napi-rs to build native packages in rust for nodeJS consumption.

The example is just a sum function.

## Install
`npm install @sean.overton/napi-sum`

## Usage
```javascript
import { sum } from '@sean.overton/napi-sum';

console.log(sum(123, 456));
```
npm package: @sean.overton/napi-sum-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@sean.overton/napi-sum`
Latest version: 0.0.2

# `@sean.overton/napi-sum-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@sean.overton/napi-sum`
npm package: @sean_dorr/react-package-example
Description: A React package example
Author: Sean Dorr
Latest version: 0.0.0

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
  },
}
```

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
npm package: @sean_dorr/react-responsive-carousel
Description: A good-looking, fully customisable, and responsive carousel
Author: Sean Dorr
Latest version: 1.0.10

# React Responsive Carousel

Create a good-looking React carousel with responsive and adaptive items based on media queries.

## Install the dependency

```zsh
npm i @sean_dorr/react-responsive-carousel
```

## Customizing the Carousel

### \<Carousel />

| Property           | Description                                                   | Type                                                                   | Default                             |
| ------------------ | ------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------- |
| children           | Items to be displayed in the carousel - use \<CarouselItem /> | node.isRequired                                                        | -                                   |
| className          | Custom class for styling                                      | string                                                                 | undefined                           |
| id                 | Custom id for styling                                         | string                                                                 | undefined                           |
| style              | Custom inline styling                                         | object                                                                 | undefined                           |
| numberOfItemsShown | Number of items you want to be visible in the carousel        | number \| {xs: number, sm: number, md: number, lg: number, xl: number} | {xs: 1, sm: 2, md: 3, lg: 4, xl: 5} |
| carouselItemHeight | Height of items in the carousel                               | number                                                                 | 400                                 |
| gap                | Spacing between carousel items                                | number                                                                 | 20                                  |

<br />

### \<CarouselItem />

| Property  | Description                                             | Type     | Default   |
| --------- | ------------------------------------------------------- | -------- | --------- |
| children  | Content to be displayed inside of the \<CarouselItem /> | any      | -         |
| className | Custom class for styling                                | string   | undefined |
| id        | Custom id for styling                                   | string   | undefined |
| style     | Custom inline styling                                   | object   | undefined |
| onClick   | Set the handler to handle click event                   | object   | undefined |
| color     | Define a background-color for the \<CarouselItem />     | function | undefined |

<br />

### Example

```jsx
<Carousel
  numberOfItemsShown={{ xs: 1, sm: 2, md: 3, lg: 4, xl: 5 }}
  carouselItemHeight={400}
  gap={20}
>
  <CarouselItem />
</Carousel>
```