open-index/open-npm huggingface dataset:
npm package: @kreation.tech/nft-rewards
Description: NFT Rewards Contracts
Author: AgileWare
Latest version: 1.0.4

```
 ░█▄ █▒█▀░▀█▀  ▒█▀▄▒██▀░█ ░▒█▒▄▀▄▒█▀▄░█▀▄░▄▀▀
 ░█▒▀█░█▀ ▒█▒▒░░█▀▄░█▄▄░▀▄▀▄▀░█▀█░█▀▄▒█▄▀▒▄██
```
---

Solidity smart contracts implementing ERC721 with multiple editions. 
This is a customization of the more general [EdNFT contract](https://github.com/kreation-tech/nft-editions) tailored and optimized to fit the rewarding schema of the ARTEM token staking.

Once minted, the editions behave very much like any other NFT implementing the `ERC-721` specifications: they can be transferred, auctioned and burnt as their specific owner decide.

# Standards

The NFTs comply with the following EIP standards:

* [ERC-721](https://eips.ethereum.org/EIPS/eip-721) Non-Fungible Token
* [ERC-2981](https://eips.ethereum.org/EIPS/eip-2981) NFT Royalty

# Specificities


The new `MintableRewards` contract is vastly comparable with the `MintableEditions` one, with the following differences:
* allowances are no more set on each piece of art, they are instead stored separately on the `AllowanceStore` contract: this implies allowances are reused and gas consumption is vastly reduced;
* the artist has no more the ability to give specific allowances and is now limited to: 
  * mint himself
  * allow/disable public minting (anyone can obtain one or more editions)
  * enable/disable purchasing (anyone can buy one or more editions by paying the sale price)
  * update tokens URLs (content, thumbnail and metadata)
* a new role, the _allowance store administrator_, is required to manage the allowances and the artist is no more involved in this task
* anyone willing to pay the gas fees can perform an _airdrop_, sending the NFTs to all addresses stored on the `AllowancesStore` respecting their allowances (2 NFTs to those having an allowance of 2 and so forth); once the airdrop is performed, repeating the operation has no effect unless the `AllowanceStore` is updated, in which case any addedd allowance (either by increasing the allowance or added address) will receive any difference
* the tokens do not contain the edition id and size in their name, the editon size information must be set as part of the edition name or description by the artist
npm package: @kreativa/ui
Description: Shared UI components for Kreativa applications
Author: Kreativa
Latest version: 0.1.10

# @kreativa/ui

Shared UI components for Kreativa applications, built with React and Tailwind CSS.

## Installation

```bash
npm install @kreativa/ui
# or
pnpm add @kreativa/ui
```

## Usage

```tsx
import { Button, Card, Modal, Table } from '@kreativa/ui'
```

## Tailwind Configuration

Extend your Tailwind config with the Kreativa theme:

```js
// tailwind.config.js
import kreativaConfig from '@kreativa/ui/tailwind'

export default {
  content: [
    './src/**/*.{js,ts,jsx,tsx}',
    './node_modules/@kreativa/ui/dist/**/*.{js,mjs}'
  ],
  theme: {
    extend: {
      ...kreativaConfig.theme.extend
    }
  },
  plugins: []
}
```

## Components

### Layout
- `Layout` - Main app layout with sidebar
- `Sidebar` - Navigation sidebar
- `ServiceSwitcher` - Service/project selector

### Primitives
- `Button` - Button with variants (primary, secondary, danger, ghost)
- `Input` - Text input with label and error support
- `Card` - Container card with padding options
- `LoadingSpinner` - Animated spinner
- `EmptyState` - Empty state placeholder
- `Modal` - Dialog modal

### Forms
- `FormInput` - Form input with label and help text
- `FormTextarea` - Form textarea
- `FormButtonGroup` - Cancel/Submit button pair

### Data
- `Table` - Sortable data table
- `Select` - Searchable dropdown
- `Tabs` - Tab navigation

### Time
- `Timer` - Time tracking with play/stop
- `DatePicker` - Date/date-range picker

## Development

```bash
# Install dependencies
pnpm install

# Build
pnpm build

# Watch mode
pnpm dev

# Type check
pnpm typecheck
```

## License

MIT
npm package: @kreativwebdesign/lode-three
Description: lode helper to load lod artifacts in Three.js.
Latest version: 1.0.0

# lode Three
This helper module simplyfies loading lode-generated LOD artifacts in a Three.js application.

## Usage

Import the module and the lode-manifest and create the `lodeContext` by calling the `createContext` method.

```
import * as lodLoader from '@kreativwebdesign/lode-three'
import manifest from "./lode-build/lode-manifest.json";

const lodeContext = lodeLoader.createContext({
  basePath: "./lode-build",
  manifest,
});
```

and then load the artifacts:

```
lodeLoader.loadModel({
    lodeContext,
    artifactName: 'path-to/artifact',
})
```

## API

### createContext
This method accepts the basePath to the lode-build output and the lode-manifest.
```
{
  basePath: "./lode-build", // Relative path to the lode-build output
  manifest, // the manifest generated by the lode-build, by default at lode-build/lode-manifest.json
}
```
### loadModel
This method accepts the basePath of the generated artifacts where all the artifacts are and the specific artifact name.
```
{
    lodeContext, // Object returned from the createContext method
    artifactName: 'path-to/artifact', // path to the artifact base
}
```
This would work for the following folder structure:
```
|-index.js // where the code is
|-lode-build
  |-lode-manifest.json
  |-path-to
    |-artifact
      |-lod-0
      | |-artifact.gltf
      | |-artifact.bin
      |-lod-1
      | |-artifact.gltf
      | |-artifact.bin

```

## Outlook

- Add culled lod at the end of each lod if the last one is not set to infinity.
- Add helper for loading manifest async
- Add helper to progressively load LOD-artifacts

## Dev

Run `yarn setup` to get up and running

### Publish

- Prepare versions and ensure clean setup state
- `npm publish --access public`
npm package: @kreativwebdesign/react-authorizer
Description: React Authorizer using the new Context API
Latest version: 0.1.1

# 💂‍♂️ react-authorizer 💂‍♀️
Basic library for handling authorization in your React app.

## WIP
This module is not finished yet, so it's not using semantic versioning
Things to watch out for:
 - Better documentation
 - More examples

 ## Out of Scope
  - Authentication

## Usage
Wrap your React tree inside the AuthProvider Component and pass the roles of the active user as an Array.

```index.jsx
<AuthProvider roles={[ 'user', 'admin' ]}>
  {/* your react tree */}
</AuthProvider>
```
And then somewhere inside this tree:
```index.jsx
<Authorize neededRoles={[ 'user', 'admin' ]}>
  {
    ({ isAuthorized, missingRoles, lacksRole }) => {
      if (isAuthorized) {
        return 'Welcome buddy';
      } else if (lacksRole('admin')) {
        return 'Sorry you are not an admin';
      } else {
        return 'You are not authorized too see anything here'
      }
    }
  }
</Authorize>
```

## API

### AuthProvider
#### Props
| Name    | type          | required   | default value |
|---------|---------------|------------|---------------|
| roles   | Array<String> | Yes        | -             |

### Authorize
#### Props
| Name        | type          | required   | default value |
|-------------|---------------|------------|---------------|
| neededRoles | Array<String> | Yes        | -             |
| children    | <pre>function({<br/>  isAuthorized: Boolean,<br/>  missingRoles: Array<String>,<br/>  lacksRole: (role: String) => Boolean,<br/>  hasRole: (role: String) => Boolean<br/>}) => propTypes.node</pre>      | Yes        | -             |

## Examples

See some examples in action on codesandbox [here](https://codesandbox.io/s/ol88mvyy75).

## Development

You must use `yarn` to maintain the project.

### Install
run `yarn install`

### Test
run `yarn run test`

### Build
run `yarn run build`

### Publishing
> Attention! Use with care.

run `yarn run release`
npm package: @kreattix/colors
Description: A collection of colors for use in Kreattix projects.
Author: Prince Patel
Latest version: 0.0.3

## Kreattix Colors

Basic color library that provides all basic colors with 10 shades each.
It also provide a color class that accept any color and allow you to change its lightness and darkeness then get the updated color in any format you want.

![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg) ![npm version](https://img.shields.io/npm/v/@kreattix/colors)

## Installation

### using npm

```sh
$ npm install @kreattix/colors
```

### using yarn

```sh
$ yarn add @kreattix/colors
```

### using color shades

```js
import { Colors } from '@kreattix/colors'

...
...

const color = {
    main: Colors.red[500],
    hover: Colors.red[400],
    active: Colors.red[600],
}

...
...
```

### using color class to create your own shade

```js
import { Color, Colors } from '@kreattix/colors'

...
...

const color = Color(Colors.blue[500]) // using color from library
// or
const color = Color('#465657') // using hex value
// or
const color = Color('#465657dd') // using hexa value
// or
const color = Color('rgb(10,30,50)') // using rgb value
// or
const color = Color('rgba(10,30,50,0.8)') // using rgba value
// or
const color = Color('hsl(120,30%,50%)') // using hsl value
// or
const color = Color('hsla(120,30%,50%,0.7)') // using hsla value

...
...

// manipulate color as per your needs

// to lighten the color
const lightColor = color.lighten(10) // it accepts a number as amount of ratio to lighten the color

// to darken the color
const darkColor = color.darken(20) // it accepts a number as amount of ratio to darken the color

// to negate the color
const negatedColor = color.negate()

// to get the luminance of color
const luminance = color.luminance

// to get the contrast color
const contrastColor = color.contrast

// to ser the threshold for contrast color
color.setThreshold(100) // default is 128

// to get the threshold of contrast color
const threshold = color.threshold

...
...

// then you can get the updated color in any format
const lightColorHEX = lightColor.hex
const lightColorRGB = lightColor.rgb
const darkColorHEXA = darkColor.hexa
const darkColorRGBA = darkColor.rgba
const lightColorHSL = lightColor.hsl
const lightColorHSLA = lightColor.hsla

...
...
```

### Available colors

| Colors
| ------------
| red
| pink
| purple
| violet
| indigo
| blue
| lightBlue
| cyan
| teal
| green
| lightGreen
| lime
| yellow
| amber
| orange
| deepOrange
| brown
| gray
| blueGray
| white
| black

## License

MIT