trellis-default-label.svelte (1156B)
1 <script lang="ts"> 2 import type { ITrellisDefaultLabel } from "$lib/types/components/trellis"; 3 import { fmt_cl } from "@radroots/apps-lib"; 4 import type { ThemeLayer } from "@radroots/themes"; 5 6 let { 7 layer, 8 labels, 9 classes = ``, 10 }: { 11 layer: ThemeLayer; 12 labels: ITrellisDefaultLabel[]; 13 classes?: string; 14 } = $props(); 15 </script> 16 17 <div class={`${fmt_cl(classes)} flex flex-row`}> 18 <p class={`font-sans text-trellis_ti text-ly${layer}-gl-shade`}> 19 {#each labels as label} 20 <span class={`${fmt_cl(label.classes)} font-sans text-trellis_ti`}> 21 {#if `callback` in label} 22 <button 23 class={``} 24 onclick={async () => { 25 if (`callback` in label && label.callback) 26 await label.callback(); 27 }} 28 > 29 {label.label} 30 </button> 31 {:else} 32 {label.label} 33 {/if} 34 </span> 35 {/each} 36 </p> 37 </div>