Skip to content

Commit

Permalink
CardHeader: Improve properties definition
Browse files Browse the repository at this point in the history
  • Loading branch information
mks-h committed May 12, 2024
1 parent aa3e9d4 commit 0cac8b1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
9 changes: 8 additions & 1 deletion src/components/Card.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@
:link="item.type === 'clickable' ? item : {}"
:class="cardClasses"
>
<card-header :item :altText />
<card-header
:title="item.title"
:type="item.type"
:icon="item.icon"
:iconPack="item.iconPack"
:iconAsImage="item.iconAsImage"
:altText
/>
<card-content :item :altText />
<card-footer v-if="item.footerActions" :actions="item.footerActions" />
</conditional-link>
Expand Down
21 changes: 12 additions & 9 deletions src/components/CardHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
<div :class="['card-header', { 'card-header--multiline': isMultiline }]">
<h3>
<an-icon
v-if="item.icon && item.type !== 'adv'"
:icon="item.icon"
:iconPack="item.iconPack"
:iconAsImage="item.iconAsImage"
v-if="icon && type !== 'adv'"
:icon="icon"
:iconPack="iconPack"
:iconAsImage="iconAsImage"
:altText
/>
<template v-if="isMultiline"
>{{ item.title[0] }}<br />{{ item.title[1] }}</template
>{{ title[0] }}<br />{{ title[1] }}</template
>
<template v-else>{{ item.title ? " " + item.title : "" }}</template>
<template v-else>{{ title ? " " + title : "" }}</template>
</h3>
<div v-if="item?.type === 'clickable'">
<div v-if="type === 'clickable'">
<div class="btn btn--link btn--inline btn--med">
<an-icon icon="arrow_forward" iconPack="mdi" />
</div>
Expand All @@ -22,9 +22,12 @@
</template>

<script setup lang="ts">
import type { AnIconProps } from "./AnIcon.vue";
import type { CardItem } from "./Card.vue";
const props = defineProps<{ item: CardItem; altText?: string }>();
const props = defineProps<
Pick<CardItem, "title" | "type"> & Partial<AnIconProps>
>();
const isMultiline = Array.isArray(props.item.title);
const isMultiline = Array.isArray(props.title);
</script>

0 comments on commit 0cac8b1

Please sign in to comment.