From a828218d1552543cc1f8ae2108cec0954c807666 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Fri, 20 Dec 2019 04:16:50 -0800 Subject: [PATCH] refactor(tile): forward events, inline functions Supports #7, #34 - Forward events, style prop - Remove unneeded dispatched events - Remove exported props --- src/components/Tile/ClickableTile.svelte | 39 +++++++------ src/components/Tile/ExpandableTile.svelte | 15 +++-- src/components/Tile/RadioTile.svelte | 17 ++++-- src/components/Tile/SelectableTile.svelte | 56 +++++++------------ src/components/Tile/Tile.Story.svelte | 6 +- src/components/Tile/Tile.svelte | 6 +- .../Tile/TileAboveTheFoldContent.svelte | 9 ++- .../Tile/TileBelowTheFoldContent.svelte | 9 ++- src/components/Tile/TileGroup.svelte | 5 +- 9 files changed, 87 insertions(+), 75 deletions(-) diff --git a/src/components/Tile/ClickableTile.svelte b/src/components/Tile/ClickableTile.svelte index 5d36a9fb..36e99c74 100644 --- a/src/components/Tile/ClickableTile.svelte +++ b/src/components/Tile/ClickableTile.svelte @@ -5,28 +5,10 @@ export let rel = undefined; export let light = false; export let clicked = false; - export let props = {}; + export let style = undefined; - import { createEventDispatcher, tick } from 'svelte'; import { cx } from '../../lib'; - const dispatch = createEventDispatcher(); - - async function handleClick(event) { - clicked = !clicked; - await tick(); - dispatch('click', event); - } - - async function handleKeyDown(event) { - if (event.key === ' ' || event.key === 'Enter') { - clicked = !clicked; - await tick(); - } - - dispatch('keydown', event); - } - $: _class = cx( '--link', '--tile', @@ -37,6 +19,23 @@ ); - + { + clicked = !clicked; + }} + on:keydown + on:keydown={event => { + if (event.key === ' ' || event.key === 'Enter') { + clicked = !clicked; + } + }} + on:mouseover + on:mouseenter + on:mouseleave + {style} + {href} + {rel}> diff --git a/src/components/Tile/ExpandableTile.svelte b/src/components/Tile/ExpandableTile.svelte index 1b58c834..ba5d1688 100644 --- a/src/components/Tile/ExpandableTile.svelte +++ b/src/components/Tile/ExpandableTile.svelte @@ -7,9 +7,9 @@ export let tileExpandedIconText = 'Interact to collapse Tile'; export let tileMaxHeight = 0; export let tilePadding = 0; - export let tabIndex = 0; + export let tabindex = '0'; export let light = false; - export let props = {}; + export let style = undefined; import { createEventDispatcher, tick, onMount } from 'svelte'; import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16'; @@ -63,14 +63,19 @@
+ on:mouseover + on:mouseenter + on:mouseleave + {tabindex} + {id} + {style}>
diff --git a/src/components/Tile/RadioTile.svelte b/src/components/Tile/RadioTile.svelte index 231026a1..ea08536f 100644 --- a/src/components/Tile/RadioTile.svelte +++ b/src/components/Tile/RadioTile.svelte @@ -7,9 +7,9 @@ export let name = ''; export let iconDescription = 'Tile checkmark'; export let value = ''; - export let tabIndex = 0; + export let tabindex = '0'; export let light = false; - export let props = {}; + export let style = undefined; import { createEventDispatcher } from 'svelte'; import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16'; @@ -40,7 +40,6 @@ -