Link.svelte 569 B

12345678910111213141516171819202122
  1. <script lang="ts">
  2. import type { BaseComponentProps } from "@json-render/svelte";
  3. import type { ShadcnProps } from "./catalog.js";
  4. interface Props extends BaseComponentProps<ShadcnProps<"Link">> {}
  5. let { props, on }: Props = $props();
  6. function handleClick(event: MouseEvent) {
  7. const press = on("press");
  8. if (press.shouldPreventDefault) event.preventDefault();
  9. press.emit();
  10. }
  11. </script>
  12. <a
  13. href={props.href ?? "#"}
  14. class="text-primary text-sm font-medium underline-offset-4 hover:underline"
  15. onclick={handleClick}
  16. >
  17. {props.label}
  18. </a>