open-index/open-npm huggingface dataset:
npm package: @oklinov/google-maps-data-ast
Description: Parse and/or stringify Google Maps proprietary data type (aka !1m3 style)
Latest version: 0.0.17

<br>

![Illustration](media/banner.jpg)

<br>

    Parse and/or stringify Google Maps proprietary data type (aka !1m3 style)

`npm i google-maps-data-ast` / `yarn add google-maps-data-ast`

[![Version](https://img.shields.io/npm/v/google-maps-data-ast?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/google-maps-data-ast)
[![Downloads](https://img.shields.io/npm/dt/google-maps-data-ast.svg?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/google-maps-data-ast)

# Get started
```ts
import { parse, stringify } from 'google-maps-data-ast';

const data = '!3m1!4b1!4m5!3m4!1s0x0:0xe665b3308d32f379!8m2!3d-37.8805676!4d145.1644849';

const ast = parse(data);
```

Abstract syntax tree for `!3m1!4b1!4m5!3m4!1s0x0:0xe665b3308d32f379!8m2!3d-37.8805676!4d145.1644849`:
```ts
[
  {
    id: 3,
    code: 'm',
    type: 'matrix',
    value: '1',
    data: 1,
    children: [ { id: 4, code: 'b', type: 'boolean', value: '1', data: true } ]
  },
  {
    id: 4,
    code: 'm',
    type: 'matrix',
    value: '5',
    data: 5,
    children: [
      {
        id: 3,
        code: 'm',
        type: 'matrix',
        value: '4',
        data: 4,
        children: [
          {
            id: 1,
            code: 's',
            type: 'string',
            value: '0x0:0xe665b3308d32f379',
            data: [ 0, 16601872622479930000 ]
          },
          {
            id: 8,
            code: 'm',
            type: 'matrix',
            value: '2',
            data: 2,
            children: [
              {
                id: 3,
                code: 'd',
                type: 'double',
                value: '-37.8805676',
                data: -37.8805676
              },
              {
                id: 4,
                code: 'd',
                type: 'double',
                value: '145.1644849',
                data: 145.1644849
              }
            ]
          }
        ]
      }
    ]
  }
]
```

```ts

const modifiedData = stringify([
  {
    code: 'b',
    type: 'boolean',
    value: '0',
    id: 1,
  },
  ...ast
])

// is now equivalent to

const modifiedData = '!1b0!3m1!4b1!4m5!3m4!1s0x0:0xe665b3308d32f379!8m2!3d-37.8805676!4d145.1644849'

```
npm package: @oklinov/happy-dom
Description: Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
Author: David Ortner
Latest version: 0.0.1

![Happy DOM Logo](https://github.com/capricorn86/happy-dom/raw/master/docs/happy-dom-logo.jpg)

A JavaScript implementation of a web browser without its graphical user interface.

## DOM Features

- Custom Elements (Web Components)

- Declarative Shadow DOM

- Mutation Observer

- Tree Walker

- Fetch API

And much more..

## Documentation

[Documentation](https://github.com/capricorn86/happy-dom/wiki/) | [Getting Started](https://github.com/capricorn86/happy-dom/wiki/Getting-started) | [Setup as Test Environment](https://github.com/capricorn86/happy-dom/wiki/Setup-as-Test-Environment) | [GitHub](https://github.com/capricorn86/happy-dom/)

## Works With

[Vitest](https://vitest.dev/) | [Bun](https://bun.sh) | [Jest](https://jestjs.io/) | [Testing Library](https://testing-library.com/) | [Google LitElement](https://lit.dev/) | [Vue](https://vuejs.org/) | [React](https://reactjs.org) | [Svelte](https://svelte.dev/) | [Angular](https://angular.dev/)

## Module Systems

[ESM](https://nodejs.org/api/esm.html#introduction) | [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules)

## Performance

| Operation                            | JSDOM   | Happy DOM |
| ------------------------------------ | ------- | --------- |
| Import / Require                     | 333 ms  | 45 ms     |
| Parse HTML                           | 256 ms  | 26 ms     |
| Serialize HTML                       | 65 ms   | 8 ms      |
| Render custom element                | 214 ms  | 19 ms     |
| querySelectorAll('tagname')          | 4.9 ms  | 0.7 ms    |
| querySelectorAll(':nth-child(2n+1)') | 10.4 ms | 3.8 ms    |

See how the test was done [here](https://github.com/capricorn86/happy-dom-performance-test)
npm package: @oklookat/jmarkd
Description: simple markdown editor
Author: oklookat
Latest version: 2.0.0

# jmarkd

![screenshot](./screenshot/screen.png)

## Features
- Toolbar with API
- Dark/light themes
- Preview (you need to provide markdown parser)
- Hmm. What else is needed?

## Requirements
- **Modern browser**

## Example
```npm install @oklookat/jmarkd```
```html
<div class="container"></div>
```
```typescript
import jmarkd from '@oklookat/jmarkd'
import '@oklookat/jmarkd/styles'
import { Config } from '@oklookat/jmarkd'

const container = document.getElementsByClassName('container')[0]

const config: Config = {
    container: container,

    // (optional) preview tool config to display parsed markdown
    toolbar: {
        elements: {
            config: {
                preview: {
                    parse: (data) => {
                        return anotherMarkdownParser.parse(data)
                    }
                }
            }
        }
    }
}

const editor = new jmarkd(config)
```

## Creating you own toolbar item
```typescript
import jmarkd from '@oklookat/jmarkd'
import '@oklookat/jmarkd/styles'
import { Config, ToolbarElement } from '@oklookat/jmarkd'

class Say implements ToolbarElement {
    private what: string

    get icon() {
        return "Say"
    }

    setConfig(what: string) {
        this.what = what
    }

    getShortcut() {
        return ['AltLeft', 'KeyE']
    }

    onClick(textarea: HTMLTextAreaElement) {
        textarea.value += this.what
    }
}

const container = document.getElementsByClassName('container')[0]
const config: Config = {
    container: container,
    toolbar: {
        // displayed: ['say'] // if you need leave only your items or change item order
        elements: {
            boot: {
                say: new Say()
            },
            config: {
                say: '🌹'
            }
        }
    }
}

const editor = new jmarkd(config)
```

## Types, configs, toolbars, etc
- **[./src/types.d.ts](./src/types.d.ts)**
- **[./src/factory](./src/factory)**
npm package: @oklookat/svelte-portal
Description: Svelte component for rendering outside the parent component
Latest version: 1.0.2

# Svelte component for rendering outside the parent component

Fork of: https://github.com/romkor/svelte-portal

Changes:
- Based on SvelteKit
- Typescript support
- Little code refactoring
- https://github.com/romkor/svelte-portal/issues/129

# Installation

```sh
npm i @oklookat/svelte-portal
```


# Usage

`<Portal />` component has only one property: `target`.

Target can be a HTMLElement or a CSS selector that points to an already existing element.

When no target is given it defaults to: `document.body`.

## Example

```html
<script>
  import Portal from "@oklookat/svelte-portal";
  import { portal } from "@oklookat/svelte-portal";
</script>

<main>
  <Portal target="body">
    div in body (component)
  </Portal>

  <div use:portal={".overlay"}>
    div in .overlay (use)
  </div>
</main>

<div class="overlay" />
```
npm package: @okmarvin/january
Description: Adds this package to your okmarvin project and configures `_config.toml` to use it:
Author: Sam Chen
Latest version: 1.15.18

## Usage

Adds this package to your okmarvin project and configures `_config.toml` to use it:

```toml
theme = "@okmarvin/january"
```

Make sure to put logo image into `okmarvin project/public/static/img` folder.

### Available Options for \_config.toml

| Option           | Description                               |
| ---------------- | ----------------------------------------- |
| github           | github username                           |
| twitter          | twitter username                          |
| google_analytics | Google Analytics ID                       |
| source           | Where you host your markdown source files |

## Develop

Clone this repo and install dependencies:

```sh
$ git clone https://github.com/OkMarvin/january.git
$ cd january
$ npm install
```

Run `npm start` to start development server.

## Build for production

Just run `npm run build`.

But there are some requirements when you build theme for okmarvin:

1. Please use `webpack` to build assets even though we use Parcel for development
2. `main` field in `package.json` should point to a `manifest.json` file generated by `webpack` plugin

## note

1. Not using react-router-dom because of this [issue](https://github.com/ReactTraining/react-router/issues/6789#issuecomment-502490351)
npm package: @okmarvin/markdown-it-toc
Description: markdown-it plugin for adding table of contents
Author: Sam Chen
Latest version: 0.0.21

## Why another markdown-it table of contents plugin?

Most of the table of contents plugins for markdown-it out there wrap toc in `<p></p>`, i.e. they are inlined. When you have `ul` tag inside `p`, browsers would render it as:

```html
<p></p>
<ol></ol>
<p></p>
```
It's ugly.

In `@okmarvin/markdown-it-toc`, it will be wrapped in a `nav`:

```html
<nav class="toc">
<h2 class="toc__heading">Table of contents</h2>
<ol></ol>
</nav>
```

## Usage

```js
var md = require('markdown-it')({
  html: true,
  linkify: true,
  typography: true
}).use(require('@okmarvin/markdown-it-toc'))
md.render('{:toc}\n# heading one')
```
Remember to add placeholder `{:toc}` to where you want table of contents be inserted in your markdown file.

## Options

You can specify options too:

|Name|Description|Default|
|---|---|---|
|class|css class for table of contents' container|`toc`|
|hMin|minimum heading level toc will show|1|
|hMax|maximun heading level toc will show|6|
|enableHeadingIcon|add an icon to heading anchor|`false`|
|headingAnchorClass|class for heading anchor|`anchor`|
|headingAnchorPrefix|prefix for heading anchor|``|
|title|Heading|`Table of contents`|
npm package: @okmtyuta/amatelas
Description: - weight: 200 - grade: 0 - size: 24px
Author: okmtyuta
Latest version: 0.12.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Google Font Icon Regulation

- weight: 200
- grade: 0
- size: 24px