From 746ce9278b59ccd24116b654fa76513883a1b64d Mon Sep 17 00:00:00 2001 From: Richard O'flynn Date: Tue, 1 Dec 2020 00:20:23 +0000 Subject: [PATCH] implement change requests --- docs/src/pages/components/RadioTile.svx | 14 ++++++++++++ docs/src/pages/components/SelectableTile.svx | 16 +++++++++++++- src/Tile/SelectableTileGroup.svelte | 23 ++++++-------------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/docs/src/pages/components/RadioTile.svx b/docs/src/pages/components/RadioTile.svx index 3488dc26..9c86a04f 100644 --- a/docs/src/pages/components/RadioTile.svx +++ b/docs/src/pages/components/RadioTile.svx @@ -26,3 +26,17 @@ components: ["RadioTileGroup", "RadioTile"] Plus plan + +### Light variant + + + + Lite plan + + + Standard plan + + + Plus plan + + diff --git a/docs/src/pages/components/SelectableTile.svx b/docs/src/pages/components/SelectableTile.svx index 6fd62c92..1bea70db 100644 --- a/docs/src/pages/components/SelectableTile.svx +++ b/docs/src/pages/components/SelectableTile.svx @@ -7,7 +7,7 @@ components: ["SelectableTile", "SelectableTileGroup"] import Preview from "../../components/Preview.svelte"; -### Multi-selectable tiles +### Default @@ -20,3 +20,17 @@ components: ["SelectableTile", "SelectableTileGroup"] Option 3 + +### Light variant + + + + Option 1 + + + Option 2 + + + Option 3 + + diff --git a/src/Tile/SelectableTileGroup.svelte b/src/Tile/SelectableTileGroup.svelte index 9c966a9a..110d8f1e 100644 --- a/src/Tile/SelectableTileGroup.svelte +++ b/src/Tile/SelectableTileGroup.svelte @@ -5,9 +5,6 @@ */ export let selectedValues = []; - /** Set to `true` to disable the tile group */ - export let disabled = false; - /** Specify the legend text */ export let legend = ""; @@ -17,28 +14,22 @@ const dispatch = createEventDispatcher(); const _selectedValues = writable(selectedValues); - function newArray(value, selected) { - let a = [...$_selectedValues]; - const i = a.indexOf(value); - if (selected && i === -1) { - a.push(value); - } else if (!selected && i > -1) { - a.splice(i, 1); - } - return a; - } - setContext("SelectableTileGroup", { selectedValues: _selectedValues, update: ({ selected, value }) => - _selectedValues.set(newArray(value, selected)), + _selectedValues.update((_) => { + if (_.includes(value)) { + return _.filter((i) => i !== value); + } + return [..._, value]; + }), }); $: selectedValues = $_selectedValues; $: dispatch("select", $_selectedValues); -
+
{#if legend} {legend} {/if}