open-index/open-npm huggingface dataset:
npm package: @m9ch/utils
Description: Collection of common JavaScript / TypeScript utils
Latest version: 0.4.0

# @m9ch/utils

[![npm version](https://badgen.net/npm/v/@m9ch/utils)](https://npm.im/@m9ch/utils) [![npm downloads](https://badgen.net/npm/dm/@m9ch/utils)](https://npm.im/@m9ch/utils)
## Install

via `pnpm`, `yarn` or `npm`:

```bash
pnpm add @m9ch/utils
# or
yarn add @m9ch/utils
# or
npm i -S @m9ch/utils
```

## License

MIT &copy; [Mitscherlich](https://mitscherlich.me)
npm package: @m9ch/vue-forward-ref
Description: Portal `React.forwardRef` api into Vue
Latest version: 0.1.1
Deprecated: rename to `v-forward-ref`, use it instead of this package

# @m9ch/vue-forward-ref

[![npm version](https://badgen.net/npm/v/@m9ch/vue-forward-ref)](https://npm.im/@m9ch/vue-forward-ref) [![npm downloads](https://badgen.net/npm/dm/@m9ch/vue-forward-ref)](https://npm.im/@m9ch/vue-forward-ref)

## Install

via `pnpm`, `yarn` or `npm`:

```bash
pnpm add @m9ch/vue-forward-ref
# or
yarn add @m9ch/vue-forward-ref
# or
npm i -S @m9ch/vue-forward-ref
```

## How to use

```typescript
import { forwardRef } from '@m9ch/vue-forward-ref'

const Comp = defineComponent((props, ctx) => {
  ctx.expose({ foo: 'bar' })

  return () => <div>{props.message}</div>
})

const Wrap = forwardRef((props, { slots }, ref) => {
  return <Comp {...props} ref={ref} v-slots={slots} />
})

const App = defineComponent(() => {
  const cmpRef = ref(null)

  onMounted(() => {
    console.log(cmpRef.value.foo) // => 'bar'
  })

  return () => <Wrap message="Hello" ref={cmpRef} />
})
```

## License

MIT &copy; [Mitscherlich](https://mitscherlich.me)
npm package: @m9hmoods/editorjs-yte-tool
Description: Youtube Embed Tool for Editor.js
Author: Mahmood A.Shakir
Latest version: 1.0.2

# Youtube Embed Tool

Provides Youtube Embed for the [EditorJS](https://editorjs.io/).

## Installation

### Install via NPM

Get the package

```shell
npm i --save-dev @m9hmoods/editorjs-yte-tool
```

Include module at your application

```javascript
const YteEmbed = require('@m9hmoods/editorjs-yte-tool');
```

### Download to your project's source dir

1. Upload folder `dist` from repository
2. Add `dist/bundle.js` file to your page.

### Load from CDN

You can load specific version of package from [jsDelivr CDN](https://www.jsdelivr.com/package/npm/@m9hmoods/editorjs-yte-tool).

`https://cdn.jsdelivr.net/npm/@m9hmoods/editorjs-yte-tool@latest`

Then require this script on page with CodeX Editor.

```html
<script src="..."></script>
```

## Usage

Add a new Tool to the `tools` property of the EditorJS initial config.

```javascript
var editor = new EditorJS({
  ...
  
  tools: {
    ...
    youtube: YteEmbed,
  },
  
  ...
});
```

Or init Youtube Embed Tool with additional settings

```javascript
var editor = EditorJS({
  ...
  tools: {
    ...
    youtube: {
      class: YteEmbed,
      config: {
        wrapperClass: '...',
        inputClass: '...',
        inputPlaceholder: '...',
        buttonClass: '...',
        buttonText: '...',
        invalidText: '...',
      },
    },
  },
  
  ...
});
```

## Output data

| Field     | Type     | Description      |
| --------- | -------- | -----------------|
| url       | `string` | Youtube Embed URL|

```json
{
    "type" : "youtube",
    "data" : {
      "url": "https://www.youtube.com/embed/[VIDEO_KEY]"
    }
}
```