UNPKG

bootstrap-vue

Version:

With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens

45 lines (42 loc) 1.21 kB
import { htmlOrText } from '../../../utils/html'; export default { props: { // `caption-top` is part of table-render mixin (styling) // captionTop: { // type: Boolean, // default: false // }, caption: { type: String // default: null }, captionHtml: { type: String } }, computed: { captionId: function captionId() { // Even though `this.safeId` looks like a method, it is a computed prop // that returns a new function if the underlying ID changes return this.isStacked ? this.safeId('_caption_') : null; } }, methods: { renderCaption: function renderCaption() { var caption = this.caption, captionHtml = this.captionHtml; var h = this.$createElement; var $caption = h(); var hasCaptionSlot = this.hasNormalizedSlot('table-caption'); if (hasCaptionSlot || caption || captionHtml) { $caption = h('caption', { key: 'caption', attrs: { id: this.captionId }, domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption) }, this.normalizeSlot('table-caption')); } return $caption; } } };