add share modal

This commit is contained in:
Tixie
2020-02-22 03:50:37 +01:00
parent 415c582c00
commit e42fd4fe6b
11 changed files with 242 additions and 12 deletions

View File

@ -1,10 +1,10 @@
<span bind:this={btn} on:click={() => openMenu()}>
<span bind:this={btn} on:click={() => open()}>
<slot name="btn">
<button>button</button>
</slot>
</span>
<div class="contextMenu__overlay" class:active={isActive} on:click={() => closeMenu()}></div>
<div class="contextMenu__overlay" class:active={isActive} on:click={() => close()}></div>
<div class="contextMenu" bind:this={content} class:active={isActive}>
<slot name="content">
No content
@ -12,7 +12,7 @@
</div>
<script>
import { onMount } from 'svelte';
import { onMount, setContext } from 'svelte'
import { createPopper } from '@popperjs/core';
import detectOverflow from '@popperjs/core/lib/utils/detectOverflow.js';
@ -20,14 +20,17 @@ let btn
let content
let isActive = false
function openMenu () {
export function open () {
isActive = true
}
function closeMenu () {
export function close () {
isActive = false
}
setContext('openMenu', open)
setContext('closeMenu', close)
onMount(() => {
createPopper(btn, content, {
placement: 'left-start',