open-index/open-npm huggingface dataset:
npm package: @opengovsg/angular-daterangepicker-webpack
Description: Fork of fragaria's date range picker that supports commonjs & AMD
Latest version: 1.1.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Date range picker that supports commonjs
This is a fork of the library developed by [fragaria](https://github.com/fragaria/angular-daterangepicker)
The purpose is to add code to allow this library be commonjs compatible.

```
angular.module('module', ['daterangepicker'])
```
npm package: @opengovsg/angular-legacy-sortablejs-maintained
Description: Fork of Angular (legacy) directive for SortableJS.
Author: samjacobclift
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

angular-legacy-sortable
-----------------------

Angular 1 module that integrates with Sortable.js

# Installation

## Install with NPM

    npm install angular-legacy-sortablejs-maintained

## Install with Yarn

    yarn add angular-legacy-sortablejs-maintained

Don't install the old angular-legacy-sortablejs package as thats not maintained

# Examples
[Live Demo](https://example-angularjs-sortable.glitch.me/)

## Simple Drag and Drop

```js
angular.module('exampleApp', ['ng-sortable'])
.component('dragAndDropExample', {
  template: `<ul ng-sortable>
    <li ng-repeat="item in ['burgers', 'chips', 'hotdog']">
      {$ item $}
    </li>
  </ul>`,
})
```

## Specifying a Config
You can pass a Config obj to `ng-sortable` and it will pass this onto the created sortable object. The available options can be found [here](https://github.com/RubaXa/Sortable#options)

```js
angular.module('exampleApp', ['ng-sortable'])
  .component('dragAndDropExample', {
    template: `
    <ul ng-sortable=$ctrl.sortableConf>
      <li ng-repeat="item in ['burgers', 'chips', 'hotdog']">
        {$ item $}
      </li>
    </ul>`,
    controller: class ExampleController {
      constructor() {
        this.sortableConf = {
          animation: 350,
          chosenClass: 'sortable-chosen',
          handle: '.grab-handle',
          forceFallback: true,
        };
      }
    },
  });
```

# Drag handle
Example showing how use the handle option

```js
angular.module('exampleApp', ['ng-sortable'])
  .component('dragAndDropExample', {
    template: `
    <ul ng-sortable=$ctrl.sortableConf>
      <li ng-repeat="item in ['burgers', 'chips', 'hotdog']" draggable="false">
        <span class="grab-handle">Drag Header</span>
        <div>{$ item $}</div>
      </li>
   </ul>`,
   controller: class ExampleController {
      constructor() {
        this.sortableConf = {
          animation: 350,
          chosenClass: 'sortable-chosen',
          handle: '.grab-handle',
          forceFallback: true,
        };
      }
    },
  });
```

# Tests
There are selenium based tests that can be used to check for regressions

## Requirements
  - node
  - yarn

## Setting up tests
Navigate to the repo directory in a terminal and run

    yarn

## Running e2e tests

To run the e2e tests run each of these commands in a separate terminal window

```bash
npm run serve:example
```

```bash
npm run webdriver
```

```bash
npm run test:e2e
```
npm package: @opengovsg/countries-regions-codes
Description: Utility for converting between country and region codes
Author: Open Government Products, GovTech Singapore
Latest version: 0.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Convert country/region codes

![Coverage Status](https://coveralls.io/repos/github/opengovsg/countries-regions-codes/badge.svg?branch=develop&kill_cache=1)

A utility for converting between country/region codes. We currently support 6 schemes:
- `'name'` Plaintext English
- `'icao'` International Civil Aviation Organization
- `'iso2'` ISO 3166-1 alpha-2 ([link](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))
- `'iso3'` ISO 3166-1 alpha-3 ([link](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3))
- `'flag'` Emojis 🇦🇪 🇪🇸 🇸🇬 🇲🇵 🇳🇱 
- `'phone'` Prefixes for international dialing ([link](https://countrycode.org/))

## Installation
```
npm install @opengovsg/countries-regions-codes
```

## Usage

`countries-regions-codes` provides a chained API:


```ts
import { convert } from '@opengovsg/countries-regions-codes'

convert('SGP').from('icao').to('iso2') // 'SG'
```


Schemes don't always have 1-1 mappings. In such cases, we support many-to-one mappings as expected

```ts
// United States Minor Outlying Islands
convert('UM').from('iso2').to('icao') // 'USA'

// United States
convert('US').from('iso2').to('icao') // 'USA'
```

and choose a sensible default for one-to-many mappings. Where ambiguous, we choose the territory with a larger population. The full list of alternates can be seen [here](https://github.com/opengovsg/countries-regions-codes/blob/develop/src/countries.ts)

```ts
convert('USA').from('icao').to('name') // 'United States'
```


Where a scheme has no representation for an option provided by another scheme, we throw an error.

```ts
// Refugee (Status) exists in icao but not iso2
convert('XXB').from('icao').to('iso2') // throws
```


Additionally, if you require the full enums, e.g. to use in a validator / to iterate over with your own logic, you can access them as a de-duped, sorted list:

```ts
import { schemes } from '@opengovsg/countries-regions-codes'

console.log(schemes.icao) // ['AFG', 'ALB', 'AZM', ...]
console.log(schemes.iso2) // ['AF', 'AL', 'AS', ...]
```

## Typings
Array items in `schemes` and return type from `convert()` are strongly-typed thanks to type-narrowing. 

```ts
const possiblePhonePrefix: string = '+66'
const wellTypedIso3 = convert(possiblePhonePrefix).from('phone').to('iso3')

// TS complains - wellTypedIso3 is known to be 'AFG' | 'ALB' | 'AZM' ...
if (wellTypedIso3 === 'Thailand')
npm package: @opengovsg/credits-generator
Description: Takes in package.json and outputs a CREDITS.md file
Author: Government Technology Agency of Singapore
Latest version: 1.0.7

# credits-generator

Takes in package.json and outputs a CREDITS.md file attributing the authors of your dependencies

## Usage

1. `npx @opengovsg/credits-generator` from your node project
2. `CREDITS.md` generated!

An example is in this project's own `package.json` and `CREDITS.md`.

## Motivation

Use of open-source software is often governed by the terms of their licenses.
Such terms often include the obligation to provide some form of acknowledgement
of use, along with the full text of the license. This practice is strongly
recommended at several organisations, including the [Government Technology Agency
of Singapore](https://www.tech.gov.sg/).

This tool was hence created to make it convenient to attribute authors of
dependencies in the node.js projects that we publish. As beneficiaries of
open-source software, we want to provide due recognition to those authors,
and hope that others would do so too.

More information on this topic can be found in this excellent article found
at [nexB](https://www.nexb.com/blog/oss_attribution_obligations.html)

## Limitations

Currently, this tool is only capable of retrieving LICENSE files from GitHub
repositories. This may be problematic for dependencies hosted elsewhere, or
license files with non-standard names.

## Contributing

We welcome contributions to code open-sourced by the Government Technology
Agency of Singapore. All contributors will be asked to sign a Contributor
License Agreement (CLA) in order to ensure that everybody is free to use their
contributions.
npm package: @opengovsg/mui-select-button
Description: A React button with select dropdown menu using Material-UI
Author: Open Government Products, Government Technology Agency of Singapore
Latest version: 0.0.7
Deprecated: This package is no longer maintained

# mui-select-button

A Material UI button that includes the dropdown menu found in Select. 
Use this for a button with user-selectable behaviour

A demo of this component can be found [here](https://codesandbox.io/s/mui-select-button-demo-mug0l)

# Acknowledgements

This component was created as part of work done for the 
[Ministry of Social and Family Development](https://www.msf.gov.sg/) of the Government of Singapore

# Contributing
We welcome contributions to code open sourced by the Government Technology Agency of Singapore. 
All contributors will be asked to sign a Contributor License Agreement (CLA) in order to ensure that 
everybody is free to use their contributions.
npm package: @opengovsg/postmangovsg-client
Description: An OpenAPI client and nodemailer transport for postman.gov.sg
Author: Open Government Products
Latest version: 0.0.9
Deprecated: This package is no longer maintained

# postmangovsg-client

An OpenAPI client and nodemailer transport for postman.gov.sg

## Usage

### Nodemailer

A custom transport that wraps around the [API Client](#api-client) for nodemailer is provided,
so that users can send transactional emails using nodemailer's familiar programmatic API

```ts
import nodemailer from 'nodemailer'
import { PostmanNodemailerTransport } from '@opengovsg/postmangovsg-client'

const transport = new PostmanNodemailerTransport(process.env.POSTMANGOVSG_API_KEY)
const mailer = nodemailer.createTransport(transport)

const mail = { 
  to: 'team@open.gov.sg', 
  subject: 'Hello World', 
  html: 'Product <b>Launched!</b>',
  // text: 'Product Launched!',
}

mailer.sendMail(mail, (err, info) => {
  if (err) {
    console.error(err, info)
  } else {
    console.log(info)
  }
})
```

### API Client

An OpenAPI client was generated using [openapi-generator](https://openapi-generator.tech/)
and the [Postman OpenAPI spec](https://api.postman.gov.sg/docs/#/). The resulting clients and models
are accessible via imports from `@opengovsg/postmangovsg-client`
npm package: @opengovsg/sgdrm
Description: [![Test](https://github.com/datagovsg/sgdrm/actions/workflows/tests.yml/badge.svg)](https://github.com/datagovsg/sgdrm/actions/workflows/tests.yml)
Latest version: 1.1.0

# `sgdrm`

[![Test](https://github.com/datagovsg/sgdrm/actions/workflows/tests.yml/badge.svg)](https://github.com/datagovsg/sgdrm/actions/workflows/tests.yml)

This repository contains the code for data validation and data type detection logic for [data.gov.sg](https://data.gov.sg).
npm package: @opengovsg/sgid-client
Description: The official TypeScript/JavaScript SDK for sgID
Author: Open Government Products, GovTech Singapore
Latest version: 2.3.0

![](sgid-logo.png)

# sgid-client

[![npm version](https://badge.fury.io/js/@opengovsg%2Fsgid-client.svg)](https://badge.fury.io/js/@opengovsg%2Fsgid-client)

The official TypeScript/JavaScript client for sgID

## Installation

```bash
npm i @opengovsg/sgid-client
```

## Quick start

Refer to our developer documentation for one of our [framework-specific guides](https://docs.id.gov.sg/integrations-with-sgid/typescript-javascript/framework-guides), or check out the [quick start](https://docs.id.gov.sg/integrations-with-sgid/typescript-javascript#quick-start).

## API reference

Refer to the [API reference in our developer documentation](https://docs.id.gov.sg/integrations-with-sgid/typescript-javascript/api-reference).

## Supported Runtime and Environment

This library depends on [jose](https://www.npmjs.com/package/jose) npm package which currently supports [these Node.js versions](https://github.com/panva/jose/issues/262).

## CHANGELOG

See [Releases](https://github.com/opengovsg/sgid-client/releases) for CHANGELOG and breaking changes.
npm package: @opengram/arguments
Description: The arguments plugin lets you parse & validate arguments of commands / inline query with ease.
Author: Maxim Tsialehin
Latest version: 1.0.2

<header>
<img src="https://raw.githubusercontent.com/OpengramJS/opengram/master/docs/media/Logo.svg" alt="logo" height="90" align="left">
<h1 style="display: inline">Opengram arguments</h1>

The arguments plugin lets you parse & validate arguments of commands / inline query with ease.

[![CI][ci-image]][ci-url] [![codecov][codecov-image]][codecov-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] [![Codacy Badge][codacy-image]][codacy-url] [![License: MIT][license-image]][license-url]
</header>

## Features
-   [Joi](https://joi.dev/) validation support
-   Arguments remapping
-   Inline query / Message / Channel posts support

## Docs

You can find documentation [here](https://t.me/)

## Installation

### NPM
```bash
npm i @opengram/arguments
```

### Yarn
```bash
yarn add @opengram/arguments
```

### PNPM
```bash
pnpm add @opengram/arguments
```

## Quick start

```js
const { Opengram } = require('opengram')
const bot = new Opengram(process.env.BOT_TOKEN)

const Joi = require('joi')
const arguments = require('@opengram/arguments')
  
// Create middleware instance
const sumArgs = arguments({
  mapping: ['first', 'second'], // First argument to "first" property, second to "second" property
  errorHandler: (err, ctx) => ctx.reply(`Invalid arguments: ${err.message}`), // Error handler for validation errors
  // Validation schema
  schema: Joi.object({
    first: Joi
      .number()
      .integer()
      .required(),
    second: Joi
      .number()
      .integer()
      .required()
  })
})

bot.command('sum', sumArgs, ctx => {
  // Destructuring assignment from safe, validated object, with converted to number args
  const { first, second } = ctx.state.args.result
  // Send sum result
  return ctx.replyWithHTML(`<b>Result:</b> ${first + second}`)
})

bot.launch()
```

[codecov-image]: https://codecov.io/gh/OpengramJS/arguments/branch/master/graph/badge.svg?token=7SSVHV4Y6V
[codecov-url]: https://codecov.io/gh/OpengramJS/arguments
[license-image]: https://img.shields.io/badge/License-MIT-yellow.svg
[license-url]: https://opensource.org/licenses/MIT
[codacy-image]: https://app.codacy.com/project/badge/Grade/0ba3bf1b270946918b13e2730d190156
[codacy-url]: https://www.codacy.com/gh/OpengramJS/arguments/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=OpengramJS/opengram&amp;utm_campaign=Badge_Grade
[ci-image]: https://github.com/OpengramJS/arguments/actions/workflows/ci.yml/badge.svg?branch=master
[ci-url]: https://github.com/OpengramJS/arguments/actions/workflows/ci.yml
[npm-image]: https://img.shields.io/npm/v/@opengram/arguments.svg
[npm-url]: https://npmjs.com/package/@opengram/arguments
[downloads-image]: https://img.shields.io/npm/dm/@opengram/arguments.svg
[downloads-url]: https://npmjs.com/package/@opengram/arguments
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
[standard-url]: https://standardjs.com
npm package: @opengraphninja/react
Description: This library contains the code you need to generate nice-looking previews of stand-alone links in your React application.
Author: Kristofer Giltvedt Selbekk
Latest version: 0.2.2

# OpenGraph Ninja React

This library contains the code you need to generate nice-looking previews of stand-alone links in your React application.

Read more at [opengraph.ninja](https://opengraph.ninja)

## Usage

This package contains two things:

- a React component for previewing URLs
- a React hook for getting the preview data

### Setup

First, install the package.

```sh
$ npm install @opengraphninja/react
# or
$ yarn add @opengraphninja/react
```

### Using the React component

Using the React component is pretty easy:

```tsx
import "@opengraphninja/react/styles.css";
import { PreviewLink } from "@opengraphninja/react";

export const App = () => {
  return <PreviewLink href="https://opengraph.ninja" />;
};
```

### Using the React hook

If you want to design your own preview, you can use the React hook `usePreviewData`:

```tsx
import { usePreviewData } from "@opengraphninja/react";

type Props = { href: string };
export const SimplePreview = (props: Props) => {
  const previewData = usePreviewData(props.href);
  if (previewData.status !== "success") {
    return <p>Loading…</p>;
  }
  return (
    <div>
      <h2>{previewData.data.title}</h2>
      <p>{previewData.data.description}</p>
    </div>
  );
};
```

### Usage without React

If you're not using React, you can use the [@opengraphninja/sdk](https://github.com/opengraphninja/sdk) package instead!


## Releasing

To release a new version, push a branch and create a changeset

## Questions and feature requests?

If you have questions, bug reports or feature requests, please let us know in the issues.
npm package: @opengraphplus/tailwind
Description: TailwindCSS plugin for OpenGraph+
Author: opengraphplus
Latest version: 0.1.0

# OpenGraph+ Tailwind Plugin

[![npm version](https://img.shields.io/npm/v/@opengraphplus/tailwind.svg)](https://www.npmjs.com/package/@opengraphplus/tailwind)
[![Test](https://github.com/opengraphplus/tailwind/actions/workflows/test.yml/badge.svg)](https://github.com/opengraphplus/tailwind/actions/workflows/test.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

TailwindCSS v4 plugin that adds variants for styling elements specifically for OpenGraph image generation via [OpenGraph+](https://opengraphplus.com).

## Installation

```bash
npm install @opengraphplus/tailwind
```

## Usage

In your CSS file where you import TailwindCSS:

```css
@import "tailwindcss";
@plugin "@opengraphplus/tailwind";
```

Then use the `ogplus:` variant on any utility class:

```html
<!-- Hide elements in OpenGraph images -->
<nav class="ogplus:hidden">...</nav>

<!-- Show elements only in OpenGraph images -->
<div class="hidden ogplus:block">Special OG content</div>

<!-- Different styling for OG -->
<h1 class="text-2xl ogplus:text-4xl">Title</h1>
```

## Provider-Specific Variants

Target specific social platforms with provider variants:

```html
<!-- Different padding per provider -->
<div class="ogplus:p-8 ogplus-linkedin:p-12 ogplus-twitter:p-6">
  Content
</div>

<!-- Provider-specific backgrounds -->
<div class="ogplus:bg-slate-900 ogplus-twitter:bg-blue-500 ogplus-linkedin:bg-blue-700">
  Content
</div>
```

Available provider variants:
- `ogplus-linkedin:` - LinkedIn
- `ogplus-twitter:` - Twitter/X
- `ogplus-facebook:` - Facebook
- `ogplus-discord:` - Discord
- `ogplus-whatsapp:` - WhatsApp
- `ogplus-apple:` - Apple (iMessage, etc.)
- `ogplus-bluesky:` - Bluesky

## How It Works

This plugin adds custom variants that target the `data-ogplus` attribute on the `<html>` element. When OpenGraph+ renders your page for image generation, it adds this attribute:

```html
<!-- Base render -->
<html data-ogplus>

<!-- Provider-specific render -->
<html data-ogplus="twitter">
```

The generated CSS uses `:where()` selectors to match these attributes:

```css
/* ogplus:hidden generates */
:where([data-ogplus]) .ogplus\:hidden { display: none; }

/* ogplus-twitter:bg-blue-500 generates */
:where([data-ogplus="twitter"]) .ogplus-twitter\:bg-blue-500 { background-color: #3b82f6; }
```

## Plain CSS Usage

You can also use the data attributes directly in your CSS without Tailwind:

```css
/* Target all OpenGraph renders */
[data-ogplus] .nav,
[data-ogplus] .footer { display: none; }

[data-ogplus] .hero { padding: 60px; background: #0f172a; }

/* Target specific providers */
[data-ogplus="linkedin"] .hero { padding: 80px; }
[data-ogplus="twitter"] .hero { background: #1da1f2; }
```
npm package: @opengsn/truffle-flattener
Description: Truffle Flattener concats solidity files developed under Truffle with all of their dependencies
Author: Nomic Labs SRL
Latest version: 1.5.1

# truffle-flattener

[![npm](https://img.shields.io/npm/v/truffle-flattener.svg)](https://www.npmjs.com/package/truffle-flattener)

Truffle Flattener concats solidity files from Truffle and Buidler projects 
with all of their dependencies.

This tool helps you to verify contracts developed with Truffle and Buidler 
on [Etherscan](https://etherscan.io), or debugging them on
[Remix](https://remix.ethereum.org), by merging your files and their
dependencies in the right order.

If you are still using Truffle, we recommend you try [Buidler](https://github.com/nomiclabs/buidler), 
our Ethereum development environment, which is much faster and flexible.

# Installation

`npm install truffle-flattener -g`

# Usage

Just intall it with npm in your truffle project and run
`truffle-flattener <solidity-files>`.

# Limitations

Aliased imports (eg: `import {symbol1 as alias, symbol2} from "filename";`) are
not supported by `truffle-flattener`.
npm package: @opengsq/opengsq-node
Description: Node.js library designed for querying game servers.
Latest version: 0.0.2

# OpenGSQ Node Library

[![Node.js Build](https://github.com/opengsq/opengsq-node/actions/workflows/node-build.yml/badge.svg)](https://github.com/opengsq/opengsq-node/actions/workflows/node-build.yml)
![NPM Type Definitions](https://img.shields.io/npm/types/%40opengsq%2Fopengsq-node)
[![NPM Version](https://img.shields.io/npm/v/%40opengsq%2Fopengsq-node)](https://www.npmjs.com/package/@opengsq/opengsq-node)
![NPM Downloads](https://img.shields.io/npm/dw/%40opengsq%2Fopengsq-node)
![NPM Downloads](https://img.shields.io/npm/d18m/%40opengsq%2Fopengsq-node)
![Documentation](https://img.shields.io/badge/docs-typedoc-blue)
[![GitHub license](https://img.shields.io/github/license/opengsq/opengsq-node)](https://github.com/opengsq/opengsq-node/blob/main/LICENSE)

The OpenGSQ Node library provides a convenient way to query servers from applications written in the TypeScript language.

## Supported Protocols

The library supports a wide range of protocols. Here are some examples:

```ts
import * as opengsq from '@opengsq/opengsq-node';
```

## Installation

To install `@opengsq/opengsq-node`, run the following command in your project directory:

```sh
npm install -S @opengsq/opengsq-node
```

## Usage

Here’s an example of how to query a server using the Source protocol:

```ts
import * as opengsq from "@opengsq/opengsq-node";

async function main() {
    const source = new opengsq.Source({
        host: '91.216.250.10',
        port: 27015
    });

    const info = await source.getInfo();
    console.log("Info:", info);

    const players = await source.getPlayers();
    console.log("Players:", players);

    const rules = await source.getRules();
    console.log("Rules:", rules);
}

main();
```

## Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues.

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

## Stargazers over time

[![Stargazers over time](https://starchart.cc/opengsq/opengsq-node.svg?variant=adaptive)](https://starchart.cc/opengsq/opengsq-node)