open-index/open-npm huggingface dataset:
npm package: @sandeshwar/button-group
Description: This is a reusable button group component based on Bootstrap's button group. You can use it in your Angular 6+ apps. It uses Bootstrap css classes so make sure you have referenced Bootstrap CSS file.
Latest version: 1.0.7

#  Reusable [Bootstrap](https://getbootstrap.com/) Button Group Component using [Angular](http://angular.io/)

This is a reusable button group component based on Bootstrap's button group. You can use it in your Angular 6+ apps. It uses Bootstrap css classes so make sure you have referenced Bootstrap CSS file. 


## Installation
Install `button-group` via:
```shell
npm install --save @sandeshwar/button-group
```

## Usage

Once installed you need to import it in your module:
```js
import { ButtonGroupModule } from '@sandeshwar/button-group';

@NgModule({
  ...
  imports: [ButtonGroupModule, ...],
  ...
})
export class MyModule {
}
```

Here's a sample component
```js
import { Button } from '@sandeshwar/button-group';

@Component({
  ...
})
export class MyComponent implements OnInit {
  buttons: Button[];
  selectedButton = '';
  
  // if true, buttons will be stacked vertically
  vertical = false;
  
  // if true, button group will take up the entire width of it's parent element
  // works only in Bootstrap 3
  justified = false;

  // size of the button (sm, md, lg)
  // default is md
  size = 'sm';
  
  // disables all the buttons
  disabled = false;

  ngOnInit() {
    // Create as many buttons as you need
    this.buttons = [
      { label: 'Save', value: 'save' },
      { label: 'New', value: 'new' },
      { label: 'Delete', value: 'delete' }
    ];

    // You can subscribe to value changes using ViewChild
    this.buttonGroup.selectedButtonChange.subscribe(
      buttonValue => console.log(buttonValue)
    );
  }

  // You can also listen to changes using Output binding in template
  change(e) {
    console.log(e);
  }
}
```

Include the following in your template
```html
<nbbg-button-group [buttons]="buttons" [vertical]="vertical" [justified]="justified" [size]="size" 
                   [disabled]="disabled" [(ngModel)]="selectedButton"
                   (selectedButtonChange)="change($event)"></nbbg-button-group>

{{ selectedButton }}
```

## More details
vertical, justified, size and disabled are optional properties.

Please import `FormsModule` if you haven't already as it is required for the `ngModel` property
npm package: @sandflare/mcp-server
Description: Sandflare MCP server — run sandboxes and databases from Claude Desktop, Cursor, Windsurf, and any MCP client
Latest version: 0.1.0

# @sandflare/mcp-server

MCP server for [Sandflare](https://sandflare.io) — run sandboxes and managed PostgreSQL databases from Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

## Installation

No install required. Run directly with `npx`:

```bash
SANDFLARE_API_KEY=pa_live_... npx -y @sandflare/mcp-server
```

Get your API key at [app.sandflare.io/settings/api-keys](https://app.sandflare.io/settings/api-keys).

---

## Claude Desktop

Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "sandflare": {
      "command": "npx",
      "args": ["-y", "@sandflare/mcp-server"],
      "env": {
        "SANDFLARE_API_KEY": "pa_live_YOUR_KEY_HERE"
      }
    }
  }
}
```

Restart Claude Desktop. You'll see the 🔨 hammer icon when the server is connected.

---

## Cursor

Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):

```json
{
  "mcpServers": {
    "sandflare": {
      "command": "npx",
      "args": ["-y", "@sandflare/mcp-server"],
      "env": {
        "SANDFLARE_API_KEY": "pa_live_YOUR_KEY_HERE"
      }
    }
  }
}
```

---

## Windsurf

Add to `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "sandflare": {
      "command": "npx",
      "args": ["-y", "@sandflare/mcp-server"],
      "env": {
        "SANDFLARE_API_KEY": "pa_live_YOUR_KEY_HERE"
      }
    }
  }
}
```

---

## Available Tools

| Tool | Description |
|------|-------------|
| `create_sandbox` | Create a new microVM sandbox |
| `delete_sandbox` | Delete a sandbox |
| `exec` | Run a shell command in a sandbox |
| `run_python` | Execute Python code (fresh interpreter) |
| `run_node` | Execute JavaScript/Node.js code |
| `run_code` | Execute Python in a **persistent stateful kernel** |
| `write_file` | Write a file to the sandbox filesystem |
| `read_file` | Read a file from the sandbox filesystem |
| `list_files` | List files and directories |
| `list_sandboxes` | List all running sandboxes |
| `create_database` | Create a managed PostgreSQL database |
| `list_databases` | List all databases |
| `delete_database` | Delete a database |
| `wire_database` | Connect a sandbox to a database (injects `DATABASE_URL`) |

---

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SANDFLARE_API_KEY` | ✅ | Your API key (`pa_live_...`) |
| `SANDFLARE_API_URL` | Optional | Override API base URL (default: `https://api.sandflare.io`) |

---

## Example prompts

> *"Create a sandbox and run a Python script that fetches the Bitcoin price"*

> *"Create a sandbox, create a PostgreSQL database, wire them together, then create a users table"*

> *"Use the stateful kernel to import pandas, load a CSV, and show me summary statistics"*
npm package: @sandfox/arn
Description: Parser for Amazon Resource Name strings
Author: James Butler
Latest version: 2.1.0

# arn

Parser for [Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) strings.

[![Build Status](https://travis-ci.com/sandfox/aws-arn-parser.svg?branch=master)](https://travis-ci.com/sandfox/aws-arn-parser)

## more info

Does what it says on the tin! Parses an Amazon Resource Name and gives it back as object.
Loosely based upon the aws golang [implementation](https://github.com/aws/aws-sdk-go/blob/master/aws/arn/arn.go).

Benefits:

  - Single implementation file
  - Dependency-free
  - Includes TypeScript type definitions

## install

With [npm](http://npmjs.org) do:

```
npm install @sandfox/arn
```

## api

__parse__ : Parse parses an ARN into its constituent parts. Empty sections in the ARN are represented by empty strings.

```js
const { parse } = require('@sandfox/arn');
const arn = parse("arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert");
```

output:
```js
{
  partition: 'aws',
  service: 'iam',
  region: '',
  accountID: '123456789012',
  resource: 'server-certificate/division_abc/subdivision_xyz/ProdServerCert'
}
```

Fields:
 - `partition`: The partition that the resource is in. For standard AWS regions, the partition is "aws". If you have resources in other partitions, the partition is "aws-partitionname". For example, the partition for resources in the China (Beijing) region is "aws-cn".
 - `service`: The service namespace that identifies the AWS product (for example, Amazon S3, IAM, or Amazon RDS). For a list of namespaces, see http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces.
 - `region`: The region the resource resides in. Note that the ARNs for some resources do not require a region, so this component might be omitted.
 - `accountID`: The ID of the AWS account that owns the resource, without the hyphens. For example, 123456789012. Note that the ARNs for some resources don't require an account number, so this component might be omitted.
 - `resource`: The content of this part of the ARN varies by service. It often includes an indicator of the type of resource — for example, an IAM user or Amazon RDS database - followed by a slash (/) or a colon (:), followed by the resource name itself. Some services allows paths for resource names, as described in http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-paths.



__toString__ : Returns the canonical representation of an ARN in object form as returned by `parse`. Any missing sections will be truncated.

```js
const { toString } = require('@sandfox/arn');
const arn = {
  partition: 'aws',
  service: 'iam',
  accountID: '123456789012',
  resource: 'server-certificate/division_abc/subdivision_xyz/ProdServerCert'
}

console.log(toString(arn))
```

output
```js
'arn::aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert'
```


## license

MIT
npm package: @sandfox/camlock
Description: a basic in-process lock
Author: sandfox
Latest version: 1.1.0

# camlock
a basic in-process lock for nodejs V5+ (and maybe also v4)

I wrote this primarily for mucking about and trying a few things so it's
usefulness to you may vary but feel free to use it however you want to.

It's primarily designed for creating locks when you want to prevent concurrent 
execution of blocks of code, most likely during/around asychronous calls such 
as network/disk i/o. If code incorrectly tries to get/release a lock this module
will throw, so this is probably useful when you just want to guard against
incorrect behaviour in fairly bang sort of way.

## Installation

This is a scoped packaged so you need to be using a recent-ish version of `npm` (probably v2 at minimum)

```
npm install [--save] @sandfox/camlock
```

## Usage

A simple example:

```
const Camlock = require('@sandfox/camlock')

const myLockManager = new Camlock()

const myLockToken = myLockManager.get('update-xy')

// Do things etc
myLockManager.release('update-xy', myLockToken)
```

__Acquire a lock__

```
const Camlock = require('@sandfox/camlock')
const myLockManager = new Camlock()
const myLockToken = myLockManager.get('some-key')
```

`Camlock#get` takes anything as first argument to be used as the lock key. The underlying storage system is a `Map`
so keep that in mind wit regards to equality comparision. The function returns an _opaque_ token represented by an object, don't interefer with it, you'll need this exact token later to release the lock.

__Release a lock__

```
const Camlock = require('@sandfox/camlock')
const myLockManager = new Camlock()
const myLockToken = myLockManager.get('db-write')
myLockManager.release('db-write', myLockToken)
```

`Camlock#release` takes whatever value was used to get the lock (or anything equal to that as far as `Map` thinks) as the first arguement, and the token returned when getting the lock. Trying to release a lock on a key that has no lock will throw, as will not supplying the token, or supplying an incorrect token / expired.

__See if a lock exists__

```
const Camlock = require('@sandfox/camlock')
const myLockManager = new Camlock()
myLockManager.has('db-write') // returns false
const myLockToken = myLockManager.get('db-write')
myLockManager.has('db-write') // returns true
myLockManager.release('db-write', myLockToken)
myLockManager.has('db-write') // returns false
```

`Camlock#has` takes the lockname as the first argument. returns boolean.


__See if a lock token is valid__

```
const Camlock = require('@sandfox/camlock')
const myLockManager = new Camlock()
const myLockToken = myLockManager.get('db-write')
myLockManager.validate('db-write') // returns false
myLockManager.validate('db-write', {}) // returns false
myLockManager.validate('db-write', myLockToken) // returns true
myLockManager.release('db-write', myLockToken)
myLockManager.validate('db-write', myLockToken) // returns false
```

`Camlock#validate` takes the lockname as the first argument, token as the second and validates that the token is valid for the lockname. returns boolean.

# License

See the 'LICENSE' file
npm package: @sandipmo/find-max
Description: Find maximum number form Array or Object or number of arguments
Author: Sandip Mondal
Latest version: 1.0.4

# find-max [![Build Status](https://api.travis-ci.com/smondal/find-max.svg?branch=master)](https://travis-ci.com/smondal/find-max) [![Coverage Status](https://coveralls.io/repos/github/smondal/find-max/badge.svg?branch=master)](https://coveralls.io/github/smondal/find-max?branch=master)


## Install

```
$ npm install @sandipmo/find-max
```


## Usage

```js
const findMax = require('find-max');

//Handle normal arguments
var max = findMax(1, 2, 3, 4)  // 4

var max = findMax([1, 2, 3, 4]) //4

//Handle array of array
var max = findMax([1, 2, 3, 4, [6, 12], [9, 10], [2], 8]) // 12

var max = findMax({1: 2, 2: 4, 4: 5})  //'4'

var max = findMax({a: 2, b: 4, c: 5}) //'c'

```
## API

### findMax(arguments)

Arguments would be comma separated value. If you not pass any argument it will return you `undefined`

### findMax(Array)
Type: `Array`

You can pass single array or array or array. If you pass array of array it will first apply `flatten` method to produce single array. Then return the maximum value from array.

If you pass empty array it will return `undefined`.

### findMax(Object)

Type: `Object`

Compare the value of each key and return the maximum value from Object.



## Related

- [find-min](https://github.com/smondal/find-min) - Find minimum mumber
npm package: @sandjs/eslint-config-base
Description: SandJS's base JS ESLint config, following our styleguide
Author: Kevin Smithson
Latest version: 1.0.0

# eslint-config-sandjs-base

This package provides SandJS's base JS .eslintrc as an extensible shared config.

## Usage

We export two ESLint configurations for your usage.

### eslint-config-sandjs-base

Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires `eslint` and `eslint-plugin-import`.

1. Ensure packages are installed with correct version numbers by running:
  ```sh
  (
    export PKG=@sandjs/eslint-config-base;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
    npm install --save-dev @sandjs/eslint-config-base eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

2. Add `"extends": "@sandjs/base"` to your .eslintrc
npm package: @sandjs/eslint-config-sand
Description: Sand JS ESLint config, following our styleguide
Author: Kevin Smithson
Latest version: 1.0.0

# eslint-config-sand

This package provides SandJS's .eslintrc as an extensible shared config.

## Usage

### eslint-config-sand

Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires `eslint` and `eslint-plugin-import`.

1. Ensure packages are installed with correct version numbers by running:
  ```sh
  (
    export PKG=@sandjs/eslint-config-sand;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:x

  ```sh
    npm install --save-dev @sandjs/eslint-config-sand eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

2. Add `"extends": "@sandjs/sand"` to your .eslintrc
npm package: @sandkasten/sdk
Description: TypeScript SDK for Sandkasten sandbox runtime
Latest version: 0.1.0

# Sandkasten TypeScript SDK

This package provides a lightweight, promise‑based client for the Sandkasten HTTP API.  It is shipped separately from the Go daemon and can be installed via npm/pnpm/yarn.

## Installation

```bash
# using pnpm (recommended)
pnpm add @sandkasten/sdk

# or with npm
npm install @sandkasten/sdk
```

## Quick start

```ts
import { SandboxClient } from "@sandkasten/sdk";

async function main() {
  const client = new SandboxClient({ baseUrl: "http://localhost:8080", apiKey: "sk-test" });
  const session = await client.createSession();
  const execResult = await session.exec("echo hello");
  console.log(execResult.output);
}
```

All of the SDK types (`SessionInfo`, `ExecResult`, etc.) are exported from the package and correspond directly to the JSON objects returned by the daemon.  The TypeScript definitions are kept in `src/types.ts` and are intentionally very small; new fields added to the server should be reflected here as needed.  The unit tests included with the repository validate that the client sends the expected requests and decodes responses correctly.

## Development

```bash
cd sdk
pnpm install       # install dev dependencies
pnpm run build      # compile to `dist/`
pnpm run test       # run the unit tests (vitest)
```

Type checking is performed by `tsc` as part of `build`; the project is configured for strict mode.

### Releasing a new version

The monorepo publishes the SDK automatically on a tag push.  The GitHub Actions workflow:

- checks out the repo
- runs `pnpm install`, `pnpm build` and `pnpm test` in `sdk`
- bumps `package.json` to the tagged version and publishes using `pnpm publish`

To manually publish locally you can also run:

```bash
cd sdk
pnpm version 1.2.3 # or use `npm version` to update package.json
pnpm publish --access public
```

Make sure you have an `NPM_TOKEN` environment variable configured or set in the repository secrets so that `pnpm publish` can authenticate.

> **Note:** the SDK is published as a public package.  Use `--access public` with pnpm if your npm registry defaults to restricted packages.

## API compatibility

The TypeScript types mirror the server's API structures.  Any changes to the API should be accompanied by:

1. updating the corresponding TypeScript interfaces in `src/types.ts` (and exporting them in `src/index.ts`);
2. adding or updating unit tests under `sdk/tests/` to cover the new behaviour;
3. incrementing the package version before publishing (the release workflow will set the version from the git tag).

For a deeper guarantee you can run the integration tests against a local daemon (`go test ./tests/integration/...`) and exercise the client from TypeScript in the same environment, but the existing mocks are usually sufficient for catching mismatches.
npm package: @sandlada/mdc
Description: @sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
Author: Kai-Orion & Sandlada
Latest version: 0.1.0-20250909.b

# @sandlada/mdc

![MDC Logo](https://raw.githubusercontent.com/sandlada/mdc/refs/heads/main/docs/mdc-cover.png)

![NPM Downloads](https://img.shields.io/npm/d18m/@sandlada/mdc?label=NPM%20Downloads)
![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/sandlada/mdc/total?label=Github%20Downloads)
![NPM Version](https://img.shields.io/npm/v/%40sandlada%2Fmdc?label=NPM%20Version)
![GitHub License](https://img.shields.io/github/license/sandlada/mdc?label=License)

_**@sandlada/vue-mdc is deprecated. We will migrate from @sandlada/vue-mdc to @sandlada/mdc.**_

**Currently in development.**

`@sandlada/mdc` is an open source component library that follows the Material Design 3 design specifications.

Written by Lit Framework, relying on the cross-framework capabilities of Lit and Web Component, you can use this library on any framework (Vue, Angular, React, etc.).

## :zap: Highlights

- Material Design 3
- Written in Lit Framework

## :eyes: Installation

```bash
npm i @sandlada/mdc
```

## :ship: Example

Don't know how to use MDC? Explore MDC with simple examples from [Github Wiki - Examples](https://github.com/sandlada/mdc/wiki/Examples).

_If you want to showcase something you've created with MDC, please contact me._

## :ledger: Documents

For more information about MDC, please visit [mdc.sandlada.com](https://mdc.sandlada.com).

_The document is being edited and the content will be presented soon._

## :world_map: Roadmap

If you want to follow the latest progress of MDC, please jump to issue [Project Tracker](https://github.com/sandlada/mdc/issues/6).
npm package: @sandlada/mdk
Description: A JavaScript library based on Material Design 3, providing data such as color, shape, shadow level, etc.
Author: Kai-Orion & Sandlada
Latest version: 2.1.0-20251230.a

# @sandlada/mdk

`@sandlada/mdk`, Material Design Kit, a JavaScript library based on Material Design 3, providing data such as color, shape, shadow level, etc:

+ Palette
+ Color
+ Variant
+ ElevationLevel
+ ContrastLevel
+ Duration
+ Easing
+ Shape

## Installation

```shell
npm i @sandlada/mdk
```

## Usage

### Use Color

```typescript
import { Color } from '@sandlada/mdk'

const surface = Color.Surface

/**
 * @output
 * ```
 * --md-sys-color-surface
 * ```
 */
console.log(surface.key)

/**
 * @output
 * ```
 * ["var(--md-sys-palette-neutral-98, #fef7ff)", "var(--md-sys-palette-neutral-6, #141218)"]
 * ```
 */
console.log(surface.value)

/**
 * @output
 * ```
 * var(--md-sys-color-surface, light-dark(var(--md-sys-palette-neutral-98, #fef7ff), var(--md-sys-palette-neutral-6, #141218)))
 * ```
 */
console.log(surface.toCSSValue())

const yourDiv = document.querySelector('body')
yourDiv.style.setProperty('background-color', surface.toCSSValue())
```

### Use Shape

```typescript
import { Shape } from '@sandlada/mdk'

const shapeLarge = Shape.Large

/**
 * @output
 * ```
 * large
 * ```
 */
console.log(shapeLarge.key)

/**
 * @output
 * ```
 * 16
 * ```
 */
console.log(shapeLarge.value)

/**
 * @output
 * ```
 * px
 * ```
 */
console.log(shapeLarge.unit)

/**
 * @output
 * ```
 * var(--md-sys-shape-corner-large, 16px)
 * ```
 */
console.log(shapeLarge.toCSSValue())

const myBox = document.querySelector('#my-box')
myBox.style.setProperty('border-radius', shapeLarge.toCSSValue())
```

### Use Typescale

```typescript
import { Typescale } from '@sandlada/mdk'

const displayLarge = Typescale.DisplayLarge

const fontSize = displayLarge.fontSize

/**
 * @output
 * ```
 * display-large-font-size
 * ```
 */
console.log(fontSize.key)

/**
 * @output
 * ```
 * 57
 * ```
 */
console.log(fontSize.value)

/**
 * @output
 * ```
 * px
 * ```
 */
console.log(fontSize.unit)

/**
 * @output
 * ```
 * var(--md-sys-typescale-display-large-font-size, 57px)
 * ```
 */
console.log(fontSize.toCSSValue())
```
npm package: @sandload/signlib
Description: 非码签名库
Latest version: 1.0.14

## 非码前端签名库

> 限制仅允许在 `.sandload.cn`，`.sandload.com`, `.subway.com.cn`,`localhost`, `127.0.0.1`下使用, 其他场景无返回

- 万象(version 1.x.x 及以上适用)

```js
import { wanxiang } from "@sandload/signlib";

const env = ""; // 可选值 dev、qa、pre、prod
const fmSign = wanxiang(env);

const sign1 = fmSign.genTestSign("abcdefg");
const sign2 = fmSign.genSign(axiosConfig);
```

- 万象(旧版本 version 0.x.x 适用)

```js
import wanxiang from "@sandload/signlib/wanxiang";

const env = ""; // 可选值 dev、qa、pre、prod
const fmSign = wanxiang(env);

const sign1 = fmSign.genTestSign("abcdefg");
const sign2 = fmSign.genSign(axiosConfig);
```

- 取餐屏

```js
import { qcp } from "@sandload/signlib";

qcp.genSign({
  partnerId: "",
  deviceId: "",
  body: {
    name: "test",
  },
});
```

或者直接页面 script 引入`dist/qcp.sign.umd.js`文件，然后调用`FmSign.qcp.genSign({ })`，效果一样。
npm package: @sandm-h/vue-map
Description: 基于Leaflet API 封装的vue2.x地图组件
Latest version: 1.1.2

# @sandm-h/map

> 基于 Leaflet API 封装的vue2.x地图组件

> [DEMO 演示](https://heyuming_1118.gitee.io/sandm-vue-map/)

> [Leaflet 中文网](https://leafletjs.cn/)

## 安装

``` bash
$ npm install @sandm-h/vue-map
```
## 使用

在 `main.js` 文件中引入插件并注册

``` bash
# main.js
import "@sandm-h/vue-map/lib/@sandm-h/vue-map.css";
import Map from "@sandm-h/vue-map";
```

在项目中使用 Map

```js
<template>
  <sandm-map></sandm-map>
</template>
<script>
  export default {
    data () {
    
    }
  }
</script>
```
npm package: @sandpiper-studio/blocks-skeleton
Description: [Skeleton](https://skeleton.dev)-dependent blocks for Sandpiper projects.
Latest version: 1.2.9

# blocks-skeleton

[Skeleton](https://skeleton.dev)-dependent blocks for Sandpiper projects.

## To publish:

First, increment version in `package.json`.

Then:

```
bun run build
npm publish
```
npm package: @sandrablano96/pruebas
Description: This Repo is based on [Build, test and release a React component library with Storybook](https://dev.to/denniskortsch/build-test-and-release-a-react-component-library-with-storybook-13d6) article on `dev.to`
Author: sandra
Latest version: 1.0.1

# Component Library using React+Storybook+rollup
This Repo is based on [Build, test and release a React component library with Storybook](https://dev.to/denniskortsch/build-test-and-release-a-react-component-library-with-storybook-13d6) article on `dev.to`