From 07b3dcc58c45820967ce58621559c9f07c0b553d Mon Sep 17 00:00:00 2001 From: bestguy <7zark7@gmail.com> Date: Mon, 7 Jun 2021 07:50:15 -0700 Subject: [PATCH] Update Fade --- src/Fade.d.ts | 1 + src/Fade.svelte | 44 ++++++++++++++++++-------------- stories/Example.svelte | 2 +- stories/fade/Index.svelte | 9 +++++++ stories/fade/RenderClosed.svelte | 13 ++++++++++ 5 files changed, 49 insertions(+), 20 deletions(-) create mode 100644 stories/fade/RenderClosed.svelte diff --git a/src/Fade.d.ts b/src/Fade.d.ts index 954ed4ed..261288b5 100644 --- a/src/Fade.d.ts +++ b/src/Fade.d.ts @@ -7,6 +7,7 @@ export interface FadeProps onEntered?: () => void; onExiting?: () => void; onExited?: () => void; + renderWhenClosed?: boolean; toggler?: string; } diff --git a/src/Fade.svelte b/src/Fade.svelte index c65b340c..ec1142a5 100644 --- a/src/Fade.svelte +++ b/src/Fade.svelte @@ -1,35 +1,41 @@ -{#if isOpen} -
+
isOpen ? onEntering() : onExiting()} + on:transitionend={() => isOpen ? onEntered() : onExited()} + class={classes}> + {#if renderWhenClosed} -
-{/if} + {:else if isOpen || show} + + {/if} +
diff --git a/stories/Example.svelte b/stories/Example.svelte index b00efc35..c6221d2a 100644 --- a/stories/Example.svelte +++ b/stories/Example.svelte @@ -4,7 +4,7 @@ export let stacked: boolean = false; export let source: any; - export let title: any; + export let title: any = undefined;
diff --git a/stories/fade/Index.svelte b/stories/fade/Index.svelte index 7e3aa053..d2cb7f30 100644 --- a/stories/fade/Index.svelte +++ b/stories/fade/Index.svelte @@ -2,6 +2,8 @@ import Example from '../Example.svelte'; import Events from './Events.svelte'; import eventsSource from '!!raw-loader!./Events.svelte'; + import RenderClosed from './RenderClosed.svelte'; + import renderClosedSource from '!!raw-loader!./RenderClosed.svelte'; import Sample from './Sample.svelte'; import sampleSource from '!!raw-loader!./Sample.svelte'; import Uncontrolled from './Uncontrolled.svelte'; @@ -15,6 +17,13 @@ Carousels, ListGroups, Modals, and Navs. + +

+ Use the renderWhenClosed prop for to keep Fade content slot in DOM when closed. +

+ +
+

Use the on:opening, on:open, on:closing and on:close props for diff --git a/stories/fade/RenderClosed.svelte b/stories/fade/RenderClosed.svelte new file mode 100644 index 00000000..402d5744 --- /dev/null +++ b/stories/fade/RenderClosed.svelte @@ -0,0 +1,13 @@ + + + + + + I've been here the whole time. + +