open-index/open-npm huggingface dataset:
npm package: @gregalexsmith/components
Description: React component library
Latest version: 1.1.5

![npm (scoped)](https://img.shields.io/npm/v/@gregalexsmith/components)

# Components

React Component library using [tailwindcss](https://tailwindcss.com/).

Storybook: https://dev-tools-components.netlify.app/

## Getting started

1. Dependancies:
[Setup your project with Tailwind](https://tailwindcss.com/docs/installation)

1. Install:
```shell
npm i @gregalexsmith/components
```
3. Update the project's `tailwind.config.js`:
```js
/** @type {import('tailwindcss').Config} */
module.exports = {
  presets: [
    require('@gregalexsmith/components/tailwind.config')
  ],
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
    'node_modules/@gregalexsmith/components/**/*.{ts,tsx}'
  ],
  theme: {
    extend: {},
  },
}
```

## References:
- https://tailwindcss.com/
- https://flowbite.com/
npm package: @gregchamberlain/observable-cache
Description: A simple cache implementation that allows for subscribing to value changes.
Latest version: 0.5.2

# ObservableCache · [![Build](https://gitlab.com/gregchamberlain/observable-cache/badges/master/pipeline.svg)](https://gitlab.com/gregchamberlain/observable-cache/pipelines?scope=branches) [![NPM](https://img.shields.io/npm/v/@gregchamberlain/observable-cache.svg)](https://www.npmjs.com/package/@gregchamberlain/observable-cache) [![Minified Size](https://badgen.net/bundlephobia/min/@gregchamberlain/observable-cache)](https://bundlephobia.com/result?p=@gregchamberlain/observable-cache) [![Minified Gzip Size](https://badgen.net/bundlephobia/minzip/@gregchamberlain/observable-cache)](https://bundlephobia.com/result?p=@gregchamberlain/observable-cache)

A simple cache implementation that allows for subscribing to value changes.

# Installation

```
npm install @gregchamberlain/observable-cache
```

or

```
yarn install @gregchamberlain/observable-cache
```

# Usage

```ts
import ObservableCache from '@gregchamberlain/observable-cache';

const cache: ObservableCache<string, string> = new ObservableCache();

let observable = cache.watch('someKey');
let subscription = observable.subscribe({
  next: (value) => console.log('Next:', value),
  complete: () => console.log('Complete'),
});
// --- Console log ---

cache.set('someKey', 'first value');
// --- Console Log ---
// Next: first value

subscription.unsubscribe();

cache.set('someKey', 'second value');
// --- Console log ---

observable = cache.watch('someKey');
subscription = observable.subscribe({
  next: (value) => console.log('Next:', value),
  complete: () => console.log('Complete'),
});
// --- Console log ---
// Next: second value

cache.delete('someKey');
// --- Console Log ---
// Complete

cache.set('someKey', 'second value');
// --- Console Log ---
```

# API

```ts
import { Observable } from 'rxjs';

interface ObservableCache<K, V> {
  /**
   * Returns whether a value exists for the given key.
   */
  has(key: K): boolean;

  /**
   * Gets the value for the given key, or undefined if none exists.
   */
  get(key: K): V | undefined;

  /**
   * Sets the given value for the given key. This will invoke the 'next'
   * callback of all observers of that key.
   */
  set(key: K, value: V): this;

  /**
   * Deletes any value for the given key and returns whether a value existed
   * before deletion. This will invoke the 'complete' callback of all observers
   * of that key.
   */
  delete(key: K): boolean;

  /**
   * Returns an observer that watches the value of the given key. If a value
   * exists when the observer is subscribed to the 'next' callback will be
   * invoked immediately with the existing value.
   */
  watch(key: K): Observable<V>;
}
```
npm package: @gregermendle/winf
Description: Get window information in OSX and Windows
Author: Gregory Jordan
Latest version: 0.3.1

# Window Info

Get basic info about windows on OSX and Windows.

## API

Get a list of all windows open on the system.
```tsx
listWindows(): Array<Window>
```

Get the position and dimensions of a window.
```tsx
windowRect(window: Window): Rect
```

Get the title of a window, otherwise `null`.
```tsx
windowTitle(window: Window): string | null
```

Determine if a window is full screen.
```tsx
isWindowFullScreen(window: Window): boolean
```