Image.svelte 721 B

12345678910111213141516171819202122232425
  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<"Image">> {}
  5. let { props }: Props = $props();
  6. </script>
  7. {#if props.src}
  8. <img
  9. src={props.src}
  10. alt={props.alt}
  11. width={props.width ?? undefined}
  12. height={props.height ?? undefined}
  13. class="max-w-full rounded-md border border-border object-cover"
  14. />
  15. {:else}
  16. <div
  17. class="flex items-center justify-center rounded-md border border-dashed border-border bg-muted text-sm text-muted-foreground"
  18. style={`width:${props.width ?? 320}px;height:${props.height ?? 180}px`}
  19. >
  20. {props.alt}
  21. </div>
  22. {/if}