30 lines
826 B
Vue
30 lines
826 B
Vue
<script>
|
|
import ContentSlot from "./ContentSlot.vue";
|
|
import { defineComponent, getCurrentInstance, useSlots, computed } from "#imports";
|
|
let showDeprecatedMessage = true;
|
|
export default defineComponent({
|
|
name: "Markdown",
|
|
extends: ContentSlot,
|
|
setup(props) {
|
|
if (import.meta.dev && showDeprecatedMessage) {
|
|
console.warn("[deprecation] <Markdown> component is deprecated. Please use <ContentSlot> instead.");
|
|
showDeprecatedMessage = false;
|
|
}
|
|
const { parent } = getCurrentInstance();
|
|
const { between, default: fallbackSlot } = useSlots();
|
|
const tags = computed(() => {
|
|
if (typeof props.unwrap === "string") {
|
|
return props.unwrap.split(" ");
|
|
}
|
|
return ["*"];
|
|
});
|
|
return {
|
|
fallbackSlot,
|
|
tags,
|
|
between,
|
|
parent
|
|
};
|
|
}
|
|
});
|
|
</script>
|