@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
34 lines (33 loc) • 1.09 kB
JavaScript
import { computed, openBlock, createBlock, resolveDynamicComponent, createCommentVNode } from "vue";
import { illustrations } from "@dialpad/dialtone-icons/vue3";
import { ILLUSTRATION_NAMES } from "./illustration_constants.js";
const _sfc_main = /* @__PURE__ */ Object.assign({
name: "DtIllustration"
}, {
__name: "illustration",
props: {
/**
* The illustration name in kebab-case
*/
name: {
type: String,
required: true,
validator: (name) => ILLUSTRATION_NAMES.includes(name)
}
},
setup(__props) {
const props = __props;
const illustration = computed(() => illustrations[`./src/illustrations/${props.name}.vue`]);
return (_ctx, _cache) => {
return illustration.value ? (openBlock(), createBlock(resolveDynamicComponent(illustration.value), {
key: 0,
"data-qa": _ctx.$attrs["data-qa"] ?? "dt-illustration"
}, null, 8, ["data-qa"])) : createCommentVNode("", true);
};
}
});
const _sfc_main$1 = _sfc_main;
export {
_sfc_main$1 as default
};
//# sourceMappingURL=illustration.vue.js.map