open-index/open-npm huggingface dataset:
npm package: @litebook/theme
Description: ### License
Author: estrattonbailey
Latest version: 0.1.0

# @litebook/theme ![npm](https://img.shields.io/npm/v/@litebook/theme) [![](https://badgen.net/bundlephobia/minzip/@litebook/theme)](https://bundlephobia.com/result?p=@litebook/theme)

### License

MIT License © [Truework](https://www.truework.com)
npm package: @litecanvas/plugin-more-shapes
Description: Plugin to draw shapes like ellipse, stars and other polygons in litecanvas games
Author: Luiz Bills
Latest version: 0.6.0

# More Shapes plugin for litecanvas

Plugin to draw shapes like ellipse and polygons in [litecanvas](https://github.com/litecanvas/game-engine) games.

## Install

**NPM**: `npm i @litecanvas/plugin-more-shapes`

**CDN**: `https://unpkg.com/@litecanvas/plugin-more-shapes/dist/dist.js`

## Usage

See a demo on [playground](https://litecanvas.js.org?c=eJx9U2Fv2jAQ%2FZ5fcUKaapdAEgqsQuq0aUUFaeumgbTto5sY8Oralu200Kn%2FfbaTLGnZilC4e3e5d%2Ffu4NSCscRSuIBJxJ1HxJZ7Lw2eYQU1wYs4szQn4p4YhKNoU4rcMimACWYRht8RAJekWOWaKYucB3Cys1aZWZKUQt1uh7m8S963VRLFyy0Tgzup6cDsiKImKZix4TH8ZU5iCFWQpqbkFsPFu8DiP2zTwqWhqCr12VVahUI45D25p7c4E7QgZocW8%2BXVYg0JnKcet3RvDXukKDvH0VNnJkuUokU9lef69OXD5fL6CoOmttTCoY1o%2FX5lvYHpsxKlKhz8aolK6b4Td5iOnr1caPLw6qs5N%2BjMj6BKN1aYRRNhuKf8OL9ez7%2F9iKEyfvqolr5JFBi9bx6YzXeAQu%2B4ljUnhkI6qyX2Paws0QjXwI2m5LZNzGatPerYZx173BRrzqjSqg%2FjDslXyQ9bKcz%2FiCbdjuacM%2BUW%2FjLXr1pJhZq1Es62AvVyKizVvRh6N9Jaeddr4q1K9U0MYJS6tDVRYGWgAml3VEN1ma7ECB%2FtqNKnun33Z9Fuwu%2FLy%2FXCXdikuhG9YZwjV9l9JzHoGMa4jnRQOIVs6IwsO%2BZo5fknT5b69SrJO0RB7UA2xXX0RaQhfHvM91fhlm7f4Zs24MGBLnLqrnfkh5X3pOphoPcxDPTB0TjD%2F2a4jvtYQ%2B0yGrMFW8yr%2FQeDYEwe).

### `vertices(points: number[][])`

Draw lines connecting vertices.

```js
import litecanvas from "litecanvas"
import pluginMoreShapes from "@litecanvas/plugin-more-shapes"

// example: draw a triangle
function draw() {
  cls(0)

  vertices([
    // X Y points
    [0, 128],
    [128, 128],
    [64, 0],
  ])

  // you should choose fill or/and stroke that vertices
  stroke(4)
  // or/and
  // fill(5)
}
```

### `oval(x, y, rx, ry, color)`

Draw a ellipse outline.

```js
import litecanvas from "litecanvas"
import pluginMoreShapes from "@litecanvas/plugin-more-shapes"

function draw() {
  cls(0)
  oval(100, 100, 32, 64, 4)
}
```

### `ovalfill(x, y, rx, ry, color)`

Draw a color-filled ellipse.

### `rpol(x, y, sides, radius, color)`

Draw a regular polygon outline.

```js
import litecanvas from "litecanvas"
import pluginMoreShapes from "@litecanvas/plugin-more-shapes"

function draw() {
  cls(0)
  rpol(100, 100, 5, 64, 4)
}
```

### `rpolfill(x, y, sides, radius, color)`

Draw a color-filled regular polygon.

### `star(x, y, tips, radius, color)`

Draw a star outline.

```js
import litecanvas from "litecanvas"
import pluginMoreShapes from "@litecanvas/plugin-more-shapes"

function draw() {
  cls(0)
  star(100, 100, 8, 64, 5)
}
```

### `starfill(x, y, tips, radius, color)`

Draw a color-filled star.
npm package: @litecanvas/plugin-text-box
Description: Text boxes (dialogs, multi lines text, etc) for litecanvas games.
Author: Luiz Bills
Latest version: 0.1.0

# Text Box plugin for litecanvas

Text boxes (dialogs, multi lines text, etc) for [litecanvas](https://github.com/litecanvas/engine) games.

## Install

**NPM**: `npm i @litecanvas/plugin-text-box`

**CDN**: `https://unpkg.com/@litecanvas/plugin-text-box/dist/dist.js`

## Usage

```js
import litecanvas from "litecanvas"
import pluginTextBox from "@litecanvas/plugin-text-box"

let message, box

litecanvas({
  loop: { init, update, update },
})

// load the plugin
use(pluginTextBox, {
  // default configuration
  color: 3,
  padding: 10,
  lineHeight: 1.2,
})

function init() {
  // The dimensions of our text box
  box = {
    x: 150,
    y: 80,
    w: W - 300,
    h: 160,
    textColor: 3,
  }

  message =
    "Lorem ipsum dolor sit amet consectetur adipisicing elit. Minus placeat et itaque fuga sint, reiciendis natus sunt cumque accusamus voluptates maxime eaque labore dolorem vel quam odit similique. Dolorum numquam facilis, ex ad, in ullam porro unde excepturi, reiciendis quam voluptate amet sunt libero!"
}

function draw() {
  cls(0)

  textsize(20)
  textbox(box.x, box.y, box.w, box.h, message, box.textColor)

  // textbox() just wrap a text inside of a rectangle area, does not draw any window
  // the lines below draw a window for the textbox
  linewidth(5)
  rect(box.x, box.y, box.w, box.h, 3)
}
```

Play with this demo in the [litecanvas playground](https://litecanvas.js.org?c=eJx9U01v1EAMvedXuL1sIqWbLdUitGgRHxW0UoEDlTjPJt7EZTKTZjxNCtr%2FjmeSllIJLsnEfvP8bL8UBTCODDs7Qqd9TQYqbG1SFNAwd25TFDVx43fL0raFJsZSmTvligl8Ei6fyOXkTyrNkmTvTclkDZAhTjP4lQBoq6pvZU8dp4sHbm%2B6H3Wkfvtv7qIix%2FGxvHGLHNIeXQbbN5EVgPaQHsUQN70dYPFRkcYK2MaS4GLNRcR6h%2BnEfi3k7%2B2YgXQaYdzgPIEkQotpMmEwDpnJ1O5ZfNmpqpI4bGG9ep7TZPACqW5Y0qfL9fN8hTsfbnLvUXKHTB5JRFyLkIpaNE4G6MDuwfr%2BcUuCCZK2c%2FPjBk7Xqzye7zfwaj4OG%2Fh%2BeX59ASdwtppjjUBfzufA9sFq22%2FgLEQOoecWnVM1wjZCjq9sjy1Q53wLVcCCIwbVIkMpwrBkZBGmKurIURkGgbLEJXwm453MUpWoGAROrG49wt7XSjgM59CjXEAjOwWjWNDOG6H1bcCpsvROtRK9s9p3rBgdtGqUmQBGJq12Im5SJRrvUMOtVy3YShQ6akmTwJZwHgAi3wRiye9VKSmXA46iOxd3gtdaEp3tewveVFJhLLGTxugvlfH6o5xpClGzph329ug4OTxxfdWrYXZ9qV26CssNNr36%2Bu788sunTJilgnkdph5W4egnpi8ibPZHGjwy5mHXy%2FvpNUyvJn9Y1PT9uMosSZ46TOrfeMcw9KoDNfmHxFPSolhKiYSSlam1NNOjymWYMmVjOYoHZe5hIFPZYSYVUwZLO9ihlp9sAs0Q2Is5AmIuHX52wQ5UcZOuQ1eh2H9bOstkgL8BXyt8Bw%3D%3D).
npm package: @litecanvas/plugin-timers
Description: Plugin to help manage timers in litecanvas games
Author: Luiz Bills
Latest version: 0.9.0

# Timers plugin for litecanvas

Helpers to manage timers in [litecanvas](https://github.com/litecanvas/engine) games.

## Install

**NPM**: `npm i @litecanvas/plugin-timers`

**CDN**: `https://unpkg.com/@litecanvas/plugin-timers/dist/dist.js`

## Usage

```js
import litecanvas from "litecanvas"
import pluginTimers from "@litecanvas/plugin-timers"

litecanvas({
  loop: { init },
})

use(pluginTimers) // load the plugin

function init() {
  wait(5, () => {
    // this function will be executed after 5 seconds
  })

  loop(2, () => {
    // this function will be executed every 2 seconds
  })

  repeat(10, 2, () => {
    // this function will be executed only 10 times every 2 seconds
  })
}
```

### Other features

> Available for any kind of timer

Stop a timer:

```js
const t = wait(5, () => {
  // ...
})

t.stop() // cancel the timer
```

Pause a timer:

```js
const t = wait(5, () => {
  // ...
})

t.pause() // pause the timer

t.resume() // resume a paused timer

t.running // true if the timer is not paused
```

Get/set the remaining time:

```js
const t = wait(5, () => {
  // ...
})

t.remaining += 10 // add 10 seconds
```

Get all active timers:

```js
...
litecanvas()

use(pluginTimers, {
  exposeTimers: true // enable that settings
})

// now you can use the TIMERS variable
TIMERS.forEach((t) => {
  // ...
})
```
npm package: @litecase-ui/icons
Description: litecase-ui icons
Latest version: 0.0.0-beta.2

# litecase-ui icons

Some kinds of icons for react.

### Usage

```sh
$ pnpm add @litecase-ui/icons

# or

$ npm i @litecase-ui/icons

```

### Quick Start

```tsx | pure
import { PlusCircle } from '@litecase-ui/icons';

export default () => {
  return (
    <>
      <PlusCircle />
    </>
  );
};
```
npm package: @litecase/aapt-js
Description: A node wraper for aapt
Author: Lantz
Latest version: 0.0.3

# aapt-js

> aapt-js is cloned from shenzhim's [aaptjs](https://github.com/shenzhim/aaptjs) project.

aapt-js is a node wraper for aapt. You can get information about `.apk` file which you provide, eg: bit version(32-bit or 64-bit), version and so on.  

## Install

```
npm install @litecase/aapt-js --save
```

## Example

```js
const { list }  = require('aapt-js')

aaptJs.list('/path/to/your/ExampleApp.apk', (err, data) => {
  if (!err) {
    console.log(data)
  } else {
    // something went wrong 
  }
})
```

## Some Methods

- list(apkfilePath: string, callback?: (err: Error|null, data: string) => void): Promise<string>

- dump(what: string, apkfilePath: string, callback?: (err: Error|null, data: string) => void): Promise<string>

- packageCmd(command: string, callback?: (err: Error|null, data: string) => void): Promise<string>

- remove(apkfilePath: string, files: string|string[], callback?: (err: Error|null, data: string) => void): Promise<string>

- add(apkfilePath: string, files: string|string[], callback?: (err: Error|null, data: string) => void): Promise<string>

- crunch(resource: string|string[], outputFolder: string, callback?: (err: Error|null, data: string) => void): Promise<string>

- singleCrunch(inputFile: string, outputfile: string, callback?: (err: Error|null, data: string) => void): Promise<string>

- getVersion(callback?: (err: Error|null, data: string) => void): Promise<string>

- getBit(callback?: (err: Error|null, data: string) => void): Promise<string>