From c7f9fa02d5525fa7b9c112b8ebe94590b990a361 Mon Sep 17 00:00:00 2001 From: Micheal Parks <103450731+micheal-parks@users.noreply.github.com> Date: Tue, 6 Aug 2024 12:49:04 -0400 Subject: [PATCH] Add tab buttons (#552) --- packages/core/package.json | 2 +- packages/core/src/lib/tab.svelte | 24 +++++++++++++++++------- packages/core/src/routes/+page.svelte | 19 +++++++++++++++++++ 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 7b302bef..12a67d93 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@viamrobotics/prime-core", - "version": "0.0.140", + "version": "0.0.141", "publishConfig": { "access": "public" }, diff --git a/packages/core/src/lib/tab.svelte b/packages/core/src/lib/tab.svelte index 65e14fac..1f94051d 100644 --- a/packages/core/src/lib/tab.svelte +++ b/packages/core/src/lib/tab.svelte @@ -17,17 +17,17 @@ A clickable element that allows the user to navigate to another page or area. import cx from 'classnames'; import type { HTMLAttributes } from 'svelte/elements'; import { CONTEXT_KEY } from './tabs-bar.svelte'; -import { getContext } from 'svelte'; +import { createEventDispatcher, getContext } from 'svelte'; import type { Writable } from 'svelte/store'; interface $$Props extends HTMLAttributes { - href: string; + href?: string; title: string; selected?: boolean; class?: string; } /** The tab's href. */ -export let href: $$Props['href']; +export let href: $$Props['href'] = undefined; /** The tab's title. */ export let title: $$Props['title']; @@ -35,13 +35,22 @@ export let title: $$Props['title']; //* The tab's state */ export let selected: $$Props['selected'] = false; -const variant = getContext>(CONTEXT_KEY); - let className = ''; export { className as class }; + +const variant = getContext>(CONTEXT_KEY); + +const dispatch = createEventDispatcher<{ click: MouseEvent }>(); + +const onclick = (event: MouseEvent) => { + dispatch('click', event); +}; - + {title} - + diff --git a/packages/core/src/routes/+page.svelte b/packages/core/src/routes/+page.svelte index 56c7ac99..d147d711 100644 --- a/packages/core/src/routes/+page.svelte +++ b/packages/core/src/routes/+page.svelte @@ -1637,6 +1637,25 @@ const onHoverDelayMsInput = (event: Event) => { href="#third" /> + + + console.log('first')} + /> + console.log('second')} + /> + console.log('third')} + /> +