From e953c362cf6862940da1f7e7bc3cfc17d6179b84 Mon Sep 17 00:00:00 2001 From: Elijah Duffy Date: Tue, 8 Jul 2025 18:02:01 -0700 Subject: [PATCH] partial toolbar implementation --- src/lib/Toolbar.svelte | 94 +++++++++++++++++++++++++++++++++++++++++ src/routes/+page.svelte | 23 ++++++++++ 2 files changed, 117 insertions(+) create mode 100644 src/lib/Toolbar.svelte diff --git a/src/lib/Toolbar.svelte b/src/lib/Toolbar.svelte new file mode 100644 index 0000000..a00f12e --- /dev/null +++ b/src/lib/Toolbar.svelte @@ -0,0 +1,94 @@ + + + + +
+ {#each items as toolbarItem} + {@render item(toolbarItem)} + {/each} +
+ +{#snippet item(i: ToolbarItem)} + {#if i.type === 'button' || i.type === 'toggle'} + + {:else if i.type === 'divider'} +
+ {:else if i.type === 'group'} +
+ {#each i.items as groupItem} + {@render item(groupItem)} + {/each} +
+ {/if} +{/snippet} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index cbeec5f..1642e7d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -17,6 +17,9 @@ import TimezoneInput from '$lib/TimezoneInput.svelte'; import ToggleGroup from '$lib/ToggleGroup.svelte'; import ToggleSelect from '$lib/ToggleSelect.svelte'; + import Toolbar, { toolbarItem } from '$lib/Toolbar.svelte'; + + import { BowlFood } from 'phosphor-svelte'; let dateInputValue = $state(undefined); let checkboxValue = $state('indeterminate'); @@ -202,6 +205,26 @@ Toggle Me! +
+

Toolbar

+ + +
+