@@ -63,7 +49,6 @@
:global(.highlight-cards > *) {
margin: 1rem 0;
-
@media (min-width: 900px) {
margin: 2rem 1rem;
flex: 1;
diff --git a/components/src/HighlightCard/HighlightCard.svelte b/components/src/HighlightCard/HighlightCard.svelte
index fdf7caf5..80a98a7a 100644
--- a/components/src/HighlightCard/HighlightCard.svelte
+++ b/components/src/HighlightCard/HighlightCard.svelte
@@ -1,10 +1,14 @@
-
@@ -20,15 +24,15 @@
{unit}
-
- {@html subline}
-
+ {#if subline}
+
+ {@html subline}
+
+ {/if}
diff --git a/components/src/Select/Select.types.ts b/components/src/Select/Select.types.ts
new file mode 100644
index 00000000..0c6e812d
--- /dev/null
+++ b/components/src/Select/Select.types.ts
@@ -0,0 +1,8 @@
+interface SelectItem {
+ value: string;
+ label: string;
+ group?: string;
+ details?: any;
+}
+
+export { type SelectItem }
\ No newline at end of file
diff --git a/components/src/Select/SelectStoriesTemplate.svelte b/components/src/Select/SelectStoriesTemplate.svelte
new file mode 100644
index 00000000..b9454cdd
--- /dev/null
+++ b/components/src/Select/SelectStoriesTemplate.svelte
@@ -0,0 +1,35 @@
+
+
+
+ {#if demoComponent}
+ {@render demoComponent()}
+ {:else}
+
+
+ {/if}
+
+
+{#if selectedItem}
+
+value = {JSON.stringify(selectedItem, null, ' ')}
+{/if}
+
+
diff --git a/components/src/Switcher/Switcher.mdx b/components/src/Switcher/Switcher.mdx
new file mode 100644
index 00000000..77adb6ff
--- /dev/null
+++ b/components/src/Switcher/Switcher.mdx
@@ -0,0 +1,13 @@
+import { Story, Meta, Primary, Controls, Stories} from '@storybook/blocks';
+
+import * as SwictherStories from './Switcher.stories.svelte';
+
+
+
+# Switcher
+
+Radio-like form component to choose exactly one of a given set of options.
+
+
+
+
diff --git a/components/src/Switcher/Switcher.stories.svelte b/components/src/Switcher/Switcher.stories.svelte
index 26f621dc..622e19a9 100644
--- a/components/src/Switcher/Switcher.stories.svelte
+++ b/components/src/Switcher/Switcher.stories.svelte
@@ -1,55 +1,50 @@
-
+
- {
- const canvas = within(canvasElement)
- await step("Clicking selects the expected option", async () => {
- const optionA = canvas.getByLabelText("Apples")
- const optionB = canvas.getByLabelText("Bananas")
- await userEvent.click(optionA)
- expect(optionA).toBeChecked()
- expect(optionB).not.toBeChecked()
- await userEvent.click(optionB)
- expect(optionB).toBeChecked()
- expect(optionA).not.toBeChecked()
- })
- }}>
+ {
+ const canvas = within(canvasElement);
+ await step('Clicking selects the expected option', async () => {
+ const optionA = canvas.getByLabelText('Apples');
+ const optionB = canvas.getByLabelText('Bananas');
+ await userEvent.click(optionA);
+ expect(optionA).toBeChecked();
+ expect(optionB).not.toBeChecked();
+ await userEvent.click(optionB);
+ expect(optionB).toBeChecked();
+ expect(optionA).not.toBeChecked();
+ });
+ }}
+>
-
+
diff --git a/components/src/Switcher/Switcher.svelte b/components/src/Switcher/Switcher.svelte
index 4a56c74c..43ada24c 100644
--- a/components/src/Switcher/Switcher.svelte
+++ b/components/src/Switcher/Switcher.svelte
@@ -1,17 +1,31 @@
-
-
-