aboutsummaryrefslogtreecommitdiff
path: root/src/ui/c-key-value-list/c-key-value-list.vue
blob: d8a2b0013f7b0a413f09771386f8fc803ec0761a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script lang="ts" setup>
import _ from 'lodash';
import type { CKeyValueListItems } from './c-key-value-list.types';

const props = withDefaults(defineProps<{ items?: CKeyValueListItems }>(), { items: () => [] });
const { items } = toRefs(props);

const formattedItems = computed(() => items.value.filter(item => !_.isNil(item.value) || !item.hideOnNil));
</script>

<template>
  <div my-5>
    <div v-for="item in formattedItems" :key="item.label" flex gap-2 py-1 class="c-key-value-list__item">
      <div flex-basis-180px text-right font-bold class="c-key-value-list__key">
        {{ item.label }}
      </div>

      <c-key-value-list-item :item="item" class="c-key-value-list__value" />
    </div>
  </div>
</template>