open-index/open-npm huggingface dataset:
npm package: @noticeable/chart.js
Description: Simple HTML5 charts using the canvas element.
Latest version: 2.9.3-esm.1

<p align="center">
    <img src="https://www.chartjs.org/media/logo-title.svg"><br/>
    Simple yet flexible JavaScript charting for designers & developers
</p>

<p align="center">
    <a href="https://www.chartjs.org/docs/latest/getting-started/installation.html"><img src="https://img.shields.io/github/release/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Downloads"></a>
    <a href="https://travis-ci.org/chartjs/Chart.js"><img src="https://img.shields.io/travis/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Builds"></a>
    <a href="https://coveralls.io/github/chartjs/Chart.js?branch=master"><img src="https://img.shields.io/coveralls/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Coverage"></a>
    <a href="https://github.com/chartjs/awesome"><img src="https://awesome.re/badge-flat2.svg" alt="Awesome"></a>
    <a href="https://chartjs-slack.herokuapp.com/"><img src="https://img.shields.io/badge/slack-chartjs-blue.svg?style=flat-square&maxAge=3600" alt="Slack"></a>
</p>

## Documentation

- [Introduction](https://www.chartjs.org/docs/latest/)
- [Getting Started](https://www.chartjs.org/docs/latest/getting-started/)
- [General](https://www.chartjs.org/docs/latest/general/)
- [Configuration](https://www.chartjs.org/docs/latest/configuration/)
- [Charts](https://www.chartjs.org/docs/latest/charts/)
- [Axes](https://www.chartjs.org/docs/latest/axes/)
- [Developers](https://www.chartjs.org/docs/latest/developers/)
- [Popular Extensions](https://github.com/chartjs/awesome)
- [Samples](https://www.chartjs.org/samples/)

## Contributing

Instructions on building and testing Chart.js can be found in [the documentation](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md#building-and-testing). Before submitting an issue or a pull request, please take a moment to look over the [contributing guidelines](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md) first. For support, please post questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/chartjs) with the `chartjs` tag.

## License

Chart.js is available under the [MIT license](https://opensource.org/licenses/MIT).
npm package: @noticeable/fulect
Description: Simple utility functions to wait for all promises, all fulfilled promise values or all rejected promise reasons.
Author: Laurent Pellegrino
Latest version: 1.0.1

# fulect
Simple utility functions to wait for all promises, all fulfilled promises or all rejected promises.

## Installation

```
npm install @noticeable/fulect
```

## Usage

Given the following context:

```javascript
const fulect = require('@noticeable/fulect');

const p1 = Promise.resolve(1);
const p2 = Promise.reject(2);
const p3 = Promise.reject(3);
const p4 = Promise.resolve(4);
```

You can return a promise that is fulfilled with an array of promises, but only after all the original promises have settled, i.e. become either fulfilled or rejected:

```javascript
fulect.allSettled([p1, p2, p3, p4])
    .then(value => {
        // value is [
        //     {state: fulect.fulfilled(), value: 1},
        //     {state: fulect.rejected(), reason: 2},
        //     {state: fulect.rejected(), reason: 3},
        //     {state: fulect.fulfilled(), value: 4},
        // ]
    })
```

or, return a promise that is fulfilled with an array of promises, but only after all the original promises that should fulfill are fulfilled (rejected promise reasons are discarded):

```javascript
fulect.allFulfilled([p1, p2, p3, p4])
    .then(value => {
        // value is [1,4]
    })
```

or, return a promise that is fulfilled with an array of promises, but only after all the original promises that should reject are rejected (fulfilled promise values are discarded):

```javascript
fulect.allRejected([p1, p2, p3, p4])
    .then(value => {
        // value is [2,3]
    })
```

## Tests

  `npm test`

## Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
npm package: @noticeable/remove-markdown
Description: Remove Markdown formatting from text
Author: Stian Grytøyr
Latest version: 0.2.2

[![CircleCI](https://circleci.com/gh/stiang/remove-markdown.svg?style=svg&circle-token=cac2feef7dc90e6b8578aec361be369412be1c6a)](https://circleci.com/gh/stiang/remove-markdown)

## What is it?
**remove-markdown** is a node.js module that will remove (strip) Markdown formatting from text.
*Markdown formatting* means pretty much anything that doesn’t look like regular text, like square brackets, asterisks etc.

## When do I need it?
The typical use case is to display an excerpt from some Markdown text, without any of the actual Markdown syntax - for example in a list of posts.

## Installation

```
npm install remove-markdown
```

## Usage
```js
const removeMd = require('remove-markdown');
const markdown = '# This is a heading\n\nThis is a paragraph with [a link](http://www.disney.com/) in it.';
const plainText = removeMd(markdown); // plainText is now 'This is a heading\n\nThis is a paragraph with a link in it.'
```

You can also supply an options object to the function. Currently, the following options are supported:

```js
const plainText = removeMd(markdown, {
  stripListLeaders: true , // strip list leaders (default: true)
  listUnicodeChar: '',     // char to insert instead of stripped list leaders (default: '')
  gfm: true                // support GitHub-Flavored Markdown (default: true)
});
```

Setting `stripListLeaders` to false will retain any list characters (`*, -, +, (digit).`).

## TODO
PRs are very much welcome. Here are some ideas for future enhancements:

* Allow the RegEx expressions to be customized per rule
* Make the rules more robust, support more edge cases
* Add more (comprehensive) tests

## Credits
The code is based on [Markdown Service Tools - Strip Markdown](http://brettterpstra.com/2013/10/18/a-markdown-service-to-strip-markdown/) by Brett Terpstra.

## Author
Stian Grytøyr
npm package: @noticia-systems/ngx-json-config
Description: Angular Json Config
Author: Noticia Systems
Latest version: 1.0.4

[![Node.js Package](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/npm-publish.yml) [![Node.js CI](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/node.js.yml/badge.svg?branch=master)](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/node.js.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![CodeQL](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Noticia-Systems/ngx-json-config/actions/workflows/codeql-analysis.yml)

ngx-json-config allows for loading of json config files on Angular startup for dynamic configurations that are not included during compile time (like environment vars).

## Installation

``npm install @noticia-systems/ngx-json-config``

## Usage

Define one or more config interfaces:

```typescript
export interface AppConfig {
    exampleApiUrl: string;
    exampleApiKey: string;
    
    ...
}
```

Create an ``InjectionToken`` (e.g. in the ``AppModule`` or the interface file) for the defined config interfaces:

```typescript
export const APP_CONFIG = new InjectionToken<AppConfig>('AppConfig');
```

Configure the module for the config usage:

```typescript
@NgModule({
  providers: [
    // include the JsonConfigService 
    JsonConfigService,
    
    // load the configs in the APP_INITIALIZER
    {
      provide: APP_INITIALIZER,
      useFactory: (jsonConfigService: JsonConfigService) => () => jsonConfigService.load$([
        {
          identifier: APP_CONFIG,
          url: '/assets/app-config.json'
        }
      ]),
      deps: [JsonConfigService],
      multi: true
    },
    
    // create provider to inject the config into classes.
    {
      provide: APP_CONFIG,
      useFactory: (jsonConfigService: JsonConfigService) => jsonConfigService.get(APP_CONFIG),
      deps: [JsonConfigService]
    }
  ]
  ...
})
export class AppModule {
}
```

Inject the configs into classes:

```typescript
export class TestService {
  constructor(@Inject(APP_CONFIG) public appConfig: AppConfig) {}
}
```
npm package: @noticia-systems/ngx-material-tree-extensions
Description: Angular Material Tree Extensions
Author: Noticia Systems
Latest version: 1.0.3

[![Node.js Package](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/npm-publish.yml) [![Node.js CI](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/node.js.yml/badge.svg?branch=master)](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/node.js.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![CodeQL](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Noticia-Systems/ngx-material-tree-extensions/actions/workflows/codeql-analysis.yml)

ngx-material-tree-extensions adds a service wrapper for Material trees and provides several useful extension methods for
manipulating the trees.

This package is used for flat Material trees, as they are generally more simple to work with and provide additional
information (like the current level).

## Installation

``npm install @noticia-systems/ngx-material-tree-extensions``

## Usage

Define an interface representing a single node that shall be displayed in your tree:

```typescript
export interface DemoNode extends ITreeNode<DemoNode> {
  name: string;
}
```

Your node has to extend ```ITreeNode<TTreeNode>```!

In your component displaying the tree inject the ```TreeNodeService<TTreeNode>```:

```typescript
constructor(public treeNodeService: TreeNodeService<DemoNode>)
{
}
```

You can set the initial data of the tree by setting the data property:

```typescript
treeNodeService.data = demoNodes;
```

Where ```demoNodes``` is an array of ``DemoNode``.

For simplicity an observable of the data is available:

```typescript
treeNodeService.data$
```

Within the template of your component, the following allows for correct use of the ``TreeNodeService<TTreeNode>``:

```angular2html

<mat-tree [dataSource]="treeNodeService.dataSource" [treeControl]="treeNodeService.treeControl">
  <mat-tree-node *matTreeNodeDef="let flatNode">
    ...
  </mat-tree-node>
</mat-tree>
```

``flatNode.node`` allows accessing the underlying ``DemoNode``. ``flatNode.level`` and ``flatNode.expandable`` indicate the current depth of the tree node and the existence of children on the node respectively.

``TreeNodeService<TTreeNode>`` provides several methods for manipulating and retrieving information about the tree. Please refer to the [wiki](https://github.com/Noticia-Systems/ngx-material-tree-extensions/wiki) for more documentation about these methods.
npm package: @noticia-systems/ngx-templated-text
Description: Replaces placeholders using predefined templates within a text.
Author: Noticia Systems
Latest version: 1.0.1

[![Node.js Package](https://github.com/Noticia-Systems/ngx-templated-text/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/Noticia-Systems/ngx-templated-text/actions/workflows/npm-publish.yml) [![Node.js CI](https://github.com/Noticia-Systems/ngx-templated-text/actions/workflows/node.js.yml/badge.svg?branch=master)](https://github.com/Noticia-Systems/ngx-templated-text/actions/workflows/node.js.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

ngx-templated-text allows for simple replacement of placeholders in a text with given templates.

## Installation

``npm install @noticia-systems/ngx-templated-text``

## Usage

```angular2html
<ng-container *templatedText="'Click {here} or {maybe-here} for magic to happen.'">
  <a *textTemplate="'here'" href="#">here</a>
  <a *textTemplate="'maybe-here'" href="#">maybe here</a>
</ng-container>
```
This will render the text passed to `*templatedText` with the anchor templates.

For technical reasons the generated output will be: 
```angular2html
<text>Click </text><a href="#">here</a><text> or </text><a href="#">maybe here</a><text>for magic to happen.</text>
```
, but it will mostly behave just like:

```angular2html
Click <a href="#">here</a> or <a href="#">maybe here</a> for magic to happen.
```

This workflow is especially useful when using translation packages like `ngx-translate`.

A practical example would be to display a checkbox and its associated label within a form for accepting the terms and privacy policy. For better UX an anchor to the terms and privacy policy would be desirable.  

Instead of having to add html code to the translation file, we can now prepare templates we can maintain from within the components. We could implement the following workflow using `ngx-translate`:

#### en.json
```json
{
  "terms": "terms",
  "privacy-policy": "privacy policy",
  "accept-terms-and-privacy-policy": "I accept the {terms} and {privacy-policy}." 
}
```

#### app.component.html
```angular2html
<form>
  <div>
    <input type="checkbox"></input>
    
    <label>
      <ng-container *templatedText="'accept-terms-and-privacy-policy' | translate">
        <a *textTemplate="'terms'" href="#">{{'terms' | translate}}</a>
        <a *textTemplate="'privacy-policy'" href="#">{{'privacy-policy' | translate}}</a>
      </ng-container>
      
      *
    </label>
  </div>
</form>
```
(Asterisk denoting that this field is required.)
npm package: @noticle/hatena-blog
Description: Notion to Hatena Blog Markdown Converter
Author: malvageee
Latest version: 0.10.1

# @noticle/hatena-blog

Hatena Blog package for converting Notion pages to Markdown.

## 🚀 Installation

```
# if JavaScript
npm install @noticle/core @noticle/hatena-blog

# if TypeScript
npm install @noticle/core @noticle/hatena-blog @noticle/types
```

## 📖 Usage

```typescript
import { $getPageFullContent } from "@noticle/core";
import { NotionHatenaBlogMarkdownConverter } from "@noticle/hatena-blog";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// Notion API helpers in this library.
// Recursively retrieve the Notion Block's child elements
const content = await $getPageFullContent(client, pageId);

// convert to markdwon
const executor = new NotionHatenaBlogMarkdownConverter();
const result = executor.execute(content);
```

## Block Options

## License

Distributed under the MIT License. See [LICENSE](https://github.com/salvage0707/noticle/blob/main/LICENSE) for more information.

## Author

malvageee (https://github.com/salvage0707)
npm package: @noticle/qiita
Description: Notion to Qiita Markdown Converter
Author: malvageee
Latest version: 0.10.1

# @noticle/qiita

Qiita package for converting Notion pages to Markdown.

## 🚀 Installation

```
# if JavaScript
npm install @noticle/core @noticle/qiita

# if TypeScript
npm install @noticle/core @noticle/qiita @noticle/types
```

## 📖 Usage

```typescript
import { $getPageFullContent } from "@noticle/core";
import { NotionQiitaMarkdownConverter } from "@noticle/qiita";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// Notion API helpers in this library.
// Recursively retrieve the Notion Block's child elements
const content = await $getPageFullContent(client, pageId);

// convert to markdwon
const executor = new NotionQiitaMarkdownConverter();
const result = executor.execute(content);
```

## Block Options

### Callout

You can choose between Qiita note's info, warn, and alert styles based on the background color and text color settings.

| color  | note  |
| ------ | ----- |
| yellow | warn  |
| red    | alert |
| other  | info  |

### Code

You can enable diff display using Callout Metadata

| metadata | value |
| ------   | ----  |
| diff     | Set to `true` to enable diff display  |


### Embed


#### CodePen

| metadata    | value            |
| ----------- | ---------------- |
| height      | iframe height    |
| defaultTab  | default tab      |

#### Figma

| metadata    | value            |
| ----------- | ---------------- |
| height      | iframe height    |
| width       | iframe width     |

#### Google Slide

| metadata    | value            |
| ----------- | ---------------- |
| height      | iframe height    |
| width       | iframe width     |

#### YouTube

| metadata    | value            |
| ----------- | ---------------- |
| height      | iframe height    |
| width       | iframe width     |

#### Speaker Deck

| metadata    | value            |
| ----------- | ---------------- |
| id          | Speaker Deck ID  |

If no ID is specified, it will be displayed as a link card.


### Video

YouTube videos will be displayed as embeds. Other videos will use the video tag.

## License

Distributed under the MIT License. See [LICENSE](https://github.com/salvage0707/noticle/blob/main/LICENSE) for more information.

## Author

malvageee (https://github.com/salvage0707)
npm package: @noticle/zenn
Description: Notion to Zenn Markdown Converter
Author: malvageee
Latest version: 0.10.1

# @noticle/zenn

Zenn package for converting Notion pages to Markdown.

## 🚀 Installation

```
# if JavaScript
npm install @noticle/core @noticle/zenn

# if TypeScript
npm install @noticle/core @noticle/zenn @noticle/types
```

## 📖 Usage

```typescript
import { $getPageFullContent } from "@noticle/core";
import { NotionZennMarkdownConverter } from "@noticle/zenn";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// Notion API helpers in this library.
// Recursively retrieve the Notion Block's child elements
const content = await $getPageFullContent(client, pageId);

// convert to markdwon
const executor = new NotionZennMarkdownConverter();
const result = executor.execute(content);
```

## Block Options

### Callout

You can choose between Zenn message's info, warn, and alert styles based on the background color and text color settings.

| color  | note    |
| ------ | ------- |
| red    | alert   |
| other  | default |

### Code

You can enable diff display using Callout Metadata

| metadata | value |
| ------   | ----  |
| diff     | Set to `true` to enable diff display  |


### Image

You can set metadata to adjust the image size.

| metadata | value |
| ------   | ----  |
| width    | Specifies the width of the image (e.g. `500`) |


### Embed

#### Speaker Deck

| metadata    | value            |
| ----------- | ---------------- |
| id          | Speaker Deck ID  |

If no ID is specified, it will be displayed as a link card.


### Video

YouTube videos will be displayed as embeds. Other videos will use the video tag.

## License

Distributed under the MIT License. See [LICENSE](https://github.com/salvage0707/noticle/blob/main/LICENSE) for more information.

## Author

malvageee (https://github.com/salvage0707)
npm package: @notifi-network/notifi-solana-hw-login
Description: Plugin for Solana Hardware Login support
Author: juni-notifi
Latest version: 8.0.0

# Notifi Solana Hardware Login Plugin

This package is a requirement for users integrating `@notifi/notifi-react` with the Solana blockchain. It provides the bindings necessary for logging in with a Solana hardware wallet. Example below:

```tsx
import { MemoProgramHardwareLoginPlugin } from '@notifi-network/notifi-solana-hw-login';

// ...

<NotifiContextProvider
  // other props
  hardwareLoginPlugin={solanaHardwareLoginPlugin} // If your dapp wants to support Solana hardware wallets, add this prop
>
  {/* Your components here */}
</NotifiContextProvider>;
```

For more comprehensive examples, see the `notifi-react-example-v2` package's [NotifiContextWrapper.tsx](https://github.com/notifi-network/notifi-sdk-ts/blob/97280b625ef133811d176fbb8add73f6b3f7bd44/packages/notifi-react-example-v2/src/context/NotifiContextWrapper.tsx#L184)
npm package: @notifi/core
Description: Framework-agnostic, headless notifications core
Author: sedmedgh
Latest version: 0.0.2

<p align="center">
  <img src="https://github.com/sedmedgh/notifi/raw/main/docs/public/logo.svg" alt="Notifi logo" width="120" />
</p>

# @notifi/core

Framework-agnostic, headless notifications core. No UI, no styles. Manages notification state and lifecycle.

Use this package directly if you are building an adapter or integrating into a non-Vue environment.

📚 **[Documentation](https://sedmedgh.github.io/notifi/)** • 🐛 **[Issues](https://github.com/sedmedgh/notifi/issues)**

## Install

```bash
npm install @notifi/core
```

## Usage

```ts
import { notification, type ExternalNotification } from '@notifi/core'

// Create a notification (content can be any value your adapter understands)
const id = notification('Hello from core!', { duration: 3000 } as ExternalNotification)

// Dismiss by id or dismiss all
notification.dismiss(id)
notification.dismiss()

// Introspect state
const history = notification.getHistory()
const active = notification.getNotifications()
```

## API

```ts
// Create/update notification (returns id)
notification(component: any, data?: ExternalNotification): string | number

// Dismiss one or all
notification.dismiss(id?: string | number): string | number | undefined

// Read state
notification.getHistory(): Array<NotificationT>
notification.getNotifications(): Array<NotificationT>
```

Key types are exported:

- `NotificationT`
- `ExternalNotification`
- `NotificationContainerProps`
- `NotificationProps`
- `Position`, `SwipeDirection`

## Building adapters

- Render notifications from `notification.getNotifications()`.
- Subscribe to changes via `NotificationState.subscribe(cb)` if needed for fine-grained control.
- Respect `duration`, `dismissible`, `noPauseOnHover`, `position`, and call `notification.dismiss(id)` for external dismiss.

## License

MIT
npm package: @notifi/vue
Description: Vue 3 adapter for Notifi - headless notifications
Author: sedmedgh
Latest version: 0.0.2

<p align="center">
  <img src="https://github.com/sedmedgh/notifi/raw/main/docs/public/logo.svg" alt="Notifi logo" width="120" />
</p>

# @notifi/vue

Vue 3 adapter for Notifi (headless notifications manager).

- Headless: no styles provided
- Components: `NotifContainer`
- API: `notif`

📚 **[Documentation](https://sedmedgh.github.io/notifi/)** • 🐛 **[Issues](https://github.com/sedmedgh/notifi/issues)**

## Install

```bash
npm install @notifi/vue
```

## Basic usage

```vue
<template>
  <NotifContainer />
  <button @click="notify">Notify</button>
</template>
<script setup lang="ts">
import { NotifContainer, notif } from '@notifi/vue'

function notify() {
  notif('Hello Notifi!', { duration: 2500 })
}
</script>
```

## Register globally (optional)

```ts
import { createApp } from 'vue'
import NotifiVue from '@notifi/vue'
import App from './App.vue'

createApp(App).use(NotifiVue).mount('#app')
```

This adds `$notif` and registers `NotifContainer` globally.

## Custom component content

```ts
import { notif } from '@notifi/vue'
import { h } from 'vue'
import Toast from './Toast.vue'

notif(h(Toast, { title: 'Saved', description: 'All good.' }), { duration: 3000 })
```

Or pass a factory to receive live props (e.g., to read `duration`, `paused`, etc.):

```ts
import { notif, type ExternalNotification } from '@notifi/vue'
import { h } from 'vue'
import Toast from './Toast.vue'

notif((params: ExternalNotification) => h(Toast, params), { id: 'custom' })
```

## Target a specific container

```vue
<NotifContainer id="sidebar" />
```

```ts
notif('Side message', { notificationContainerId: 'sidebar' })
```

## Dismiss

```ts
const id = notif('Closable', { duration: Infinity })
notif.dismiss(id) // single
notif.dismiss()   // all
```

## Types

Re-exports from `@notifi/core`:
- `ExternalNotification`, `NotificationT`, `NotificationContainerProps`, `NotificationComponentProps`

## License

MIT
npm package: @notificare/web-assets
Description: The assets package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-assets

This is the Notificare Assets component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-cloud-api
Description: The Cloud API package for use in the Notificare Web SDK.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-cloud-api

This is the Notificare Cloud API component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-core
Description: The core package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-core

This is the Notificare Core component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-geo
Description: The geo package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-geo

This is the Notificare Geo component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-in-app-messaging
Description: The in-app messaging package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-in-app-messaging

This is the Notificare In-App Messaging component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-inbox
Description: The inbox package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-inbox

This is the Notificare Inbox component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-logger
Description: A logger package for use in the Notificare Web SDK.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-logger

This is the Notificare Logger component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-push
Description: The push package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-push

This is the Notificare Push component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-push-sw
Description: The push service worker package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-push-sw

This is the Notificare Push Service Worker component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-push-ui
Description: The push ui package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-push-ui

This is the Notificare Push UI component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-ui
Description: The core UI package for use in the Notificare Web SDK.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-ui

This is the Notificare UI component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**
npm package: @notificare/web-user-inbox
Description: The user inbox package for the 'notificare-web' umbrella package.
Author: Notificare
Latest version: 4.2.2

[<img src="https://raw.githubusercontent.com/notificare/notificare-sdk-web/main/.assets/logo.png"/>](https://notificare.com)

# @notificare/web-user-inbox

This is the Notificare User Inbox component for the Notificare Web SDK.

**This package is not intended for direct usage. Use the official [Notificare](https://www.npmjs.com/package/notificare) instead.**