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);
-