All Projects → romkor → svelte-portal

romkor / svelte-portal

Licence: MIT license
Svelte component for rendering outside the DOM of parent component

Programming Languages

javascript
184084 projects - #8 most used programming language
Svelte
593 projects

Projects that are alternatives of or similar to svelte-portal

svelte-headlessui
Unofficial Svelte port of Headless UI components
Stars: ✭ 564 (+116.09%)
Mutual labels:  svelte, sveltejs, svelte3
svelte-webcomponents
A ready-to-use project template to build custom elements (web components) with Svelte 3 with support and examples for web components, jest, sass, nested components with props, eslinting, stylelinting, Github actions, propagating custom events from shadow-DOM to real-DOM etc.
Stars: ✭ 22 (-91.57%)
Mutual labels:  svelte, sveltejs, svelte3
svelte-interview-questions
Concepts and Questions related to Svelte - Part of official Svelte resources list
Stars: ✭ 18 (-93.1%)
Mutual labels:  svelte, sveltejs, svelte3
svelte-accessible-dialog
An accessible dialog component for Svelte apps
Stars: ✭ 24 (-90.8%)
Mutual labels:  svelte, sveltejs, svelte3
svelte-starter-kit
Svelte with brilliant bells and useful whistles
Stars: ✭ 384 (+47.13%)
Mutual labels:  svelte, sveltejs, svelte3
Svelte Material Ui
Svelte Material UI Components
Stars: ✭ 2,081 (+697.32%)
Mutual labels:  svelte, sveltejs, svelte3
s-date-range-picker
📅 A date range picker built with Svelte
Stars: ✭ 13 (-95.02%)
Mutual labels:  svelte, sveltejs, svelte3
svelte-meteor-data
Reactively track Meteor data inside Svelte components
Stars: ✭ 14 (-94.64%)
Mutual labels:  svelte, sveltejs, svelte3
ui-svelte
A component library for Svelte
Stars: ✭ 18 (-93.1%)
Mutual labels:  svelte, sveltejs, svelte3
BeatHub
Small, simple, and fast custom beatmap browser & downloader built with Svelte
Stars: ✭ 13 (-95.02%)
Mutual labels:  svelte, svelte3
svelte-form
JSON Schema form for Svelte v3
Stars: ✭ 47 (-81.99%)
Mutual labels:  svelte, svelte3
template
Elder.js template project. It is part template, part tutorial. Dive in!
Stars: ✭ 101 (-61.3%)
Mutual labels:  svelte, sveltejs
svelte-persistent-store
A Svelte store that keep its value through pages and reloads
Stars: ✭ 111 (-57.47%)
Mutual labels:  svelte, sveltejs
svelte-component-library-template
A base for building Svelte component library.
Stars: ✭ 62 (-76.25%)
Mutual labels:  svelte, sveltejs
svelte-typescript-rollup
Svelte + Typescript + Rollup
Stars: ✭ 79 (-69.73%)
Mutual labels:  svelte, sveltejs
svelte-pagination
Example of a pagination component in Svelte
Stars: ✭ 15 (-94.25%)
Mutual labels:  svelte, sveltejs
svelteify
📲 Customizable and dependencies-less Material components with Svelte
Stars: ✭ 43 (-83.52%)
Mutual labels:  svelte, sveltejs
svelte-datagrid
Svelte data grid spreadsheet best best features and performance from excel
Stars: ✭ 48 (-81.61%)
Mutual labels:  svelte, sveltejs
fastify-vite
This plugin lets you load a Vite client application and set it up for Server-Side Rendering (SSR) with Fastify.
Stars: ✭ 497 (+90.42%)
Mutual labels:  svelte, sveltejs
svelte-progressbar
A multiseries, SVG progressbar component made with Svelte
Stars: ✭ 85 (-67.43%)
Mutual labels:  svelte, sveltejs

Svelte component for rendering outside the DOM of parent component

Idea borrowed from here: sveltejs/svelte#3088 (comment)

Installation

npm install --save svelte-portal

or

yarn add svelte-portal

Usage Portal component

The <Portal /> 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

<script>
  import Portal from "svelte-portal";
</script>

<Portal target="body">
  <div class="toast">Entity successfully updated!</div>
</Portal>

Usage portal action

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

Example

<script>
  import { portal } from "svelte-portal";
</script>

<div class="toast" use:portal={"body"} hidden>Entity successfully updated!</div>

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

<script lang="ts"> users should import from "svelte-portal/src/Portal.svelte" instead of "svelte-portal" to get typing support.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].