From bb60e1c72bcb5e55f991e34bee767e03d8fc9a0f Mon Sep 17 00:00:00 2001 From: Michael Cousins Date: Tue, 12 Nov 2024 10:06:52 -0500 Subject: [PATCH] Fix: allow pill anchor target to remain unspecified (#599) --- packages/core/package.json | 2 +- packages/core/src/lib/__tests__/pill.spec.ts | 18 ++++++++++++++---- packages/core/src/lib/pill.svelte | 3 ++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 04322fe5..98d2e121 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@viamrobotics/prime-core", - "version": "0.0.165", + "version": "0.0.166", "repository": { "type": "git", "url": "https://github.com/viamrobotics/prime.git", diff --git a/packages/core/src/lib/__tests__/pill.spec.ts b/packages/core/src/lib/__tests__/pill.spec.ts index 5f0acd9f..978d26e2 100644 --- a/packages/core/src/lib/__tests__/pill.spec.ts +++ b/packages/core/src/lib/__tests__/pill.spec.ts @@ -81,10 +81,20 @@ describe('Pill', () => { it('Renders with the passed href', () => { render(Pill, { value: 'link', href: 'https://www.viam.com' }); - expect(screen.getByRole('link', { name: 'link' })).toHaveAttribute( - 'href', - 'https://www.viam.com' - ); + const anchor = screen.getByRole('link', { name: 'link' }); + + expect(anchor).toHaveAttribute('href', 'https://www.viam.com'); + expect(anchor).not.toHaveAttribute('target'); + }); + + it('May set anchor target', () => { + render(Pill, { + props: { value: 'link', href: 'https://www.viam.com', target: '_blank' }, + }); + const anchor = screen.getByRole('link', { name: 'link' }); + + expect(anchor).toHaveAttribute('href', 'https://www.viam.com'); + expect(anchor).toHaveAttribute('target', '_blank'); }); it('Renders icon tooltip when hovered', async () => { diff --git a/packages/core/src/lib/pill.svelte b/packages/core/src/lib/pill.svelte index ed07d292..36eb4638 100644 --- a/packages/core/src/lib/pill.svelte +++ b/packages/core/src/lib/pill.svelte @@ -28,7 +28,8 @@ export let value = ''; export let href = ''; /** Optional target for linked URL. */ -export let target: '_self' | '_blank' | '_parent' | '_top' = '_blank'; +export let target: '_self' | '_blank' | '_parent' | '_top' | undefined = + undefined; /** Whether or not the pill has the aria-readonly attribute. If readonly, there is not a button to remove the pill. */ export let readonly = false;