open-index/open-npm huggingface dataset:
npm package: @squircle/tailwindcss
Description: TailwindCSS plugin for Squircle
Author: Skyleen
Latest version: 1.0.6

# Squircle with Tailwind CSS

A simple and flexible way to make Squircles with Tailwind CSS.

## Installation

```bash
npm install @squircle/core @squircle/paint-polyfill @squircle/tailwindcss
```

## Import

```ts
import { init } from '@squircle/core';
```

## Initialize

```ts
init();
```

## Initialize in React

```tsx title="squircle-provider.tsx"
'use client';

import * as React from 'react';
import { init } from '@squircle/core';

export function SquircleProvider({ children }: { children: React.ReactNode }) {
  React.useEffect(() => void init(), []);
  return children;
}
```

Then use the `SquircleProvider` component to wrap your app.

```tsx
<SquircleProvider>
  <App />
</SquircleProvider>
```

## Usage

**Only support Tailwind >= 4.0.**

### Import

```css title="globals.css"
@import '@squircle/tailwindcss';
```

### Use

```html
<div class="squircle squircle-2xl squircle-teal-400" />
```

## Beta phase

Squircle is in beta phase, so there may be bugs and optimization issues for browsers not compatible with `CSS.paintWorklet`.

## Limitations

While Squircle is designed to work seamlessly across all modern browsers, there are a few limitations to keep in mind:

- Squircle uses a custom polyfill, `@squircle/paint-polyfill`, a heavily improved fork of `css-paint-polyfill`.
  This polyfill brings CSS Houdini compatibility to browsers that do not support `CSS.paintWorklet` natively.

- However, **very old browsers**, such as **Internet Explorer** and **some early versions of Edge**, are not supported. These browsers do not support the necessary underlying APIs to run the polyfill reliably.
  _(Note: Internet Explorer is not officially tested and should be considered unsupported.)_

- In browsers without native CSS Houdini support (thus relying on `@squircle/paint-polyfill`), there may be **minor performance overhead**.
  This is because the polyfill **actively listens** to style changes and dynamically **replaces paint operations** in the DOM, which can slightly impact performance, especially in large or highly dynamic applications.

⚠ Additionally, when using animation libraries such as [Motion](https://motion.dev/) in browsers that do not support `CSS.paintWorklet` (**Firefox** and **Safari**), performance issues may become more noticeable.
Since the polyfill relies on a MutationObserver to detect and respond to style changes, animations that rapidly and repeatedly update styles can trigger frequent DOM updates, potentially resulting in less smooth animations.
We are currently exploring solutions to mitigate this impact.

## Issues

If you encounter any problems, do not hesitate to [open an issue](https://github.com/imskyleen/squircle/issues) or [make a PR here](https://github.com/imskyleen/squircle).

## LICENSE

MIT
npm package: @squirrel-forge/node-cfx
Description: Node stdout/console styler, replace the basic *console* methods and allow for coloured output.
Author: Daniel Hartwell
Latest version: 1.2.1

# @squirrel-forge/node-cfx

Node stdout/console styler, replace the basic *console* methods and allow for coloured output.

## Install

```
npm i @squirrel-forge/node-cfx
```

## Example output
![@squirrel-forge/node-cfx example text output](https://raw.githubusercontent.com/squirrel-forge/node-cfx/main/squirrel-forge-node-cfx-test-output.png)

## Usage

Getting and using a default instance.
```javascript
const { cfx, ASCIIREF, OutputStyler } = require( '@squirrel-forge/node-cfx' );
cfx.log( '[ul][fgreen]underlined green text[re]' );
```

Default styled output.
```javascript
cfx.success( 'success' );
cfx.error( 'error' );
cfx.warn( 'warning' );
cfx.info( 'info' );
```

Get a styled string:
```javascript
const str = cfx.setStyle( '[ul][fgreen]underlined green text[re]' ); // \x1b[4m\x1b[32munderlined green text\x1b[0m
```

To enable automatic prefixing with the current timestamp set the *prependTime* property:
```javascript
cfx.prependTime = true;
```

To change the timestamp style, use the *timestampPrefix* and *timestampSuffix* properties:
```javascript
cfx.timestampPrefix = '[fwhite][[re][th]';
cfx.timestampSuffix = '[re][fwhite]][re] ';
```

Setting a custom timestamp format, see [time-stamp](https://www.npmjs.com/package/time-stamp) for details.
```javascript
cfx.timestampFormat = 'YYYY-MM-DD HH:mm:ss';
```

## Styling options

### Control and text style

| Code | Control | Code | Text      |
|------|---------|------|-----------|
| [re] | Reset   | [bo] | Bold      |
| [rv] | Reverse | [th] | Thin      |
| -    | -       | [ul] | Underline |
| -    | -       | [bl] | Blink     |
| -    | -       | [hd] | Hidden    |

### Text and background colors

|  Text      | Background | Color   |
|------------|------------|---------|
| [fblack]   | [bblack]   | Black   |
| [fred]     | [bred]     | Red     |
| [fgreen]   | [bgreen]   | Green   |
| [fyellow]  | [byellow]  | Yellow  |
| [fblue]    | [bblue]    | Blue    |
| [fmagenta] | [bmagenta] | Magenta |
| [fcyan]    | [bcyan]    | Cyan    |
| [fwhite]   | [bwhite]   | White   |

## Overriding default styles

Default styles and reset.
```javascript
cfx.style = {
    error : '[bred][fwhite] ',
    warn : '[byellow][fblack] ',
    info : '[bblack][fcyan] ',
    success : '[bgreen][fblack] ',
};
this.styleReset = ' [re]';
```

Default reset, used when no other reset is passed to the internal *_write* method, useful when making your own style methods.
```javascript
cfx.defaultReset = ' [re]';
```

## Issues and docs

If you encounter any issues, please report [here](https://github.com/squirrel-forge/node-cfx/issues).

---
Check the sourcecode on [github](https://github.com/squirrel-forge/node-cfx) for detailed comments.
npm package: @squirrel-forge/node-objection
Description: Advanced plain object handling, manipulation and extraction
Author: Daniel Hartwell
Latest version: 1.0.1

# node-objection

Advanced plain object handling, manipulation and extraction.

## Install

```
# npm i @squirrel-forge/node-objection
```

## Usage

Get the module reference.
```javascript
const objm = require( '@squirrel-forge/node-objection' );
```

Following methods/functions are available:
```javascript
objm.cloneObject( source, recursive = false ) : Object
objm.isPojo( obj ) : boolean
objm.mergeArray( [ unique, clone,] array1, array2[, ...] ) : Array
objm.mergeObject( target, changes, extend = false, recursive = false, arrayClone = false, noArray = false ) : Object
objm.strAccess( strpath, subject, exact = true, debug = console ) : *
objm.strCreate( strpath, value, target, replace = false, any = false, debug = console ) : Object
```
npm package: @squirrel-forge/node-taskrunner
Description: Task runner and task class for sequential and parallel processing
Author: Daniel Hartwell
Latest version: 1.0.0

# @squirrel-forge/node-taskrunner

Task runner and task class for sequential and parallel processing.

## Installation

```
npm i @squirrel-forge/node-taskrunner

```

## Usage

```
const { Task, TaskRunner } = require( '@squirrel-forge/node-taskrunner' );
```

### Classes

 - Task( runner, options, defaults )
   - runner : TaskRunner
   - timer : Timer
   - stats( obj )
   - run()
 - TaskRunner( strict, notify, parser )
   - error( exception )
   - register( name, constructor, replace )
   - getTaskConstructor( name )
   - parallel( array )
   - sequence( obj )
   - task( data )
   - run( map )

## Docs

Check the sourcecode on [github](https://github.com/squirrel-forge/node-taskrunner) for extensive comments.
npm package: @squirrel-forge/node-terminal
Description: A node commandline abstraction, simple cli structure and application wrapper with commands
Author: Daniel Hartwell
Latest version: 2.0.3

# node-terminal

A node commandline abstraction, application wrapper and commands.

## Installation

```
npm i @squirrel-forge/node-terminal

```

## Usage

```
const { Class } = require( '@squirrel-forge/node-terminal' );
```

### Classes

 - Application( options, init )
   - timer : Timer
   - options : Object
   - input : CliInput
   - progress : Progress
   - setInputProps( target, flags )
   - register ( constructor )
   - getCommandName( name )
   - getCommandInstance( constructor, options )
   - run( options, exit )
   - exit( code, time )
 - Command( app, options )
   - app : Application
   - options : Object
   - argData( index )
   - flagData( flag )
   - getDefaultString( def )
   - describe()
   - before()
   - fire()
 - HelpCommand( app ) extends Command
   - fire()

## Docs

Check the sourcecode on [github](https://github.com/squirrel-forge/node-terminal) for extensive comments.
npm package: @squirrel-forge/ui-accordion
Description: An accessible accordion with events and plugin support, made for the browser and babel compatible.
Author: Daniel Hartwell
Latest version: 0.8.1

# @squirrel-forge/ui-accordion
An accessible accordion with events and plugin support, made for the browser and babel compatible.

## Installation

```
npm i @squirrel-forge/ui-accordion
```

## Usage

```
import { Class, function } from '@squirrel-forge/ui-accordion';
```

## Documentation
The documentation is also included in the package.

### Table of contents
Package contents listing by namespace.

 - [Accordion](docs/Accordion.md)
   - [UiAccordionComponent](docs/Accordion.md#UiAccordionComponent)
   - [UiAccordionPanelComponent](docs/Accordion.md#UiAccordionPanelComponent)
 - [Plugins](docs/Plugins.md)
   - [UiAccordionPluginSafemode](docs/Plugins.md#UiAccordionPluginSafemode)
   - [UiAccordionPluginScroller](docs/Plugins.md#UiAccordionPluginScroller)
   - [UiAccordionPluginToggle](docs/Plugins.md#UiAccordionPluginToggle)

## Issues and docs
If you encounter any issues, please report [here](https://github.com/squirrel-forge/ui-accordion/issues).

---

Check the sourcecode on [github](https://github.com/squirrel-forge/ui-accordion) for detailed comments.
npm package: @squirrel-forge/ui-core
Description: A collection of interface, classes, functions and abstracts made for the browser and babel compatible.
Author: Daniel Hartwell
Latest version: 0.12.0

# @squirrel-forge/ui-core
A collection of interface, classes, functions and abstracts made for the browser and babel compatible.

## Installation

```
npm i @squirrel-forge/ui-core
```

## Usage

```
import { Class, function } from '@squirrel-forge/ui-core';
```

## Documentation
The documentation is also included in the package.

## Table of contents
Package contents listing by language and namespace.

 - Javascript
   - [Abstracts](docs/Abstracts.md)
     - [UiComponent](docs/Abstracts.md#uicomponent)
     - [UiPlugin](docs/Abstracts.md#uiplugin)
     - [UiTemplate](docs/Abstracts.md#uitemplate)
   - [Renderers](docs/Renderers.md)
     - [UiTemplateRenderer](docs/Renderers.md#uitemplaterenderer)
   - [States](docs/States.md)
     - [ComponentStates](docs/States.md#componentstates)
     - [ElementClassStates](docs/States.md#elementclassstates)

## Issues and docs
If you encounter any issues, please report [here](https://github.com/squirrel-forge/ui-core/issues).

---

Check the sourcecode on [github](https://github.com/squirrel-forge/ui-core) for detailed comments.
npm package: @squirrel-forge/ui-form
Description: An async Form component, event based with extensive plugin support, made for the browser and babel compatible.
Author: Daniel Hartwell
Latest version: 0.10.0

# @squirrel-forge/ui-form
An async Form component, event based with extensive plugin support, made for the browser and babel compatible.

## Installation

```
npm i @squirrel-forge/ui-form
```

## Usage

```
import { Class, function } from '@squirrel-forge/ui-form';
```

## Documentation
The documentation is also included in the package.

### Table of contents
Package contents listing by namespace.

 - [Form](docs/Form.md)
   - [FormValues](docs/Form.md#formvalues)
   - [Html5Validator](docs/Form.md#html5validator)
   - [UiFormComponent](docs/Form.md#uiformcomponent)
 - [Plugins](docs/Plugins.md)
   - [UiFormPluginFieldControl](docs/Plugins.md#uiformpluginfieldcontrol)
   - [UiFormPluginJSONResponse](docs/Plugins.md#uiformpluginjsonresponse)
   - [UiFormPluginPrefetch](docs/Plugins.md#uiformpluginprefetch)
   - [UiFormPluginReCaptcha](docs/Plugins.md#uiformpluginrecaptcha)
   - [UiFormPluginValidate](docs/Plugins.md#uiformpluginvalidate)
   - [UiFormPluginValues](docs/Plugins.md#uiformpluginvalues)

## Issues and docs
If you encounter any issues, please report [here](https://github.com/squirrel-forge/ui-form/issues).

---

Check the sourcecode on [github](https://github.com/squirrel-forge/ui-form) for detailed comments.
npm package: @squirrel-forge/ui-modal
Description: An accessible modal with custom events, plugin support, css and sass styling options and multiple template formats.
Author: Daniel Hartwell
Latest version: 0.6.2

# @squirrel-forge/ui-modal

An accessible modal with custom events, plugin support, css and sass styling options and multiple template formats.

## Installation

```
npm i @squirrel-forge/ui-modal
```

## Usage

**Javascript es10**
```js
import { UiModalComponent } from '@squirrel-forge/ui-modal';
```

**Sass**
```scss
@use '~@squirrel-forge/ui-modal' as modal;
```

### Table of contents

Package contents listing by type and namespace.

#### Javascript

 - [Modal](docs/Modal.md)
   - [UiModalComponent](docs/Modal.md#uimodalcomponent)
   - [UiModalTemplate](docs/Modal.md#uimodaltemplate)
 - [Plugins](docs/Plugins.md)
   - [UiModalPluginAlert](docs/Plugins.md#uimodalpluginalert)
   - [UiModalPluginConfirm](docs/Plugins.md#uimodalpluginconfirm)
   - [UiModalPluginPrompt](docs/Plugins.md#uimodalpluginprompt)

#### Markup

 - [Blade](docs/Modal.md#blade-template)
 - [HTML](docs/Modal.md#html-static-for-adaption)
 - [Twig](docs/Modal.md#twig-templates)
 - [Minimal](docs/Modal.md#minimal-markup)

#### Styling

 - [CSS](docs/Modal.md#css-styles)
 - [Sass](docs/Modal.md#sass-module)
 - [Minimal](docs/Modal.md#minimal-styling)

## Feedback and issues
For feedback or if you encounter any issues, please report [here](https://github.com/squirrel-forge/ui-modal/issues).

---

Check the sourcecode on [github](https://github.com/squirrel-forge/ui-modal) for detailed comments.
npm package: @squirrel-forge/ui-video
Description: An accessible video player with events and plugin support, made for the browser and babel compatible.
Author: Daniel Hartwell
Latest version: 0.5.1

# @squirrel-forge/ui-video
An accessible video player with events and plugin support, made for the browser and babel compatible.

## Installation

```
npm i @squirrel-forge/ui-video
```

## Usage

```
import { Class, function } from '@squirrel-forge/ui-video';
```

## Documentation
The documentation is also included in the package.

### Table of contents
Package contents listing by namespace.

 - [Video](docs/Video.md)
   - [UiVideoComponent](docs/Video.md#uivideocomponent)
 - [Plugins](docs/Plugins.md)
   - [UiVideoPluginResponsive](docs/Plugins.md#uivideopluginresponsive)
   - [UiVideoPluginTracking](docs/Plugins.md#uivideoplugintracking)

## Issues and docs
If you encounter any issues, please report [here](https://github.com/squirrel-forge/ui-video/issues).

---

Check the sourcecode on [github](https://github.com/squirrel-forge/ui-video) for detailed comments.