open-index/open-npm huggingface dataset:
npm package: @jexia/ng-jexia
Description: The official library to use Jexia Javascript SDK with Angular
Author: Jexia
Latest version: 1.2.1

# NgJexia

[![CircleCI](https://circleci.com/gh/jexia/ng-jexia.svg?style=svg)](https://circleci.com/gh/jexia/ng-jexia)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)


The official library to use Jexia with Angular. Currently we are only supporting **Datasets**, but planning to make *Filesets, Project Users* and *Real-time Communication* available in a near future.

## Install

```bash
npm install ng-jexia --save
```

## Quick Start

Open `app.module.ts`, import the Jexia module and specify your dataset configuration:

```ts
import { NgJexiaModule, DataOperationsModule } from 'ng-jexia';

@NgModule({
  imports: [
    BrowserModule,
    NgJexiaModule.initialize({
      ...environment.jexiaConfig,
      providers: [
        DataOperationsModule,
      ],
    })
  ],
  declarations: [ AppComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule {}
```

Use our service to access and manipulate your datasets.

```ts
import { Component } from '@angular/core';
import { DataOperations } from 'ng-jexia';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.css']
})
export class AppComponent {
  userDataset = this.dataOperations.dataset<User>('myusers');
  users = this.userDataset.select();

  constructor(
    private dataOperations: DataOperations,
  ) {}
}
```

Then use it on your template:

```html
<pre>
  data: {{ data | async | json }}
</pre>
```

## Developer Guide

### Example app

You can find runnable the code at this repository on `apps/example`, use your own credentials at the `app.module.ts`,
and run the whole application it with `npm start` command at the root of this project.

### Api Docs

Check out the [ng-jexia docs](https://jexia.github.io/ng-jexia/) and the [JavaScript SDK Docs](https://docs.jexia.com/tools/)
for a detailed view of the Api of both this Angular adapter and the original [JavaScript SDK](https://github.com/jexia/jexia-sdk-js/).

### Contributing

You can find all the steps at the [Contributing Guide](https://jexia.github.io/ng-jexia/contributing.html).

## License

[MIT](https://jexia.github.io/ng-jexia/license.html)
npm package: @jexity/chat-widget
Description: Embeddable AI chat widget by Jexity — add customer support chat to any website with a single script tag or npm install
Latest version: 0.2.1

# @jexity/chat-widget

Embeddable AI chat widget for any website. Add customer support chat with a single `<script>` tag or via npm.

## Quick Start

### Script Tag (No Build Tools Required)

```html
<script
  src="https://unpkg.com/@jexity/chat-widget/dist/widget.js"
  data-org-id="YOUR_ORG_ID"
></script>
```

### NPM

```bash
npm install @jexity/chat-widget
```

```ts
import { JexityChat } from '@jexity/chat-widget'

const chat = JexityChat({
  orgId: 'YOUR_ORG_ID',
})

// Later: chat.shutdown()
```

### React Provider

```tsx
import { JexityChatProvider, useJexityChat } from '@jexity/chat-widget/react'

function App() {
  return (
    <JexityChatProvider orgId="YOUR_ORG_ID">
      <HomePage />
    </JexityChatProvider>
  )
}

function HomePage() {
  const { open, close, toggle, isOpen } = useJexityChat()
  return <button onClick={open}>Chat with us</button>
}
```

## Configuration

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `orgId` | `string` | *required* | Your organization ID |
| `container` | `string \| HTMLElement` | auto-created `div` | CSS selector or element to mount into |
| `position` | `'bottom-right' \| 'bottom-left'` | `'bottom-right'` | Widget position on screen |
| `theme` | `'light' \| 'dark' \| 'auto'` | `'auto'` | Color theme |
| `greeting` | `string` | `'Hi there! How can I help?'` | Initial bot message |
| `title` | `string` | `'Jexity Assistant'` | Chat window header title |
| `primaryColor` | `string` | `'#0070f3'` | Brand color (hex) |

## Programmatic API

```ts
const chat = JexityChat(options)

chat.open()      // Open the chat window
chat.close()     // Close the chat window
chat.toggle()    // Toggle open/closed
chat.shutdown()  // Remove widget from DOM
chat.isOpen      // readonly boolean
```

## Script Tag Global

```html
<script src="https://cdn.jexity.chat/widget/latest/widget.js" data-org-id="YOUR_ORG_ID"></script>
<script>
  window.JexityChat.open()
  window.JexityChat.shutdown()
</script>
```

## License

MIT
npm package: @jexo/ace-gdpr
Description: GDPR compliance helper for atlas-connect-express applications
Author: Biro Florin
Latest version: 1.0.6

# @jexo/ace-gdpr

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

**Get GDPR updates for your [Atlas-Connect-Express](https://bitbucket.org/atlassian/atlassian-connect-express/src) application**

This package will assist you in complying with Atlassian's GDPR requirements described [here](https://developer.atlassian.com/cloud/jira/platform/user-privacy-developer-guide/).

# Installation
Using npm:
```sh
$ npm install --save @jexo/ace-gdpr
```
# Pre-requisites
- A postgres database.
- atlas-connect-express' AddonSettings table
- This package assumes you're following [jira's recommendation](https://developer.atlassian.com/cloud/jira/platform/user-privacy-developer-guide/#storing-user-personal-data-for-your-apps) for user data storage and persisting it in a single table.
- The table must have a string column that stores the user account id, a string column that stores the client key for that user, and a date column with when that user's data was last updated.
# Usage
ace-gdpr uses [node-postgres](https://www.npmjs.com/package/pg) to read user data from your database, and to create/update an internal table named `ace_gdpr_settings`.
It assumes the following environment variables to be available with the database connection information:
```sh
PGUSER='database username'
PGPASSWORD='database user password'
PGHOST='database host'
PGPORT='databse port'
PGDATABASE='database name'
```
In your atlas-connect-express application

```js
const getUpdates = require('@jexo/ace-gdpr').default;

// map your users table name and column names to the config object
const config = {
  databaseConfig: {
    users: {
      tableName: 'users',
      columns: {
        updatedAt: 'updated_at',
        userAccountId: 'user_account_id',
        clientKey: 'client_key'
      }
    }
  },
  forceExecution: false // * see note below
};

getUpdates(config)
  .then(({ updated, closed }) => {
    // use jira api to fetch fresh user data and update the user record. Remember to update the `updatedAt` column for every record
    updated.forEach(accountId => updateUserData(accountId));
    // get rid of this user's personal data wherever you're storing it
    closed.forEach(accountId => removePersistedUserData(accountId));
  })
  .catch((error) => {
    // handle error
  });
```

We recommended running `getUpdates` once a day under a scheduler.
The plugin keeps track of when you last executed successfully in `ace_gdpr_settings` and will only run again one day before the next update cycle recommended by Jira.
Set `forceExecution` to `true` if you want the plugin to ignore the last update and cycle settings in `ace_gdpr_settings` and run the whole thing when called.

# To do
- Create contributing documentation
- Create examples using Kue and node-schedule

# License
MIT
npm package: @jexo/pijen
Description: React in-app notification component
Author: Jexo
Latest version: 1.1.17

# @jexo/pijen

[![NPM](https://img.shields.io/npm/v/@jexo/pijen.svg)](https://www.npmjs.com/package/@jexo/pijen) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Pijen - In-App Notification React Component 

Use this plug&play component to send release notification and product messages to your users in your app. Made to be used with Pijen Jira App as the messaging center, with Pijen for Jira you can create and manage multiple widgets and send messages to this widget.

## Install

```bash
yarn add @jexo/pijen
```

## Usage

```jsx
import React, { Component } from 'react'

import Pijen from '@jexo/pijen'
import '@jexo/pijen/dist/index.css'

class Example extends Component {
  render() {
    return (
      <Pijen authKey={AUTH_KEY} userKey={USER_KEY} headingText="What's new in our app?"> 
        {({ openPijen, notificationCounter }) => (
          <button onClick={openPijen}>
            Pijen ({notificationCounter})
          </button>
        )}
      </Pijen>
    )
  }
}
```

## License

MIT © [Jexo](https://jexo.io)
npm package: @jexo/progress-tracker
Description: Segmented progress tracker component for react
Author: Biro
Latest version: 1.1.19

# React NPM Package Boilerplate

Boilerplate code for publishing a React NPM package.

* Bundled with [Webpack](https://webpack.js.org/)
* Develop with Hot Module Replacement [(HMR)](https://webpack.js.org/concepts/hot-module-replacement/)
* Includes linting with [ESLint](http://eslint.org/)
* Testing with [Jest](http://facebook.github.io/jest/).

## Usage

1. Install modules - `yarn`

2. Start example and start coding - `yarn start`

3. Run tests - `yarn test`

4. Bundle with - `yarn build`

5. To test if it works correctly in another project you can use npm `npm install -S ../react-npm-component-boilerplate` Note the relative path

E.g. this folder structure

```
    ./workspace/
        MyProject
        react-npm-boilerplate
```

## Extra

Adjust your `.eslintrc` config file to your own preference.

## NPM equivalent

yarn | npm
---- | ---
`yarn` | `npm install`
`yarn test` | `npm run test`
`yarn build` | `npm run build`

## License

MIT © Dinesh Pandiyan
npm package: @jexo/select-multi-level
Description: Multi level select to Jira
Author: Biro
Latest version: 1.0.4

# Jira Select Multi Level

Install modules - `yarn add @jexo/select-multi-level`

E.g. this folder structure

```
    ./workspace/
        MyProject
        react-npm-boilerplate
```

## Usage

Examples

### Normal

ets

### With InlineEdit

ets

## License

MIT © Jexo
npm package: @jexop/color
Description: ## Basic Usage
Author: Greg Bacchus
Latest version: 1.0.13

# JSON Expression Color Operators

## Basic Usage

```typescript
import { evaluate, registry } from '@jexop/core';
import { colorOperators } from '@jexop/color';

// register default operators
registry.addDefaults();
// register color operators
registry.add(colorOperators);
```

## Color Operators

### `color-range`

Returns color from a gradient `from`-`to`

| Property         | Description                      |
| ---------------- | -------------------------------- |
| `from` (color)   | Color when `value` is `0`        |
| `to` (color)     | Color when `value` is `1`        |
| `value` (number) | Normalized number (in range 0-1) |

Examples

```jsonc
{
  "op": "color-range",
  "from": "red",
  "to": "green",
  "value": 0.7
}
```

```jsonc
{
  "op": "color-range",
  "from": "red",
  "to": "green",
  "value": {
    "op": "normalize",
    "min": 0,
    "max": 100,
    "value": 70
  }
}
```