From 109f71b5cf08484defd62da9b09fddf4e4bb2e37 Mon Sep 17 00:00:00 2001 From: weaseldotro <1822852+weaseldotro@users.noreply.github.com> Date: Sun, 22 Nov 2020 12:33:20 +0200 Subject: [PATCH 1/6] fix(RadioButtonGroup): make selected prop reactive --- src/RadioButtonGroup/RadioButtonGroup.svelte | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/RadioButtonGroup/RadioButtonGroup.svelte b/src/RadioButtonGroup/RadioButtonGroup.svelte index 79645f33..d23c595b 100644 --- a/src/RadioButtonGroup/RadioButtonGroup.svelte +++ b/src/RadioButtonGroup/RadioButtonGroup.svelte @@ -26,7 +26,7 @@ */ export let id = undefined; - import { createEventDispatcher, setContext } from "svelte"; + import { beforeUpdate, createEventDispatcher, onMount, setContext } from "svelte"; import { writable } from "svelte/store"; const dispatch = createEventDispatcher(); @@ -44,7 +44,17 @@ }, }); - $: selected = $selectedValue; + onMount(() => { + $selectedValue = selected + }) + + beforeUpdate(() => { + $selectedValue = selected + }) + + $: $selectedValue, (() => { + selected = $selectedValue + }) $: dispatch("change", $selectedValue); From 9e711abaa614a734649550963530d5e32686faf3 Mon Sep 17 00:00:00 2001 From: weaseldotro <1822852+weaseldotro@users.noreply.github.com> Date: Sun, 22 Nov 2020 17:28:34 +0200 Subject: [PATCH 2/6] quickfix RadioButtonGroup selected prop reactivity --- src/RadioButtonGroup/RadioButtonGroup.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RadioButtonGroup/RadioButtonGroup.svelte b/src/RadioButtonGroup/RadioButtonGroup.svelte index d23c595b..c99ac087 100644 --- a/src/RadioButtonGroup/RadioButtonGroup.svelte +++ b/src/RadioButtonGroup/RadioButtonGroup.svelte @@ -40,7 +40,7 @@ } }, update: (value) => { - selectedValue.set(value); + selected = value; }, }); From bc29d9ee0dd6140e4df8ef5c97f62b76f3914c19 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sun, 22 Nov 2020 09:25:05 -0800 Subject: [PATCH 3/6] docs(radio-button): add reactive example --- docs/src/pages/components/RadioButton.svx | 6 ++++ .../ProgrammaticRadioButton.svelte | 36 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 docs/src/pages/framed/RadioButton/ProgrammaticRadioButton.svelte diff --git a/docs/src/pages/components/RadioButton.svx b/docs/src/pages/components/RadioButton.svx index 189e3ffc..b1aed1ce 100644 --- a/docs/src/pages/components/RadioButton.svx +++ b/docs/src/pages/components/RadioButton.svx @@ -17,6 +17,12 @@ components: ["RadioButtonGroup", "RadioButton", "RadioButtonSkeleton"] +### Programmatic usage + +Bind the selected value using the `selected` prop. + + + ### Label text aligned left diff --git a/docs/src/pages/framed/RadioButton/ProgrammaticRadioButton.svelte b/docs/src/pages/framed/RadioButton/ProgrammaticRadioButton.svelte new file mode 100644 index 00000000..ef014adb --- /dev/null +++ b/docs/src/pages/framed/RadioButton/ProgrammaticRadioButton.svelte @@ -0,0 +1,36 @@ + + + + + + + + + + + + {#each ['free', 'standard', 'pro'] as value} + + {/each} + + +
+ Selected plan: + {plan} +
From 9edb0c2f31b83f29f0f9cac1f488598bf0c6a835 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sun, 22 Nov 2020 09:50:23 -0800 Subject: [PATCH 4/6] docs(recipes): add ExpandableAccordion recipe --- docs/src/pages/components/Accordion.svx | 2 + .../Accordion/ExpandableAccordion.svelte | 43 +++++++++++++++++++ .../src/pages/recipes/ExpandableAccordion.svx | 13 ++++++ 3 files changed, 58 insertions(+) create mode 100644 docs/src/pages/framed/Accordion/ExpandableAccordion.svelte create mode 100644 docs/src/pages/recipes/ExpandableAccordion.svx diff --git a/docs/src/pages/components/Accordion.svx b/docs/src/pages/components/Accordion.svx index eabc4972..3db70d63 100644 --- a/docs/src/pages/components/Accordion.svx +++ b/docs/src/pages/components/Accordion.svx @@ -10,6 +10,8 @@ components: ["Accordion", "AccordionItem", "AccordionSkeleton"] import Preview from "../../components/Preview.svelte"; +See the [ExpandableAccordion recipe](/recipes/ExpandableAccordion) for a toggleable accordion component. + ### Default diff --git a/docs/src/pages/framed/Accordion/ExpandableAccordion.svelte b/docs/src/pages/framed/Accordion/ExpandableAccordion.svelte new file mode 100644 index 00000000..93737986 --- /dev/null +++ b/docs/src/pages/framed/Accordion/ExpandableAccordion.svelte @@ -0,0 +1,43 @@ + + + + + + {#each items as item} + +
{item.title}
+

{item.description}

+
+ {/each} +
diff --git a/docs/src/pages/recipes/ExpandableAccordion.svx b/docs/src/pages/recipes/ExpandableAccordion.svx new file mode 100644 index 00000000..09ba3cf0 --- /dev/null +++ b/docs/src/pages/recipes/ExpandableAccordion.svx @@ -0,0 +1,13 @@ +--- +layout: recipe +--- + + + +## Expandable accordion + +This example expands and collapses all accordion items. + + From f5509060d5baad116c75cff7bc613eda4ecf25d2 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sun, 22 Nov 2020 09:50:46 -0800 Subject: [PATCH 5/6] docs: tweak body copy, link to CopyableCodeSnippet recipe --- docs/src/pages/_layout.svelte | 7 +++++++ docs/src/pages/components/Breadcrumb.svx | 2 +- docs/src/pages/components/CodeSnippet.svx | 6 ++++-- docs/src/pages/components/ComposedModal.svx | 2 +- docs/src/pages/components/CopyButton.svx | 6 ++++-- docs/src/pages/components/ToggleSmall.svx | 4 ++-- .../framed/CopyableCodeSnippet/CopyableCodeSnippet.svelte | 2 +- docs/src/pages/recipes/CopyableCodeSnippet.svx | 6 ++++-- 8 files changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/src/pages/_layout.svelte b/docs/src/pages/_layout.svelte index d51a6ff5..c87c7a90 100644 --- a/docs/src/pages/_layout.svelte +++ b/docs/src/pages/_layout.svelte @@ -35,6 +35,13 @@