open-index/open-npm huggingface dataset:
npm package: @silverlinkz/sl-gallery
Description: A web-component based hash-route photo gallery.
Author: Jsilvermist
Latest version: 2.3.2

Silverlinkz Photo Gallery
=========================

[![Build Status](https://travis-ci.org/jsilvermist/sl-gallery.svg?branch=master)](https://travis-ci.org/jsilvermist/sl-gallery)
[![Published on npm](https://img.shields.io/npm/v/@silverlinkz/sl-gallery.svg)](https://www.npmjs.com/package/@silverlinkz/sl-gallery)
[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/@silverlinkz/sl-gallery)

A web-component based hash-route photo gallery.

The gallery will load all `small` images for thumbnails in the grid.

When you open the fullscreen slideshow, it will display the small image
as a placeholder while loading the larger full-sized `src` image.

After the current image in the slideshow is loaded, the next and previous images
will be lazy-loaded so that they are immediately ready upon changing image.

Note: Fullscreen won't work in the demo at `webcomponents.org`
due to being inside of a fullscreen restricted iframe.

## Installation (Polymer 3)

```sh
npm install --save @silverlinkz/sl-gallery
```

### Legacy Installation (Polymer 2 / Bower)

```sh
bower install --save jsilvermist/sl-gallery#^1.0.0
```

## Usage

Import the gallery (Polymer 3):

```javascript
import '@silverlinkz/sl-gallery';
```

Legacy import (Polymer 2 / Bower):

```html
<link rel="import" href="bower_components/sl-gallery/sl-gallery.html">
```

Create an `sl-gallery` element, and add `sl-gallery-image` elements for each image:

<!--
```
<custom-element-demo>
  <template>
    <link rel="import" href="sl-gallery.html">
    <next-code-block></next-code-block>
  </template>
</custom-element-demo>
```
-->

```html
<sl-gallery>
  <sl-gallery-image
      src="https://unsplash.it/800/500/?image=257"
      small="https://unsplash.it/400/250/?image=257"
      title="Example Title 01">
  </sl-gallery-image>
  <sl-gallery-image
      src="https://unsplash.it/800/500/?image=250"
      small="https://unsplash.it/400/250/?image=250"
      title="Another Title 02">
  </sl-gallery-image>
  <sl-gallery-image
      src="https://unsplash.it/800/500/?image=399"
      small="https://unsplash.it/400/250/?image=399"
      title="Photo Title 03"
      caption="Ipsa ut distinctio aperiam quia delectus, illum voluptates non.">
  </sl-gallery-image>
  <sl-gallery-image
      src="https://unsplash.it/800/500/?image=146"
      small="https://unsplash.it/400/250/?image=146"
      title="Photo Title 04"
      caption="Necessitatibus tempora ea eius placeat. Sed culpa numquam voluptatibus possimus, eaque vel!">
  </sl-gallery-image>
</sl-gallery>
```

The `small` attribute is used for the thumbnail image and preloading the gallery slideshow image.
If the `small` attribute is missing, the gallery will use the `src` for the thumbnail image.

The `title`, `caption`, and `small` attributes are optional, and you can also set the `src` attribute dynamically.
npm package: @silvermine/apigateway-utils
Description: Utility functions for working with AWS API Gateway
Author: Jeremy Thomerson
Latest version: 0.12.2

# Silvermine API Gateway Utilities

[![Build Status](https://travis-ci.org/silvermine/apigateway-utils.svg?branch=master)](https://travis-ci.org/silvermine/apigateway-utils)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/apigateway-utils/badge.svg?branch=master)](https://coveralls.io/github/silvermine/apigateway-utils?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/apigateway-utils.svg)](https://david-dm.org/silvermine/apigateway-utils)
[![Dev Dependency Status](https://david-dm.org/silvermine/apigateway-utils/dev-status.svg)](https://david-dm.org/silvermine/apigateway-utils#info=devDependencies&view=table)


## What is it?

This is a collection of utility functions and classes that may be useful if you
are working with AWS API Gateway.


## How do I use it?

TODO: fill this in


## How do I contribute?

We genuinely appreciate external contributions. See [our extensive
documentation](https://github.com/silvermine/silvermine-info#contributing) on
how to contribute.


## License

This software is released under the MIT license. See [the license
file](LICENSE) for more details.
npm package: @silvermine/chai-strictly-equal
Description: Chai assertion library plugin to add `strictlyEqual` function and disable `equal`
Author: Jeremy Thomerson
Latest version: 1.1.1

# Silvermine Chai Strictly Equal Plugin

[![Build Status][github-actions-badge]][github-actions-url]
[![Coverage Status][coverage-badge]][coveralls-url]

## What is it?

A plugin for the [Chai Assertion Library](http://chaijs.com) that adds a `.strictlyEqual`
method, and disables the `.equal` method.

### Why?

Because the difference in `.eql` (deep equality) and `.equal` (strict equality) is way too
subtle. Chai provides `.deep` modifier that modifies `.equal` to be a deep equality check
(as if it were `.eql`), further complicating the matter. It would be nice if there were a
`.strictly` modifier so that you could do `.to.strictly.eql(foo)`, but that doesn't exist,
and would be more difficult to add. So, for any Silvermine codebases where we are using
`chai`, we will use this plugin and prohibit the use of `.equal`, replacing it with
`.strictlyEqual` to be more easily readable - especially for developers not familiar with
our codebase.


## How do I use it?

```js
var chai = require('chai');

chai.use(require('@silvermine/chai-strictly-equal'));
```

Or, if you are using TypeScript:

```typescript
import chai from 'chai';
import enableStrictlyEqual from '@silvermine/chai-strictly-equal';

chai.use(enableStrictlyEqual);
```

That's all there is to it. Then your `.equal` calls will throw an error, indicating that
you should replace them with `.eql` or `.strictlyEqual`.


## How do I contribute?

We genuinely appreciate external contributions. See [our extensive
documentation][contributing] on how to contribute.


## License

This software is released under the MIT license. See [the license file](LICENSE) for more
details.

[contributing]: https://github.com/silvermine/silvermine-info#contributing
[github-actions-badge]: https://github.com/silvermine/chai-strictly-equal/actions/workflows/ci.yml/badge.svg?branch=master
[github-actions-url]: https://github.com/silvermine/chai-strictly-equal/actions/workflows/ci.yml
[coverage-badge]: https://coveralls.io/repos/github/silvermine/chai-strictly-equal/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/silvermine/chai-strictly-equal?branch=master
npm package: @silvermine/cloudformation-custom-resources
Description: Collection of custom resources for CloudFormation that anyone can use.
Author: Jeremy Thomerson
Latest version: 1.1.0

# Silvermine CloudFormation Custom Resources

[![Build Status](https://travis-ci.org/silvermine/cloudformation-custom-resources.svg?branch=master)](https://travis-ci.org/silvermine/cloudformation-custom-resources)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/cloudformation-custom-resources/badge.svg?branch=master)](https://coveralls.io/github/silvermine/cloudformation-custom-resources?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/cloudformation-custom-resources.svg)](https://david-dm.org/silvermine/cloudformation-custom-resources)
[![Dev Dependency Status](https://david-dm.org/silvermine/cloudformation-custom-resources/dev-status.svg)](https://david-dm.org/silvermine/cloudformation-custom-resources#info=devDependencies&view=table)


## What is it?

A collection of custom resources that we find useful for our CloudFormation
stacks - supporting things that CloudFormation doesn't natively provide.


## How do I use it?

TODO: fill this in


## How do I contribute?

We genuinely appreciate external contributions. See [our extensive
documentation][contributing] on how to contribute.


## License

This software is released under the MIT license. See [the license file](LICENSE)
for more details.

[contributing]: https://github.com/silvermine/silvermine-info#contributing
npm package: @silvermine/fsaba
Description: [![NPM Version](https://img.shields.io/npm/v/@silvermine/fsaba.svg)](https://www.npmjs.com/package/@silvermine/fsaba) [![License](https://img.shields.io/github/license/silvermine/fsaba.svg)](./LICENSE) [![Build Status](https://travis-ci.com/silvermine/fsa
Author: Jeremy Thomerson
Latest version: 1.0.0

# fsaba

[![NPM Version](https://img.shields.io/npm/v/@silvermine/fsaba.svg)](https://www.npmjs.com/package/@silvermine/fsaba)
[![License](https://img.shields.io/github/license/silvermine/fsaba.svg)](./LICENSE)
[![Build Status](https://travis-ci.com/silvermine/fsaba.svg?branch=master)](https://travis-ci.com/silvermine/fsaba)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/fsaba/badge.svg?branch=master)](https://coveralls.io/github/silvermine/fsaba?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/fsaba.svg)](https://david-dm.org/silvermine/fsaba)
[![Dev Dependency Status](https://david-dm.org/silvermine/fsaba/dev-status.svg)](https://david-dm.org/silvermine/fsaba#info=devDependencies&view=table)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

## What?

## Why?

## License

This software is released under the MIT license. See [the license
file](LICENSE) for more details.
npm package: @silvermine/postcss-css-var-fallback
Description: PostCSS plugin to insert fallbacks for CSS vars
Author: Kevin Muncie
Latest version: 1.0.0-rc.1

# PostCSS CSS Var Fallback

[![NPM Version](https://img.shields.io/npm/v/@silvermine/postcss-css-var-fallback.svg)](https://www.npmjs.com/package/@silvermine/postcss-css-var-fallback)
[![License](https://img.shields.io/github/license/silvermine/postcss-css-var-fallback.svg)](./LICENSE)
[![Build Status](https://travis-ci.com/silvermine/postcss-css-var-fallback.svg?branch=main)](https://travis-ci.com/silvermine/postcss-css-var-fallback)
[![Coverage Status](https://api.travis-ci.com/silvermine/postcss-css-var-fallback.svg?branch=main)](https://coveralls.io/github/silvermine/postcss-css-var-fallback?branch=main)
[![Dependency Status](https://david-dm.org/silvermine/postcss-css-var-fallback.svg)](https://david-dm.org/silvermine/postcss-css-var-fallback)
[![Dev Dependency Status](https://david-dm.org/silvermine/postcss-css-var-fallback/dev-status.svg)](https://david-dm.org/silvermine/postcss-css-var-fallback#info=devDependencies&view=table)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

[PostCSS] plugin to insert fallbacks for CSS vars.

[PostCSS]: https://github.com/postcss/postcss

```css
.foo {
   /* Input example */
   color: var(--color, #4a6da7);
}
```

```css
.foo {
   /* Output example */
   color: #4a6da7;
   color: var(--color, #4a6da7);
}
```

## Usage

**Step 1:** Install plugin:

```sh
npm install --save-dev postcss @silvermine/postcss-css-var-fallback
```

**Step 2:** Check you project for existed PostCSS config: `postcss.config.js`
in the project root, `"postcss"` section in `package.json`
or `postcss` in bundle config.

If you do not use PostCSS, add it according to [official docs]
and set this plugin in settings.

**Step 3:** Add the plugin to plugins list:

```diff
module.exports = {
  plugins: [
+   require('@silvermine/postcss-css-var-fallback'),
    require('autoprefixer')
  ]
}
```

[official docs]: https://github.com/postcss/postcss#usage
npm package: @silvermine/sass-lint-config
Description: SASS Code Standards for all SilverMine projects - sass-lint enforcement
Author: Jeremy Thomerson
Latest version: 1.1.0

# Silvermine SASS Lint Rules

[![Dependency Status](https://david-dm.org/silvermine/eslint-config-silvermine.svg)](https://david-dm.org/silvermine/eslint-config-silvermine)
[![Dev Dependency Status](https://david-dm.org/silvermine/eslint-config-silvermine/dev-status.svg)](https://david-dm.org/silvermine/eslint-config-silvermine#info=devDependencies&view=table)


## What?

Shareable [SASS SLint](https://github.com/sasstools/sass-lint) configuration for all Silvermine projects.


## Why?

Because we need it. Whitespace errors are evil. As are the other hundreds of
types of errors this protects us from.


## License

This software is released under the MIT license. See [the license
file](LICENSE) for more details.
npm package: @silvermine/serverless-plugin-harden-s3-buckets
Description: Plugin for the SLS 1.x branch to automatically add some hardening features to all S3 buckets in a stack
Author: Jeremy Thomerson
Latest version: 1.0.0

# Serverless Plugin: Harden S3 Buckets

[![Build Status](https://travis-ci.org/silvermine/serverless-plugin-harden-s3-buckets.svg?branch=master)](https://travis-ci.org/silvermine/serverless-plugin-harden-s3-buckets)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/serverless-plugin-harden-s3-buckets/badge.svg?branch=master)](https://coveralls.io/github/silvermine/serverless-plugin-harden-s3-buckets?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/serverless-plugin-harden-s3-buckets.svg)](https://david-dm.org/silvermine/serverless-plugin-harden-s3-buckets)
[![Dev Dependency Status](https://david-dm.org/silvermine/serverless-plugin-harden-s3-buckets/dev-status.svg)](https://david-dm.org/silvermine/serverless-plugin-harden-s3-buckets#info=devDependencies&view=table)


## What is it?

This is a plugin for the Serverless framework that automatically adds some hardening
features to S3 buckets in your stack. This removes copy and paste overhead and reduces the
opportunity for developers to forget crucial security settings for a bucket.

## How do I use it?

There are two steps:

### Install the Plugin as a Development Dependency

```bash
npm install --save-dev --save-exact @silvermine/serverless-plugin-harden-s3-buckets
```

### Telling Serverless to Use the Plugin

Simply add this plugin to the list of plugins in your `serverless.yml` file:

```yml
plugins:
   - '@silvermine/serverless-plugin-harden-s3-buckets'
```

### What Will the Plugin Do?

At this time, all it does is add the following block to every one of the S3 buckets in
your stack:

```yml
PublicAccessBlockConfiguration:
   BlockPublicAcls: true
   BlockPublicPolicy: true
   IgnorePublicAcls: true
   RestrictPublicBuckets: true
```

### What if I Want Some of Those Settings `false`?

This plugin will only add the ones that are missing, so go ahead and define them in your
bucket's resource properties as you normally would.


## How do I contribute?

We genuinely appreciate external contributions. See [our extensive
documentation][contributing] on how to contribute.


## License

This software is released under the MIT license. See [the license file](LICENSE) for more
details.


[contributing]: https://github.com/silvermine/silvermine-info#contributing
npm package: @silvermine/toolbox
Description: A library of common TypeScript types, custom type guards, and utility functions.
Author: Matt Luedke
Latest version: 0.7.0

# Silvermine Toolbox - TypeScript Types and Utilities

<p align="center">
   <img width="300"
    height="300"
    src="https://raw.github.com/silvermine/toolbox/master/src/logo/toolbox.png"
    alt="Tools such as a protractor, calculator, pencil, and a pen inside a shirt pocket."
   >
</p>

[![NPM Version](https://img.shields.io/npm/v/@silvermine/toolbox.svg)](https://www.npmjs.com/package/@silvermine/toolbox)
[![License](https://img.shields.io/github/license/silvermine/toolbox.svg)](./LICENSE)
[![Build Status](https://travis-ci.com/silvermine/toolbox.svg?branch=master)](https://travis-ci.com/silvermine/toolbox)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/toolbox/badge.svg?branch=master)](https://coveralls.io/github/silvermine/toolbox?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/toolbox.svg)](https://david-dm.org/silvermine/toolbox)
[![Dev Dependency Status](https://david-dm.org/silvermine/toolbox/dev-status.svg)](https://david-dm.org/silvermine/toolbox#info=devDependencies&view=table)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

## What?

A collection of common types, [type guards][type-guards], and utilities for our TypeScript
codebases.


## Why?

We found that in many TypeScript projects we needed some of the same basic constructs,
e.g. an object that had string keys and string values. These types are easy enough to
define in each project (e.g. `{ [k: string]: string }`), but then you might need a type
guard, too. And if you need a type guard, you need unit tests for that type guard. So, we
collect frequently-used types in this repo, and use this project in our other projects.

While we wanted to focus primarily on types, and we don't want this to become the "junk
drawer" of every tool we ever need, there was also the need for a few helper / utility
functions in our codebases. For example, in some codebases we don't want to use Underscore
or lodash because we only need one or two functions and can't afford the extra bloat of a
full-blown library comprised of mostly things we don't need; those functions will be
implemented in this toolbox. _This codebase is not a replacement for Underscore or
lodash_; it's primarily a collection of types and type guards, with a few additional
utilities sprinkled in.

More details about the specific types and utilities will be included at a later time when
we get a doc-build system integrated.


## License

This software is released under the MIT license. See [the license file](LICENSE) for more
details.


[type-guards]: https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types
npm package: @silvermine/typescript-config
Description: A set of TypeScript configuration files for all our Silvermine projects
Author: Jeremy Thomerson
Latest version: 1.1.0

# Silvermine TypeScript Configuration

[![NPM Version][npm-version]][npm-version-url]
[![License][license-badge]](./LICENSE)
[![Build Status][build-status]][build-status-url]
![Conventional Commits][conventional-commits-url]

## What?

Shareable [TypeScript configuration][tsconfig-url]
files for all Silvermine projects.

## Why?

The TypeScript compiler has [many options][compiler-options-url]
that affect everything from the constructs that are allowed in a project's
TypeScript code to the format of the JavaScript that the compiler outputs.
Storing this configuration in a single place helps ensure our settings are
consistent across projects.

## License

This software is released under the MIT license. See [the license
file](LICENSE) for more details.

[npm-version]: https://img.shields.io/npm/v/@silvermine/typescript-config.svg
[npm-version-url]: https://www.npmjs.com/package/@silvermine/typescript-config
[license-badge]: https://img.shields.io/github/license/silvermine/typescript-config.svg
[build-status]: https://github.com/silvermine/typescript-config/actions/workflows/ci.yml/badge.svg
[build-status-url]: https://travis-ci.org/silvermine/typescript-config.svg?branch=master
[conventional-commits-url]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg
[tsconfig-url]: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
[compiler-options-url]: https://www.typescriptlang.org/docs/handbook/compiler-options.html
npm package: @silvermine/undertemplate
Description: Replacement for _.template (underscore or lodash) without unsafe evals.
Author: Jeremy Thomerson
Latest version: 1.0.2

# Silvermine UnderTemplate

[![Build Status](https://travis-ci.org/silvermine/undertemplate.svg?branch=master)](https://travis-ci.org/silvermine/undertemplate)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/undertemplate/badge.svg?branch=master)](https://coveralls.io/github/silvermine/undertemplate?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/undertemplate.svg)](https://david-dm.org/silvermine/undertemplate)
[![Dev Dependency Status](https://david-dm.org/silvermine/undertemplate/dev-status.svg)](https://david-dm.org/silvermine/undertemplate#info=devDependencies&view=table)


## What is it?

A simple replacement for `_.template` from either [Underscore][utmpl] or [Lodash][ltmpl]
that removes the features that make those libraries incompatible with Content Security
Policy (CSP). Specifically, this implementation supports only interpolation (escaped and
unescaped) and does not support JS evaluation.


## How do I use it?

Just like you would have used `_.template`:

```
var makeTemplate = require('@silvermine/undertemplate'),
    template = makeTemplate('Hello <%= name %>');

console.log(template({ name: 'John Smith' }));
```

Of course, we only support:

   * `<%= … %>`: interpolate a value
   * `<%- … %>`: interpolate and HTML escape a value

The following are **NOT** supported:

   * `<% … %>`: JS evaluation
   * `<% print('Hello ' + epithet); %>`: JS evaluation with the `print` function


## A Couple Notes

Templating in Underscore/Lodash was operating by building up a JS function as a string.
This meant that if your template referred to a variable that did not exist, you would get
a JS error thrown. In this library, however, undefined variables in the template will
result in an empty string being placed in that location.

We rely on Lodash to provide a number of convenience functions that would require
polyfills to support a wide array of browsers. To help reduce bloat, we do two things:

   1. Rely on a fairly loose version of Lodash: `4.x`, meaning that if you already have it
      as a dependency, we'll use your version.
   2. Only `require('lodash/foo')` for each `foo` function we need. This helps if you're
      using UnderTemplate in a browserify-style environment since only the files from
      Lodash that are actually needed will be included in your bundle.


## How do I contribute?

We genuinely appreciate external contributions. See [our extensive
documentation][contributing] on how to contribute.


## License

This software is released under the MIT license. See [the license file](LICENSE) for more
details.

[contributing]: https://github.com/silvermine/silvermine-info#contributing
[utmpl]: http://underscorejs.org/#template
[ltmpl]: https://lodash.com/docs/#template