From fd7164a312c80e7de2f27adaa0be58de05ec8d59 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sat, 11 Jan 2020 18:39:33 -0800 Subject: [PATCH] feat(code-snippet): add skeleton state --- src/components/CodeSnippet/CodeSnippet.svelte | 122 ++++++++++-------- 1 file changed, 66 insertions(+), 56 deletions(-) diff --git a/src/components/CodeSnippet/CodeSnippet.svelte b/src/components/CodeSnippet/CodeSnippet.svelte index aeeb254f..0cc3abb3 100644 --- a/src/components/CodeSnippet/CodeSnippet.svelte +++ b/src/components/CodeSnippet/CodeSnippet.svelte @@ -10,6 +10,7 @@ export let light = false; export let showLessText = 'Show less'; export let showMoreText = 'Show more'; + export let skeleton = false; export let style = undefined; export let type = 'single'; @@ -19,71 +20,80 @@ import Button from '../Button'; import Copy from '../Copy'; import CopyButton from '../CopyButton'; + import CodeSnippetSkeleton from './CodeSnippet.Skeleton.svelte'; let codeRef = undefined; let expanded = false; let showMoreLess = false; afterUpdate(() => { - showMoreLess = type === 'multi' && codeRef.getBoundingClientRect().height > 255; + if (type === 'multi' && codeRef) { + showMoreLess = codeRef.getBoundingClientRect().height > 255; + } }); $: expandText = expanded ? showLessText : showMoreText; -{#if type === 'inline'} - - - {code} - - -{:else} -
-
- -
-          {code}
-        
-
-
- - {#if showMoreLess} - - {/if} -
+{#if skeleton} + +{/if} + +{#if !skeleton} + {#if type === 'inline'} + + + {code} + + + {:else} +
+
+ +
+            {code}
+          
+
+
+ + {#if showMoreLess} + + {/if} +
+ {/if} {/if}