open-index/open-npm huggingface dataset:
npm package: @space-designsystem/space-icons
Description: This package holds icons for space design system.
Author: Saket Kumar
Latest version: 1.0.0

## How to use these icons in your projects ?

### INSTALLATION

```
npm install @space-designsystem/space-icons
```

### IMPORT

```
import { airplay, anchor, arrowDown } from '@space-designsystem/space-icons;
```

And use it as normal react components.
npm package: @space-kit/hat
Description: A light set of helpers for updating title and favicons dynamically.
Author: Ashik Meerankutty
Latest version: 1.0.2

# HAT
A light set of helpers for updating title and favicons dynamically.

## Examples
See examples [here](https://ashikmeerankutty.github.io/hat)

## Installation

    npm i @space-kit/hat

## Helpers

### Add a count in title

```javascript
import { setTitleCount } from '@space-kit/hat';

setTitleCount(10) // updates title as `(10) your title text`  
```

### Add a counter to title

```javascript
import { titleCounter } from '@space-kit/hat';

const increment = titleCounter(0, 'Hello');

increment() // updates title as `(1) your title text`  
```

### Add a rolling title

```javascript
import { rollingTitle } from '@space-kit/hat';

rollingTitle('A very long text') // start a rolling title 
```

### Update favicon with an svg

Updates favicon with an svg.

```javascript
import { svgFavicon } from '@space-kit/hat';

const svgLogo = '<svg>yoursvg</svg>`;

svgFavicon(svgLogo); // set svg icon as favicon
```

### Update favicon with an svg

Replaces `{{count}}` in an svg with a dynamic counter value, Suitable for chat apps to show unread messages inside favicon.

```javascript
import { svgFavicon } from '@space-kit/hat';

/**
 * Replace {{count}} with counter value
*/
const svgLogo = '<svg>{{count}}</svg>';

const incrementFavicon = svgFaviconCounter(svgString);

incrementFavicon(); // increments count inside favicon
```

## Development
### Build
    npm run build
### Test
    npm run test
### Release
    npm publish
npm package: @space-kit/portal
Description: Spacekit portal component
Author: Shamin
Latest version: 0.1.0-alpha.1

# @space-kit/portal
Spacekit portal component

## Installation
```sh
npm install --save @space-kit/portal
```

## Usage
Detailed docs and example usage can be found [here](https://space-kit.surge.sh/components/portal/).
npm package: @space-kit/redis-realtime-node
Description: Nodejs sdk for implementing redis realtime
Latest version: 0.0.2

# redis-realtime-node

Redis realtime nodejs sdk

## Installation

```sh
npm i @space-kit/redis-realtime-node
```

## Usage

```js
const http = require('http')
const { default: redisRealtime } = require('@space-kit/redis-realtime-node')

// app can be an instance of your express application
const server = http.createServer(app)
redisRealtime(server, 'redis://localhost:6379', 'dbName')
```
npm package: @space-kit/redis-realtime-react
Description: Client for implementing redis realtime
Latest version: 0.0.1

# redis-realtime-react

Redis realtime react client

## Installation

```sh
npm install @space-kit/redis-realtime-react
```

## Usage

### Provider

Add the `RealtimeProvider` to the top level with db name and base url.

```jsx
import React from 'react'
import { RealtimeProvider } from '@space-kit/redis-realtime-react'
import App from './app'

function Root() {
  return (
    <Container>
      <RealtimeProvider baseUrl="localhost:5000" db="todos" secure={false}>
        <App />
      </RealtimeProvider>
    </Container>
  )
}
```

| Props     | Description                                                        | Default |
| --------- | ------------------------------------------------------------------ | ------- |
| `baseUrl` | Base url of the domain where backend is hosted (without protocols) | nil     |
| `db`      | Database name that is to be connected                              | nil     |
| `secure`  | Whether the web socket connection is secure                        | true    |

### Hooks

#### useRealtime

```jsx
import React from 'react'
import { useRealtime } from '@space-kit/redis-realtime-react'

function App() {
  const { publisher, subscribe } = useRealtime()
  const { setDb } = publisher('text')
  const textValue = subscribe('text')

  const onChange = (e) => {
    setDb(e.target.value)
  }

  return (
    <input value={textValue} placeholder="Type something here" onChange={onChange} />
  )
}
```

| Parameters  | Description                         |
| ----------- | ----------------------------------- |
| `publisher` | Create a publish for a key in db    |
| `subscribe` | Create a subscriber for a key in db |

##### `Publisher` Parameters

| Parameters | Description                                                     |
| ---------- | --------------------------------------------------------------- |
| `setDb`    | Similar to set json in redis it sets the value of publisher key |

##### `Subscriber` Parameters

| Parameters  | Description                       |
| ----------- | --------------------------------- |
| `data`      | Value of the key in redis db      |
| `isLoading` | Whether the value is being loaded |
npm package: @space-labs/re-crypt
Description: Secure Hash Algorithms for ReasonML
Author: Torben Ewert
Latest version: 1.4.0
Deprecated: Package was moved to rescript-hash (https://www.npmjs.com/package/rescript-hash)

# What is it?

Hashing Algorithms implemented in ReasonML based on:

- [RFC 1321](https://tools.ietf.org/html/rfc1321)
- [FIPS180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf)

# The following algorithms are currently supported

- [x] MD5
- [x] SHA-1
- [x] SHA-224
- [x] SHA-256
- [x] SHA-384
- [x] SHA-512

# How do I install it?

```
yarn add @space-labs/re-crypt
```

or

```
npm install @space-labs/re-crypt --save
```

Then add `@space-labs/re-crypt` as a dependency to `bsconfig.json`:

```diff
"bs-dependencies": [
+  "@space-labs/re-crypt"
]
```

# How do I use it?

### MD5

```reason
let hash = ReCrypt.MD5.make("unicorn");
/* 1abcb33beeb811dca15f0ac3e47b88d9 */
```

### SHA-1

```reason
let hash = ReCrypt.Sha1.make("unicorn");
/* 84de6753b298abd027fcd1d790eade2413eafb5a */
```

### SHA-224

```reason
let hash = ReCrypt.Sha224.make("unicorn");
/* 983d515094574856a57db3a13741f0a65509bb640bfa551e78fa01d9 */
```

### SHA-256

```reason
let hash = ReCrypt.Sha256.make("unicorn");
/* c6cb50e7eea0df1fd3eaf52ada2358f5423afd7c0b5ee2395231a9b3208ffcaf */
```

### SHA-384

```reason
let hash = ReCrypt.Sha384.make("unicorn");
/* de41efa2be0844783ea107630a79246fb1f7b3ab97b35c5e4b70130804f876f64b645c1064a775507a7ac3be457539f2 */
```

### SHA-512

```reason
let hash = ReCrypt.Sha512.make("unicorn");
/* e233b19aabc7d5e53826fb734d1222f1f0444c3a3fc67ff4af370a66e7cadd2cb24009f1bc86f0bed12ca5fcb226145ad10fc5f650f6ef0959f8aadc5a594b27 */
```