Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Svelte component for rendering outside the DOM of parent component
https://github.com/romkor/svelte-portal

portal svelte svelte3 sveltejs

Last synced: about 2 months ago
JSON representation

Svelte component for rendering outside the DOM of parent component

Awesome Lists containing this project

README

        

Svelte component for rendering outside the DOM of parent component

Idea borrowed from here: https://github.com/sveltejs/svelte/issues/3088#issuecomment-505785516

# Installation

```sh
npm install --save svelte-portal
```

or

```sh
yarn add svelte-portal
```

# Usage Portal component

The `` component has only one property: `target`

target can be a HTMLElement `target={document.body}` or a css selector `target="#modals"` that points to an already existing element.

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

## Example

```html

import Portal from "svelte-portal";

Entity successfully updated!

```

# Usage portal action

The functionality can also be applied to DOM elements directly via a svelte action:

## Example

```html

import { portal } from "svelte-portal";

Entity successfully updated!

```

The `hidden` atrribute is only needed when using ssr, when portal has moved the element to it's targetted location it removes the hidden attribute.

## TypeScript support

`` users should import from `"svelte-portal/src/Portal.svelte"` instead of `"svelte-portal"` to get typing support.