Newer
Older
gnexus-ui-kit / src / vue / components / GnActionCard.js
@Eugene Sukhodolskiy Eugene Sukhodolskiy 19 hours ago 766 bytes Add remaining Vue CSS wrappers
import { defineComponent, h } from "vue";

export default defineComponent({
	name: "GnActionCard",
	props: {
		kicker: { type: String, default: "" },
		title: { type: String, required: true },
		text: { type: String, default: "" }
	},
	setup(props, { slots }) {
		return () => h("article", { class: "card action-card" }, [
			h("div", { class: "card-content" }, [
				(props.kicker || slots.kicker) && h("span", { class: "action-card-kicker" }, slots.kicker?.() || props.kicker),
				h("h3", { class: "action-card-title" }, slots.title?.() || props.title),
				(props.text || slots.default) && h("p", { class: "action-card-text" }, slots.default?.() || props.text),
				slots.actions && h("div", { class: "action-card-actions" }, slots.actions())
			])
		]);
	}
});