bootstrap-vue-next 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -282,6 +282,7 @@ var BCard_default = /* @__PURE__ */ defineComponent({
282
282
  headerTextVariant: { default: void 0 },
283
283
  headerVariant: { default: null },
284
284
  imgAlt: { default: void 0 },
285
+ imgAttrs: { default: void 0 },
285
286
  imgPlacement: { default: "top" },
286
287
  imgHeight: { default: void 0 },
287
288
  imgSrc: { default: void 0 },
@@ -316,7 +317,8 @@ var BCard_default = /* @__PURE__ */ defineComponent({
316
317
  alt: props.imgAlt,
317
318
  height: props.imgHeight,
318
319
  width: props.imgWidth,
319
- placement: props.imgPlacement
320
+ placement: props.imgPlacement,
321
+ ...props.imgAttrs
320
322
  }));
321
323
  return (_ctx, _cache) => {
322
324
  return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: normalizeClass(["card", computedClasses.value]) }, {
@@ -399,4 +401,4 @@ var BCard_default = /* @__PURE__ */ defineComponent({
399
401
  //#endregion
400
402
  export { BCardTitle_default as a, BCardSubtitle_default as i, BCardFooter_default as n, BCardHeader_default as o, BCardBody_default as r, BCardImg_default as s, BCard_default as t };
401
403
 
402
- //# sourceMappingURL=BCard-nRj1JWtQ.js.map
404
+ //# sourceMappingURL=BCard-DELccMG-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BCard-nRj1JWtQ.js","names":[],"sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardImg.vue","../src/components/BCardHeadFoot.vue","../src/components/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCard.vue","../src/components/BCard/BCard.vue"],"sourcesContent":["<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\nimport type {BCardHeadFootProps, BCardHeadFootSlots} from '../types'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\ndefineSlots<BCardHeadFootSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\nimport type {BCardHeadFootProps, BCardHeadFootSlots} from '../types'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\ndefineSlots<BCardHeadFootSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeaderSlots, BCardHeadFootProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\ndefineSlots<BCardHeaderSlots>()\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeaderSlots, BCardHeadFootProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\ndefineSlots<BCardHeaderSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTitleProps, BCardTitleSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\ndefineSlots<BCardTitleSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTitleProps, BCardTitleSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\ndefineSlots<BCardTitleSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardSubtitleProps, BCardSubtitleSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\ndefineSlots<BCardSubtitleSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardSubtitleProps, BCardSubtitleSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\ndefineSlots<BCardSubtitleSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardBodyProps, BCardBodySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n borderVariant: null,\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\nconst slots = defineSlots<BCardBodySlots>()\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardBodyProps, BCardBodySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n borderVariant: null,\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\nconst slots = defineSlots<BCardBodySlots>()\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardFooterSlots, BCardHeaderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeaderProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\ndefineSlots<BCardFooterSlots>()\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardFooterSlots, BCardHeaderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeaderProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\ndefineSlots<BCardFooterSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <template v-if=\"props.imgPlacement !== 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :border-variant=\"props.bodyBorderVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <template v-if=\"props.imgPlacement === 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport type {BCardProps, BCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyBorderVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\nconst slots = defineSlots<BCardSlots>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <template v-if=\"props.imgPlacement !== 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :border-variant=\"props.bodyBorderVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <template v-if=\"props.imgPlacement === 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport type {BCardProps, BCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyBorderVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\nconst slots = defineSlots<BCardSlots>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BCard-DELccMG-.js","names":[],"sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardImg.vue","../src/components/BCardHeadFoot.vue","../src/components/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCard.vue","../src/components/BCard/BCard.vue"],"sourcesContent":["<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\nimport type {BCardHeadFootProps, BCardHeadFootSlots} from '../types'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\ndefineSlots<BCardHeadFootSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\nimport type {BCardHeadFootProps, BCardHeadFootSlots} from '../types'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\ndefineSlots<BCardHeadFootSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeaderSlots, BCardHeadFootProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\ndefineSlots<BCardHeaderSlots>()\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeaderSlots, BCardHeadFootProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\ndefineSlots<BCardHeaderSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTitleProps, BCardTitleSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\ndefineSlots<BCardTitleSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTitleProps, BCardTitleSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\ndefineSlots<BCardTitleSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardSubtitleProps, BCardSubtitleSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\ndefineSlots<BCardSubtitleSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardSubtitleProps, BCardSubtitleSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\ndefineSlots<BCardSubtitleSlots>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardBodyProps, BCardBodySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n borderVariant: null,\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\nconst slots = defineSlots<BCardBodySlots>()\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardBodyProps, BCardBodySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n borderVariant: null,\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\nconst slots = defineSlots<BCardBodySlots>()\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardFooterSlots, BCardHeaderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeaderProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\ndefineSlots<BCardFooterSlots>()\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardFooterSlots, BCardHeaderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardHeadFoot from '../BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeaderProps>(), {\n borderVariant: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\ndefineSlots<BCardFooterSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <template v-if=\"props.imgPlacement !== 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :border-variant=\"props.bodyBorderVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <template v-if=\"props.imgPlacement === 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport type {BCardProps, BCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyBorderVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgAttrs: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\nconst slots = defineSlots<BCardSlots>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n ...props.imgAttrs,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <template v-if=\"props.imgPlacement !== 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :border-variant=\"props.bodyBorderVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <template v-if=\"props.imgPlacement === 'bottom'\">\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport type {BCardProps, BCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyBorderVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgAttrs: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\nconst slots = defineSlots<BCardSlots>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n ...props.imgAttrs,\n}))\n</script>\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { S as useToNumber } from "./dist-DKc2ivHS.js";
2
2
  import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
3
3
  import { t as useColorVariantClasses } from "./useColorVariantClasses-DHQvLjek.js";
4
- import { s as BCardImg_default, t as BCard_default } from "./BCard-nRj1JWtQ.js";
4
+ import { s as BCardImg_default, t as BCard_default } from "./BCard-DELccMG-.js";
5
5
  import { t as BTableSimple_default } from "./BTableSimple-2Z7ssnuG.js";
6
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
7
7
  //#endregion
@@ -293,4 +293,4 @@ var BPlaceholderWrapper_default = /* @__PURE__ */ defineComponent({
293
293
  //#endregion
294
294
  export { BPlaceholder_default as a, BPlaceholderButton_default as i, BPlaceholderTable_default as n, BPlaceholderCard_default as r, BPlaceholderWrapper_default as t };
295
295
 
296
- //# sourceMappingURL=BPlaceholder-DvOCnqDh.js.map
296
+ //# sourceMappingURL=BPlaceholder-DI12zz0a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BPlaceholder-DvOCnqDh.js","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: undefined,\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: undefined,\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardProps, BPlaceholderCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardProps, BPlaceholderCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableProps, BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableProps, BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperProps, BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperProps, BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BPlaceholder-DI12zz0a.js","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: undefined,\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: undefined,\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardProps, BPlaceholderCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardProps, BPlaceholderCardSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableProps, BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableProps, BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: undefined,\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: undefined,\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: undefined,\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperProps, BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperProps, BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ import { n as BAvatar_default, t as BAvatarGroup_default } from "./BAvatar-BsStQ
29
29
  import { n as BBreadcrumbItem_default, t as BBreadcrumb_default } from "./BBreadcrumb-C-SsS3hM.js";
30
30
  import { n as BButtonGroup_default, t as BButtonToolbar_default } from "./BButton-Cc2gd95Z.js";
31
31
  import { t as BImg_default } from "./BImg-knz2UZQE.js";
32
- import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "./BCard-nRj1JWtQ.js";
32
+ import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "./BCard-DELccMG-.js";
33
33
  import { n as BCardGroup_default, t as BCardText_default } from "./BCard-D2GEiXan.js";
34
34
  import { n as BCarousel_default, t as BCarouselSlide_default } from "./BCarousel-DQgfW4DN.js";
35
35
  import { t as BCol_default } from "./BCol-DiZFbqU5.js";
@@ -61,7 +61,7 @@ import { t as BOverlay_default } from "./BOverlay-CJfy_f6O.js";
61
61
  import { a as directiveNames, i as composablesWithExternalPath, n as componentsWithExternalPath, o as directivesWithExternalPath, r as composableNames, t as componentNames } from "./BootstrapVueOptions-DH79gHKG.js";
62
62
  import { t as types_exports } from "./src/types/index.mjs";
63
63
  import { t as BPagination_default } from "./BPagination-D_Hfk6OF.js";
64
- import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "./BPlaceholder-DvOCnqDh.js";
64
+ import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "./BPlaceholder-DI12zz0a.js";
65
65
  import { t as BTableSimple_default } from "./BTableSimple-2Z7ssnuG.js";
66
66
  import { a as BTh_default, c as BTbody_default, i as BThead_default, n as BTableLite_default, o as BTfoot_default, r as BTr_default, s as BTd_default, t as BTable_default } from "./BTable-BZxX17YU.js";
67
67
  import { n as BTab_default, t as BTabs_default } from "./BTabs-BKmkVWrZ.js";
@@ -29,6 +29,7 @@ declare const __VLS_base: import('vue').DefineComponent<BCardProps, {}, {}, {},
29
29
  headerTextVariant: import('../..').TextColorVariant | null;
30
30
  headerVariant: import('../..').ColorVariant | null;
31
31
  imgAlt: string;
32
+ imgAttrs: Readonly<import('../../types/AnyValuedAttributes').AttrsValue>;
32
33
  imgPlacement: import('../..').Placement | "overlay";
33
34
  imgHeight: import('../../types/CommonTypes').Numberish;
34
35
  imgSrc: string;
@@ -29,6 +29,7 @@ declare const __VLS_base: import('vue').DefineComponent<BCardProps, {}, {}, {},
29
29
  headerTextVariant: import('../..').TextColorVariant | null;
30
30
  headerVariant: import('../..').ColorVariant | null;
31
31
  imgAlt: string;
32
+ imgAttrs: Readonly<import('../../types/AnyValuedAttributes').AttrsValue>;
32
33
  imgPlacement: import('../..').Placement | "overlay";
33
34
  imgHeight: import('../../types/CommonTypes').Numberish;
34
35
  imgSrc: string;
@@ -1,10 +1,12 @@
1
1
  import { MaybeRef, Ref } from 'vue';
2
2
  import { OrchestratorStoreObject } from '../../utils/keys';
3
- import { ComponentController, ToastOrchestratorArrayValue, ToastOrchestratorCreateParamBase } from '../../types';
3
+ import { ComponentController, ControllerKey, ToastOrchestratorArrayValue, ToastOrchestratorCreateParamBase } from '../../types';
4
4
  import { BToast } from '../../components';
5
5
  export declare const useToast: () => {
6
6
  _isToastAppend: Readonly<Ref<boolean, boolean>>;
7
7
  _isOrchestratorInstalled: Readonly<Ref<boolean, boolean>>;
8
8
  store: Ref<OrchestratorStoreObject, OrchestratorStoreObject>;
9
9
  create: <ComponentProps extends Record<string, unknown> = Record<string, unknown>, T extends ToastOrchestratorCreateParamBase<ComponentProps> = ToastOrchestratorCreateParamBase<ComponentProps>>(obj?: MaybeRef<T>) => ComponentController<typeof BToast, Ref<ToastOrchestratorArrayValue>>;
10
+ hide: (trigger?: string, id?: ControllerKey) => void;
11
+ hideAll: (trigger?: string) => void;
10
12
  };
@@ -1,10 +1,12 @@
1
1
  import { MaybeRef, Ref } from 'vue';
2
2
  import { OrchestratorStoreObject } from '../../utils/keys';
3
- import { ComponentController, ToastOrchestratorArrayValue, ToastOrchestratorCreateParamBase } from '../../types';
3
+ import { ComponentController, ControllerKey, ToastOrchestratorArrayValue, ToastOrchestratorCreateParamBase } from '../../types';
4
4
  import { BToast } from '../../components';
5
5
  export declare const useToast: () => {
6
6
  _isToastAppend: Readonly<Ref<boolean, boolean>>;
7
7
  _isOrchestratorInstalled: Readonly<Ref<boolean, boolean>>;
8
8
  store: Ref<OrchestratorStoreObject, OrchestratorStoreObject>;
9
9
  create: <ComponentProps extends Record<string, unknown> = Record<string, unknown>, T extends ToastOrchestratorCreateParamBase<ComponentProps> = ToastOrchestratorCreateParamBase<ComponentProps>>(obj?: MaybeRef<T>) => ComponentController<typeof BToast, Ref<ToastOrchestratorArrayValue>>;
10
+ hide: (trigger?: string, id?: ControllerKey) => void;
11
+ hideAll: (trigger?: string) => void;
10
12
  };
@@ -1,3 +1,3 @@
1
- import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "../../../BCard-nRj1JWtQ.js";
1
+ import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "../../../BCard-DELccMG-.js";
2
2
  import { n as BCardGroup_default, t as BCardText_default } from "../../../BCard-D2GEiXan.js";
3
3
  export { BCard_default as BCard, BCardBody_default as BCardBody, BCardFooter_default as BCardFooter, BCardGroup_default as BCardGroup, BCardHeader_default as BCardHeader, BCardImg_default as BCardImg, BCardSubtitle_default as BCardSubtitle, BCardText_default as BCardText, BCardTitle_default as BCardTitle };
@@ -1,2 +1,2 @@
1
- import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "../../../BPlaceholder-DvOCnqDh.js";
1
+ import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "../../../BPlaceholder-DI12zz0a.js";
2
2
  export { BPlaceholder_default as BPlaceholder, BPlaceholderButton_default as BPlaceholderButton, BPlaceholderCard_default as BPlaceholderCard, BPlaceholderTable_default as BPlaceholderTable, BPlaceholderWrapper_default as BPlaceholderWrapper };
@@ -23,7 +23,7 @@ import { n as BAvatar_default, t as BAvatarGroup_default } from "../../BAvatar-B
23
23
  import { n as BBreadcrumbItem_default, t as BBreadcrumb_default } from "../../BBreadcrumb-C-SsS3hM.js";
24
24
  import { n as BButtonGroup_default, t as BButtonToolbar_default } from "../../BButton-Cc2gd95Z.js";
25
25
  import { t as BImg_default } from "../../BImg-knz2UZQE.js";
26
- import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "../../BCard-nRj1JWtQ.js";
26
+ import { a as BCardTitle_default, i as BCardSubtitle_default, n as BCardFooter_default, o as BCardHeader_default, r as BCardBody_default, s as BCardImg_default, t as BCard_default } from "../../BCard-DELccMG-.js";
27
27
  import { n as BCardGroup_default, t as BCardText_default } from "../../BCard-D2GEiXan.js";
28
28
  import { n as BCarousel_default, t as BCarouselSlide_default } from "../../BCarousel-DQgfW4DN.js";
29
29
  import { t as BCol_default } from "../../BCol-DiZFbqU5.js";
@@ -52,7 +52,7 @@ import { i as BNavbar_default, n as BNavbarNav_default, r as BNavbarBrand_defaul
52
52
  import { t as BOffcanvas_default } from "../../BOffcanvas-BndaBJoP.js";
53
53
  import { t as BOverlay_default } from "../../BOverlay-CJfy_f6O.js";
54
54
  import { t as BPagination_default } from "../../BPagination-D_Hfk6OF.js";
55
- import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "../../BPlaceholder-DvOCnqDh.js";
55
+ import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "../../BPlaceholder-DI12zz0a.js";
56
56
  import { t as BTableSimple_default } from "../../BTableSimple-2Z7ssnuG.js";
57
57
  import { a as BTh_default, c as BTbody_default, i as BThead_default, n as BTableLite_default, o as BTfoot_default, r as BTr_default, s as BTd_default, t as BTable_default } from "../../BTable-BZxX17YU.js";
58
58
  import { n as BTab_default, t as BTabs_default } from "../../BTabs-BKmkVWrZ.js";
@@ -48,9 +48,9 @@ var buildController = (id, store) => {
48
48
  if (!item) return;
49
49
  try {
50
50
  if (item.value.props.modelValue) {
51
+ controller.hide("destroy");
51
52
  await basePromise;
52
53
  await nextTick();
53
- controller.hide("destroy");
54
54
  }
55
55
  } finally {
56
56
  store.value.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/composables/orchestratorShared/index.ts"],"sourcesContent":["import {type ComponentPublicInstance, inject, nextTick, provide, readonly, type Ref, ref} from 'vue'\nimport type {ComponentController, ControllerKey, PromiseWithController} from '../../types'\nimport type {BvTriggerableEvent} from '../../utils'\nimport {orchestratorRegistryKey, type OrchestratorStoreObject} from '../../utils/keys'\n\n/* oxlint-disable-next-line no-explicit-any */\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nexport type ValueInMapRecord<MapRecord> = MapRecord extends Map<any, infer I> ? I : never\n\nexport const buildController = <\n TComponent,\n TStore extends Readonly<Ref<OrchestratorStoreObject[keyof OrchestratorStoreObject]>>,\n>(\n id: ControllerKey,\n store: TStore\n): PromiseWithController<TComponent, ValueInMapRecord<TStore['value']>> => {\n let resolveFunc: (value: BvTriggerableEvent) => void = () => {}\n\n const basePromise = new Promise<BvTriggerableEvent>((resolve) => {\n resolveFunc = resolve\n })\n\n type RefWithMethods = ComponentPublicInstance<TComponent> & {\n show?: () => void\n hide?: (trigger?: string, noEmit?: boolean) => void\n toggle?: () => void\n }\n const findItem = () => store.value.get(id)\n\n const controller = {\n id,\n ref: null as RefWithMethods | null,\n async show() {\n const currentModelValue = controller.get()?.value.props.modelValue\n if (currentModelValue) {\n const event = await basePromise\n return Object.assign(Object.create(event), {\n [Symbol.asyncDispose]: controller.destroy,\n })\n }\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'show' in refWithMethods &&\n typeof refWithMethods.show === 'function'\n ) {\n refWithMethods.show()\n } else {\n controller.set({modelValue: true})\n }\n const event = await basePromise\n return Object.assign(Object.create(event), {\n [Symbol.asyncDispose]: controller.destroy,\n })\n },\n hide(trigger?: string) {\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'hide' in refWithMethods &&\n typeof refWithMethods.hide === 'function'\n ) {\n refWithMethods.hide(trigger, true)\n } else {\n controller.set({modelValue: false})\n }\n },\n toggle() {\n const currentItem = controller.get()\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'toggle' in refWithMethods &&\n typeof refWithMethods.toggle === 'function'\n ) {\n refWithMethods.toggle()\n } else {\n controller.set({modelValue: !currentItem?.value.props.modelValue})\n }\n },\n get: findItem,\n set(val: Partial<ValueInMapRecord<TStore['value']>['value']['props']>) {\n const current = findItem()\n if (current?.value) {\n current.value = {\n ...current.value,\n props: {\n ...current.value.props,\n ...val,\n /* oxlint-disable no-explicit-any */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n } as any,\n }\n }\n },\n async destroy() {\n const item = findItem()\n if (!item) return\n try {\n if (item.value.props.modelValue) {\n await basePromise\n await nextTick()\n controller.hide('destroy')\n }\n } finally {\n store.value.delete(id)\n }\n },\n [Symbol.asyncDispose]() {\n return controller.destroy()\n },\n } as ComponentController<TComponent, ValueInMapRecord<TStore['value']>>\n\n return {\n controller,\n resolve: resolveFunc,\n }\n}\n\nexport const _newOrchestratorRegistry = (): {\n store: Readonly<Ref<OrchestratorStoreObject>>\n _isToastAppend: Readonly<Ref<boolean>>\n _setToastAppend: (value: boolean) => void\n _isOrchestratorInstalled: Readonly<Ref<boolean>>\n _setOrchestratorInstalled: (value: boolean) => void\n} => {\n const _isOrchestratorInstalled = ref(false)\n const _isToastAppend = ref(false)\n\n return {\n store: ref({\n modal: new Map(),\n tooltip: new Map(),\n popover: new Map(),\n toast: new Map(),\n }),\n _isOrchestratorInstalled: readonly(_isOrchestratorInstalled),\n _setOrchestratorInstalled: (v) => {\n _isOrchestratorInstalled.value = v\n },\n _isToastAppend: readonly(_isToastAppend),\n _setToastAppend: (v) => {\n _isToastAppend.value = v\n },\n }\n}\n\nexport const useOrchestratorRegistry = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, null)\n\n if (orchestratorRegistry) {\n return orchestratorRegistry\n }\n const newOrchestratorRegistry = _newOrchestratorRegistry()\n provide(orchestratorRegistryKey, newOrchestratorRegistry)\n return newOrchestratorRegistry\n}\n\nexport const getOrchestratorControllerId = (propId: string | undefined) => {\n const id: ControllerKey = propId || Symbol('OrchestratorItem')\n\n return {\n /**\n * This id is used for stability in the store, using the createIdWatcher will update the store if the id ever changes\n */\n storeId: id,\n /**\n * Do not pass in the symbol as a prop. Html attribute cannot be a symbol. Thus it's internal\n */\n htmlAttributeId: typeof id === 'string' ? id : undefined,\n }\n}\n"],"mappings":";;;AASA,IAAa,mBAIX,IACA,UACyE;CACzE,IAAI,oBAAyD,CAAC;CAE9D,MAAM,cAAc,IAAI,SAA6B,YAAY;EAC/D,cAAc;CAChB,CAAC;CAOD,MAAM,iBAAiB,MAAM,MAAM,IAAI,EAAE;CAEzC,MAAM,aAAa;EACjB;EACA,KAAK;EACL,MAAM,OAAO;GAEX,IAD0B,WAAW,IAAI,CAAC,EAAE,MAAM,MAAM,YACjC;IACrB,MAAM,QAAQ,MAAM;IACpB,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,GACxC,OAAO,eAAe,WAAW,QACpC,CAAC;GACH;GACA,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,UAAU,kBACV,OAAO,eAAe,SAAS,YAE/B,eAAe,KAAK;QAEpB,WAAW,IAAI,EAAC,YAAY,KAAI,CAAC;GAEnC,MAAM,QAAQ,MAAM;GACpB,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,GACxC,OAAO,eAAe,WAAW,QACpC,CAAC;EACH;EACA,KAAK,SAAkB;GACrB,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,UAAU,kBACV,OAAO,eAAe,SAAS,YAE/B,eAAe,KAAK,SAAS,IAAI;QAEjC,WAAW,IAAI,EAAC,YAAY,MAAK,CAAC;EAEtC;EACA,SAAS;GACP,MAAM,cAAc,WAAW,IAAI;GACnC,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,YAAY,kBACZ,OAAO,eAAe,WAAW,YAEjC,eAAe,OAAO;QAEtB,WAAW,IAAI,EAAC,YAAY,CAAC,aAAa,MAAM,MAAM,WAAU,CAAC;EAErE;EACA,KAAK;EACL,IAAI,KAAmE;GACrE,MAAM,UAAU,SAAS;GACzB,IAAI,SAAS,OACX,QAAQ,QAAQ;IACd,GAAG,QAAQ;IACX,OAAO;KACL,GAAG,QAAQ,MAAM;KACjB,GAAG;IAGL;GACF;EAEJ;EACA,MAAM,UAAU;GACd,MAAM,OAAO,SAAS;GACtB,IAAI,CAAC,MAAM;GACX,IAAI;IACF,IAAI,KAAK,MAAM,MAAM,YAAY;KAC/B,MAAM;KACN,MAAM,SAAS;KACf,WAAW,KAAK,SAAS;IAC3B;GACF,UAAU;IACR,MAAM,MAAM,OAAO,EAAE;GACvB;EACF;EACA,CAAC,OAAO,gBAAgB;GACtB,OAAO,WAAW,QAAQ;EAC5B;CACF;CAEA,OAAO;EACL;EACA,SAAS;CACX;AACF;AAEA,IAAa,iCAMR;CACH,MAAM,2BAA2B,IAAI,KAAK;CAC1C,MAAM,iBAAiB,IAAI,KAAK;CAEhC,OAAO;EACL,OAAO,IAAI;GACT,uBAAO,IAAI,IAAI;GACf,yBAAS,IAAI,IAAI;GACjB,yBAAS,IAAI,IAAI;GACjB,uBAAO,IAAI,IAAI;EACjB,CAAC;EACD,0BAA0B,SAAS,wBAAwB;EAC3D,4BAA4B,MAAM;GAChC,yBAAyB,QAAQ;EACnC;EACA,gBAAgB,SAAS,cAAc;EACvC,kBAAkB,MAAM;GACtB,eAAe,QAAQ;EACzB;CACF;AACF;AAEA,IAAa,gCAAgC;CAC3C,MAAM,uBAAuB,OAAO,yBAAyB,IAAI;CAEjE,IAAI,sBACF,OAAO;CAET,MAAM,0BAA0B,yBAAyB;CACzD,QAAQ,yBAAyB,uBAAuB;CACxD,OAAO;AACT;AAEA,IAAa,+BAA+B,WAA+B;CACzE,MAAM,KAAoB,UAAU,OAAO,kBAAkB;CAE7D,OAAO;;;;EAIL,SAAS;;;;EAIT,iBAAiB,OAAO,OAAO,WAAW,KAAK,KAAA;CACjD;AACF"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/composables/orchestratorShared/index.ts"],"sourcesContent":["import {type ComponentPublicInstance, inject, nextTick, provide, readonly, type Ref, ref} from 'vue'\nimport type {ComponentController, ControllerKey, PromiseWithController} from '../../types'\nimport type {BvTriggerableEvent} from '../../utils'\nimport {orchestratorRegistryKey, type OrchestratorStoreObject} from '../../utils/keys'\n\n/* oxlint-disable-next-line no-explicit-any */\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nexport type ValueInMapRecord<MapRecord> = MapRecord extends Map<any, infer I> ? I : never\n\nexport const buildController = <\n TComponent,\n TStore extends Readonly<Ref<OrchestratorStoreObject[keyof OrchestratorStoreObject]>>,\n>(\n id: ControllerKey,\n store: TStore\n): PromiseWithController<TComponent, ValueInMapRecord<TStore['value']>> => {\n let resolveFunc: (value: BvTriggerableEvent) => void = () => {}\n\n const basePromise = new Promise<BvTriggerableEvent>((resolve) => {\n resolveFunc = resolve\n })\n\n type RefWithMethods = ComponentPublicInstance<TComponent> & {\n show?: () => void\n hide?: (trigger?: string, noEmit?: boolean) => void\n toggle?: () => void\n }\n const findItem = () => store.value.get(id)\n\n const controller = {\n id,\n ref: null as RefWithMethods | null,\n async show() {\n const currentModelValue = controller.get()?.value.props.modelValue\n if (currentModelValue) {\n const event = await basePromise\n return Object.assign(Object.create(event), {\n [Symbol.asyncDispose]: controller.destroy,\n })\n }\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'show' in refWithMethods &&\n typeof refWithMethods.show === 'function'\n ) {\n refWithMethods.show()\n } else {\n controller.set({modelValue: true})\n }\n const event = await basePromise\n return Object.assign(Object.create(event), {\n [Symbol.asyncDispose]: controller.destroy,\n })\n },\n hide(trigger?: string) {\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'hide' in refWithMethods &&\n typeof refWithMethods.hide === 'function'\n ) {\n refWithMethods.hide(trigger, true)\n } else {\n controller.set({modelValue: false})\n }\n },\n toggle() {\n const currentItem = controller.get()\n const refWithMethods = controller.ref\n if (\n refWithMethods !== null &&\n 'toggle' in refWithMethods &&\n typeof refWithMethods.toggle === 'function'\n ) {\n refWithMethods.toggle()\n } else {\n controller.set({modelValue: !currentItem?.value.props.modelValue})\n }\n },\n get: findItem,\n set(val: Partial<ValueInMapRecord<TStore['value']>['value']['props']>) {\n const current = findItem()\n if (current?.value) {\n current.value = {\n ...current.value,\n props: {\n ...current.value.props,\n ...val,\n /* oxlint-disable no-explicit-any */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n } as any,\n }\n }\n },\n async destroy() {\n const item = findItem()\n if (!item) return\n try {\n if (item.value.props.modelValue) {\n controller.hide('destroy')\n await basePromise\n await nextTick()\n }\n } finally {\n store.value.delete(id)\n }\n },\n [Symbol.asyncDispose]() {\n return controller.destroy()\n },\n } as ComponentController<TComponent, ValueInMapRecord<TStore['value']>>\n\n return {\n controller,\n resolve: resolveFunc,\n }\n}\n\nexport const _newOrchestratorRegistry = (): {\n store: Readonly<Ref<OrchestratorStoreObject>>\n _isToastAppend: Readonly<Ref<boolean>>\n _setToastAppend: (value: boolean) => void\n _isOrchestratorInstalled: Readonly<Ref<boolean>>\n _setOrchestratorInstalled: (value: boolean) => void\n} => {\n const _isOrchestratorInstalled = ref(false)\n const _isToastAppend = ref(false)\n\n return {\n store: ref({\n modal: new Map(),\n tooltip: new Map(),\n popover: new Map(),\n toast: new Map(),\n }),\n _isOrchestratorInstalled: readonly(_isOrchestratorInstalled),\n _setOrchestratorInstalled: (v) => {\n _isOrchestratorInstalled.value = v\n },\n _isToastAppend: readonly(_isToastAppend),\n _setToastAppend: (v) => {\n _isToastAppend.value = v\n },\n }\n}\n\nexport const useOrchestratorRegistry = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, null)\n\n if (orchestratorRegistry) {\n return orchestratorRegistry\n }\n const newOrchestratorRegistry = _newOrchestratorRegistry()\n provide(orchestratorRegistryKey, newOrchestratorRegistry)\n return newOrchestratorRegistry\n}\n\nexport const getOrchestratorControllerId = (propId: string | undefined) => {\n const id: ControllerKey = propId || Symbol('OrchestratorItem')\n\n return {\n /**\n * This id is used for stability in the store, using the createIdWatcher will update the store if the id ever changes\n */\n storeId: id,\n /**\n * Do not pass in the symbol as a prop. Html attribute cannot be a symbol. Thus it's internal\n */\n htmlAttributeId: typeof id === 'string' ? id : undefined,\n }\n}\n"],"mappings":";;;AASA,IAAa,mBAIX,IACA,UACyE;CACzE,IAAI,oBAAyD,CAAC;CAE9D,MAAM,cAAc,IAAI,SAA6B,YAAY;EAC/D,cAAc;CAChB,CAAC;CAOD,MAAM,iBAAiB,MAAM,MAAM,IAAI,EAAE;CAEzC,MAAM,aAAa;EACjB;EACA,KAAK;EACL,MAAM,OAAO;GAEX,IAD0B,WAAW,IAAI,CAAC,EAAE,MAAM,MAAM,YACjC;IACrB,MAAM,QAAQ,MAAM;IACpB,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,GACxC,OAAO,eAAe,WAAW,QACpC,CAAC;GACH;GACA,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,UAAU,kBACV,OAAO,eAAe,SAAS,YAE/B,eAAe,KAAK;QAEpB,WAAW,IAAI,EAAC,YAAY,KAAI,CAAC;GAEnC,MAAM,QAAQ,MAAM;GACpB,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,GACxC,OAAO,eAAe,WAAW,QACpC,CAAC;EACH;EACA,KAAK,SAAkB;GACrB,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,UAAU,kBACV,OAAO,eAAe,SAAS,YAE/B,eAAe,KAAK,SAAS,IAAI;QAEjC,WAAW,IAAI,EAAC,YAAY,MAAK,CAAC;EAEtC;EACA,SAAS;GACP,MAAM,cAAc,WAAW,IAAI;GACnC,MAAM,iBAAiB,WAAW;GAClC,IACE,mBAAmB,QACnB,YAAY,kBACZ,OAAO,eAAe,WAAW,YAEjC,eAAe,OAAO;QAEtB,WAAW,IAAI,EAAC,YAAY,CAAC,aAAa,MAAM,MAAM,WAAU,CAAC;EAErE;EACA,KAAK;EACL,IAAI,KAAmE;GACrE,MAAM,UAAU,SAAS;GACzB,IAAI,SAAS,OACX,QAAQ,QAAQ;IACd,GAAG,QAAQ;IACX,OAAO;KACL,GAAG,QAAQ,MAAM;KACjB,GAAG;IAGL;GACF;EAEJ;EACA,MAAM,UAAU;GACd,MAAM,OAAO,SAAS;GACtB,IAAI,CAAC,MAAM;GACX,IAAI;IACF,IAAI,KAAK,MAAM,MAAM,YAAY;KAC/B,WAAW,KAAK,SAAS;KACzB,MAAM;KACN,MAAM,SAAS;IACjB;GACF,UAAU;IACR,MAAM,MAAM,OAAO,EAAE;GACvB;EACF;EACA,CAAC,OAAO,gBAAgB;GACtB,OAAO,WAAW,QAAQ;EAC5B;CACF;CAEA,OAAO;EACL;EACA,SAAS;CACX;AACF;AAEA,IAAa,iCAMR;CACH,MAAM,2BAA2B,IAAI,KAAK;CAC1C,MAAM,iBAAiB,IAAI,KAAK;CAEhC,OAAO;EACL,OAAO,IAAI;GACT,uBAAO,IAAI,IAAI;GACf,yBAAS,IAAI,IAAI;GACjB,yBAAS,IAAI,IAAI;GACjB,uBAAO,IAAI,IAAI;EACjB,CAAC;EACD,0BAA0B,SAAS,wBAAwB;EAC3D,4BAA4B,MAAM;GAChC,yBAAyB,QAAQ;EACnC;EACA,gBAAgB,SAAS,cAAc;EACvC,kBAAkB,MAAM;GACtB,eAAe,QAAQ;EACzB;CACF;AACF;AAEA,IAAa,gCAAgC;CAC3C,MAAM,uBAAuB,OAAO,yBAAyB,IAAI;CAEjE,IAAI,sBACF,OAAO;CAET,MAAM,0BAA0B,yBAAyB;CACzD,QAAQ,yBAAyB,uBAAuB;CACxD,OAAO;AACT;AAEA,IAAa,+BAA+B,WAA+B;CACzE,MAAM,KAAoB,UAAU,OAAO,kBAAkB;CAE7D,OAAO;;;;EAIL,SAAS;;;;EAIT,iBAAiB,OAAO,OAAO,WAAW,KAAK,KAAA;CACjD;AACF"}
@@ -1,4 +1,4 @@
1
- import { _ as orchestratorRegistryKey } from "../../../keys-BgLwJbLV.js";
1
+ import { _ as orchestratorRegistryKey, x as showHideRegistryKey } from "../../../keys-BgLwJbLV.js";
2
2
  import { buildController, getOrchestratorControllerId } from "../orchestratorShared/index.mjs";
3
3
  import { t as BToast_default } from "../../../BToast-Di9HwBOV.js";
4
4
  import { computed, inject, markRaw, onScopeDispose, ref } from "vue";
@@ -8,6 +8,7 @@ var useToast = () => {
8
8
  const orchestratorRegistry = inject(orchestratorRegistryKey, null);
9
9
  if (!orchestratorRegistry) throw new Error("useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.");
10
10
  const { store, _isToastAppend, _isOrchestratorInstalled } = orchestratorRegistry;
11
+ const showHideRegistry = inject(showHideRegistryKey, null);
11
12
  /**
12
13
  * @returns {ComponentController<typeof BToast, ToastOrchestratorParam>}
13
14
  */
@@ -53,11 +54,70 @@ var useToast = () => {
53
54
  }, true);
54
55
  return controller;
55
56
  }
57
+ /**
58
+ * Hides a mounted BToast that registered itself under `id`. Going through the component, rather
59
+ * than through the store, is what lets the trigger flow through the regular hide cycle
60
+ *
61
+ * @returns whether a toast was found
62
+ */
63
+ const hideRegisteredInstance = (id, trigger) => {
64
+ if (typeof id !== "string") return false;
65
+ const instances = showHideRegistry?.values.value.get(id)?.instances;
66
+ if (!instances) return false;
67
+ for (let i = instances.length - 1; i >= 0; i--) {
68
+ const instance = instances[i];
69
+ if (instance?.component.type !== BToast_default) continue;
70
+ instance.hide(trigger, true);
71
+ return true;
72
+ }
73
+ return false;
74
+ };
75
+ /**
76
+ * Hides a toast that lives in the orchestrator store. Prefers the mounted instance, falling back
77
+ * to the store entry itself, which also covers toasts that the orchestrator has yet to render
78
+ * and toasts rendered through a custom `component`
79
+ */
80
+ const hideStoreItem = (item, trigger) => {
81
+ if (hideRegisteredInstance(item.value.props.id ?? item.value.id, trigger)) return;
82
+ item.value = {
83
+ ...item.value,
84
+ props: {
85
+ ...item.value.props,
86
+ modelValue: false
87
+ }
88
+ };
89
+ };
90
+ /**
91
+ * Hide all toasts
92
+ * @param trigger - The trigger to hide all toasts
93
+ */
94
+ const hideAll = (trigger) => {
95
+ for (const item of store.value.toast.values()) hideStoreItem(item, trigger);
96
+ };
97
+ /**
98
+ * Hide a toast
99
+ * @param trigger - The trigger to hide the toast
100
+ * @param id - The id of the toast to hide, when omitted every toast is hidden
101
+ */
102
+ const hide = (trigger, id) => {
103
+ if (id === void 0) {
104
+ hideAll(trigger);
105
+ return;
106
+ }
107
+ const item = store.value.toast.get(id);
108
+ if (item) {
109
+ hideStoreItem(item, trigger);
110
+ return;
111
+ }
112
+ hideRegisteredInstance(id, trigger);
113
+ };
56
114
  return {
57
115
  _isToastAppend,
58
116
  _isOrchestratorInstalled,
59
117
  store,
60
- create
118
+ create,
119
+ hide,
120
+ hideAll
61
121
  };
62
122
  };
63
123
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/composables/useToast/index.ts"],"sourcesContent":["import {\n type ComponentPublicInstance,\n computed,\n type ComputedRef,\n inject,\n markRaw,\n type MaybeRef,\n onScopeDispose,\n ref,\n type Ref,\n} from 'vue'\nimport {orchestratorRegistryKey, type OrchestratorStoreObject} from '../../utils/keys'\nimport type {ContainerPosition} from '../../types/Alignment'\nimport type {\n ComponentController,\n ToastOrchestratorArrayValue,\n ToastOrchestratorCreateParamBase,\n} from '../../types'\nimport {buildController, getOrchestratorControllerId} from '../orchestratorShared'\nimport {BToast} from '../../components'\n\nconst posDefault: ContainerPosition = 'top-end'\n\nexport const useToast = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, null)\n if (!orchestratorRegistry)\n throw new Error(\n 'useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.'\n )\n const {store, _isToastAppend, _isOrchestratorInstalled} = orchestratorRegistry\n\n /**\n * @returns {ComponentController<typeof BToast, ToastOrchestratorParam>}\n */\n // Uses a `function` declaration (rather than a generic arrow function assigned to a const) so\n // that TypeScript preserves per-call generic inference when `create` is returned as part of\n // `useToast()`'s inferred return object.\n function create<\n ComponentProps extends Record<string, unknown> = Record<string, unknown>,\n T extends ToastOrchestratorCreateParamBase<ComponentProps> = ToastOrchestratorCreateParamBase<ComponentProps>,\n >(\n obj: MaybeRef<T> = {} as T\n ): ComponentController<typeof BToast, Ref<ToastOrchestratorArrayValue>> {\n if (!_isOrchestratorInstalled.value)\n throw new Error('The BApp component must be mounted to use the toast composable')\n\n const toastComp = markRaw(BToast)\n const resolvedProps = ref(obj)\n const toastStore = computed(() => store.value.toast)\n const {htmlAttributeId, storeId} = getOrchestratorControllerId(resolvedProps.value.id)\n\n const {resolve, controller} = buildController<\n typeof BToast,\n ComputedRef<OrchestratorStoreObject['toast']>\n >(storeId, toastStore)\n\n const value = computed<ToastOrchestratorArrayValue>({\n get: () => {\n const {component = toastComp, options, slots, ...props} = resolvedProps.value\n\n return {\n component,\n options,\n slots,\n id: storeId,\n fns: {\n resolve,\n setRef: (v: ComponentPublicInstance) => {\n controller.ref = v\n },\n destroy: controller.destroy,\n },\n props: {\n ...props,\n id: htmlAttributeId,\n position: props.position || posDefault,\n },\n }\n },\n set: (v) => {\n resolvedProps.value = {\n ...resolvedProps.value,\n ...v.props,\n }\n },\n })\n\n toastStore.value.set(storeId, value)\n\n onScopeDispose(async () => {\n await controller[Symbol.asyncDispose]()\n }, true)\n\n return controller\n }\n\n return {\n _isToastAppend,\n _isOrchestratorInstalled,\n store,\n create,\n }\n}\n"],"mappings":";;;;;AAqBA,IAAM,aAAgC;AAEtC,IAAa,iBAAiB;CAC5B,MAAM,uBAAuB,OAAO,yBAAyB,IAAI;CACjE,IAAI,CAAC,sBACH,MAAM,IAAI,MACR,uGACF;CACF,MAAM,EAAC,OAAO,gBAAgB,6BAA4B;;;;CAQ1D,SAAS,OAIP,MAAmB,CAAC,GACkD;EACtE,IAAI,CAAC,yBAAyB,OAC5B,MAAM,IAAI,MAAM,gEAAgE;EAElF,MAAM,YAAY,QAAQ,cAAM;EAChC,MAAM,gBAAgB,IAAI,GAAG;EAC7B,MAAM,aAAa,eAAe,MAAM,MAAM,KAAK;EACnD,MAAM,EAAC,iBAAiB,YAAW,4BAA4B,cAAc,MAAM,EAAE;EAErF,MAAM,EAAC,SAAS,eAAc,gBAG5B,SAAS,UAAU;EAErB,MAAM,QAAQ,SAAsC;GAClD,WAAW;IACT,MAAM,EAAC,YAAY,WAAW,SAAS,OAAO,GAAG,UAAS,cAAc;IAExE,OAAO;KACL;KACA;KACA;KACA,IAAI;KACJ,KAAK;MACH;MACA,SAAS,MAA+B;OACtC,WAAW,MAAM;MACnB;MACA,SAAS,WAAW;KACtB;KACA,OAAO;MACL,GAAG;MACH,IAAI;MACJ,UAAU,MAAM,YAAY;KAC9B;IACF;GACF;GACA,MAAM,MAAM;IACV,cAAc,QAAQ;KACpB,GAAG,cAAc;KACjB,GAAG,EAAE;IACP;GACF;EACF,CAAC;EAED,WAAW,MAAM,IAAI,SAAS,KAAK;EAEnC,eAAe,YAAY;GACzB,MAAM,WAAW,OAAO,aAAa,CAAC;EACxC,GAAG,IAAI;EAEP,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/composables/useToast/index.ts"],"sourcesContent":["import {\n type ComponentPublicInstance,\n computed,\n type ComputedRef,\n inject,\n markRaw,\n type MaybeRef,\n onScopeDispose,\n ref,\n type Ref,\n} from 'vue'\nimport {\n orchestratorRegistryKey,\n type OrchestratorStoreObject,\n showHideRegistryKey,\n} from '../../utils/keys'\nimport type {ContainerPosition} from '../../types/Alignment'\nimport type {\n ComponentController,\n ControllerKey,\n ToastOrchestratorArrayValue,\n ToastOrchestratorCreateParamBase,\n} from '../../types'\nimport {buildController, getOrchestratorControllerId} from '../orchestratorShared'\nimport {BToast} from '../../components'\n\nconst posDefault: ContainerPosition = 'top-end'\n\nexport const useToast = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, null)\n if (!orchestratorRegistry)\n throw new Error(\n 'useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.'\n )\n const {store, _isToastAppend, _isOrchestratorInstalled} = orchestratorRegistry\n const showHideRegistry = inject(showHideRegistryKey, null)\n\n /**\n * @returns {ComponentController<typeof BToast, ToastOrchestratorParam>}\n */\n // Uses a `function` declaration (rather than a generic arrow function assigned to a const) so\n // that TypeScript preserves per-call generic inference when `create` is returned as part of\n // `useToast()`'s inferred return object.\n function create<\n ComponentProps extends Record<string, unknown> = Record<string, unknown>,\n T extends ToastOrchestratorCreateParamBase<ComponentProps> =\n ToastOrchestratorCreateParamBase<ComponentProps>,\n >(\n obj: MaybeRef<T> = {} as T\n ): ComponentController<typeof BToast, Ref<ToastOrchestratorArrayValue>> {\n if (!_isOrchestratorInstalled.value)\n throw new Error('The BApp component must be mounted to use the toast composable')\n\n const toastComp = markRaw(BToast)\n const resolvedProps = ref(obj)\n const toastStore = computed(() => store.value.toast)\n const {htmlAttributeId, storeId} = getOrchestratorControllerId(resolvedProps.value.id)\n\n const {resolve, controller} = buildController<\n typeof BToast,\n ComputedRef<OrchestratorStoreObject['toast']>\n >(storeId, toastStore)\n\n const value = computed<ToastOrchestratorArrayValue>({\n get: () => {\n const {component = toastComp, options, slots, ...props} = resolvedProps.value\n\n return {\n component,\n options,\n slots,\n id: storeId,\n fns: {\n resolve,\n setRef: (v: ComponentPublicInstance) => {\n controller.ref = v\n },\n destroy: controller.destroy,\n },\n props: {\n ...props,\n id: htmlAttributeId,\n position: props.position || posDefault,\n },\n }\n },\n set: (v) => {\n resolvedProps.value = {\n ...resolvedProps.value,\n ...v.props,\n }\n },\n })\n\n toastStore.value.set(storeId, value)\n\n onScopeDispose(async () => {\n await controller[Symbol.asyncDispose]()\n }, true)\n\n return controller\n }\n\n /**\n * Hides a mounted BToast that registered itself under `id`. Going through the component, rather\n * than through the store, is what lets the trigger flow through the regular hide cycle\n *\n * @returns whether a toast was found\n */\n const hideRegisteredInstance = (id: ControllerKey, trigger?: string): boolean => {\n // The show/hide registry is keyed by the html id, symbols never reach it\n if (typeof id !== 'string') return false\n const instances = showHideRegistry?.values.value.get(id)?.instances\n if (!instances) return false\n // Every show/hide component shares this registry, so an id may resolve to a BCollapse or a\n // BModal. Only toasts are ours to hide. Newest first, the way the registry's getActive does\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i]\n if (instance?.component.type !== BToast) continue\n instance.hide(trigger, true)\n return true\n }\n return false\n }\n\n /**\n * Hides a toast that lives in the orchestrator store. Prefers the mounted instance, falling back\n * to the store entry itself, which also covers toasts that the orchestrator has yet to render\n * and toasts rendered through a custom `component`\n */\n const hideStoreItem = (item: Ref<ToastOrchestratorArrayValue>, trigger?: string): void => {\n if (hideRegisteredInstance(item.value.props.id ?? item.value.id, trigger)) return\n item.value = {\n ...item.value,\n props: {\n ...item.value.props,\n modelValue: false,\n },\n }\n }\n\n /**\n * Hide all toasts\n * @param trigger - The trigger to hide all toasts\n */\n const hideAll = (trigger?: string): void => {\n for (const item of store.value.toast.values()) {\n hideStoreItem(item, trigger)\n }\n }\n\n /**\n * Hide a toast\n * @param trigger - The trigger to hide the toast\n * @param id - The id of the toast to hide, when omitted every toast is hidden\n */\n const hide = (trigger?: string, id?: ControllerKey): void => {\n if (id === undefined) {\n hideAll(trigger)\n return\n }\n const item = store.value.toast.get(id)\n if (item) {\n hideStoreItem(item, trigger)\n return\n }\n // Not created through the composable, it could still be a BToast declared in a template\n hideRegisteredInstance(id, trigger)\n }\n\n return {\n _isToastAppend,\n _isOrchestratorInstalled,\n store,\n create,\n hide,\n hideAll,\n }\n}\n"],"mappings":";;;;;AA0BA,IAAM,aAAgC;AAEtC,IAAa,iBAAiB;CAC5B,MAAM,uBAAuB,OAAO,yBAAyB,IAAI;CACjE,IAAI,CAAC,sBACH,MAAM,IAAI,MACR,uGACF;CACF,MAAM,EAAC,OAAO,gBAAgB,6BAA4B;CAC1D,MAAM,mBAAmB,OAAO,qBAAqB,IAAI;;;;CAQzD,SAAS,OAKP,MAAmB,CAAC,GACkD;EACtE,IAAI,CAAC,yBAAyB,OAC5B,MAAM,IAAI,MAAM,gEAAgE;EAElF,MAAM,YAAY,QAAQ,cAAM;EAChC,MAAM,gBAAgB,IAAI,GAAG;EAC7B,MAAM,aAAa,eAAe,MAAM,MAAM,KAAK;EACnD,MAAM,EAAC,iBAAiB,YAAW,4BAA4B,cAAc,MAAM,EAAE;EAErF,MAAM,EAAC,SAAS,eAAc,gBAG5B,SAAS,UAAU;EAErB,MAAM,QAAQ,SAAsC;GAClD,WAAW;IACT,MAAM,EAAC,YAAY,WAAW,SAAS,OAAO,GAAG,UAAS,cAAc;IAExE,OAAO;KACL;KACA;KACA;KACA,IAAI;KACJ,KAAK;MACH;MACA,SAAS,MAA+B;OACtC,WAAW,MAAM;MACnB;MACA,SAAS,WAAW;KACtB;KACA,OAAO;MACL,GAAG;MACH,IAAI;MACJ,UAAU,MAAM,YAAY;KAC9B;IACF;GACF;GACA,MAAM,MAAM;IACV,cAAc,QAAQ;KACpB,GAAG,cAAc;KACjB,GAAG,EAAE;IACP;GACF;EACF,CAAC;EAED,WAAW,MAAM,IAAI,SAAS,KAAK;EAEnC,eAAe,YAAY;GACzB,MAAM,WAAW,OAAO,aAAa,CAAC;EACxC,GAAG,IAAI;EAEP,OAAO;CACT;;;;;;;CAQA,MAAM,0BAA0B,IAAmB,YAA8B;EAE/E,IAAI,OAAO,OAAO,UAAU,OAAO;EACnC,MAAM,YAAY,kBAAkB,OAAO,MAAM,IAAI,EAAE,CAAC,EAAE;EAC1D,IAAI,CAAC,WAAW,OAAO;EAGvB,KAAK,IAAI,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;GAC9C,MAAM,WAAW,UAAU;GAC3B,IAAI,UAAU,UAAU,SAAS,gBAAQ;GACzC,SAAS,KAAK,SAAS,IAAI;GAC3B,OAAO;EACT;EACA,OAAO;CACT;;;;;;CAOA,MAAM,iBAAiB,MAAwC,YAA2B;EACxF,IAAI,uBAAuB,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,IAAI,OAAO,GAAG;EAC3E,KAAK,QAAQ;GACX,GAAG,KAAK;GACR,OAAO;IACL,GAAG,KAAK,MAAM;IACd,YAAY;GACd;EACF;CACF;;;;;CAMA,MAAM,WAAW,YAA2B;EAC1C,KAAK,MAAM,QAAQ,MAAM,MAAM,MAAM,OAAO,GAC1C,cAAc,MAAM,OAAO;CAE/B;;;;;;CAOA,MAAM,QAAQ,SAAkB,OAA6B;EAC3D,IAAI,OAAO,KAAA,GAAW;GACpB,QAAQ,OAAO;GACf;EACF;EACA,MAAM,OAAO,MAAM,MAAM,MAAM,IAAI,EAAE;EACrC,IAAI,MAAM;GACR,cAAc,MAAM,OAAO;GAC3B;EACF;EAEA,uBAAuB,IAAI,OAAO;CACpC;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -997,6 +997,7 @@ export interface BCardProps extends ColorExtendables {
997
997
  headerTextVariant?: TextColorVariant | null;
998
998
  headerVariant?: ColorVariant | null;
999
999
  imgAlt?: string;
1000
+ imgAttrs?: Readonly<AttrsValue>;
1000
1001
  imgPlacement?: Placement | 'overlay';
1001
1002
  imgHeight?: Numberish;
1002
1003
  imgSrc?: string;
@@ -997,6 +997,7 @@ export interface BCardProps extends ColorExtendables {
997
997
  headerTextVariant?: TextColorVariant | null;
998
998
  headerVariant?: ColorVariant | null;
999
999
  imgAlt?: string;
1000
+ imgAttrs?: Readonly<AttrsValue>;
1000
1001
  imgPlacement?: Placement | 'overlay';
1001
1002
  imgHeight?: Numberish;
1002
1003
  imgSrc?: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "bootstrap-vue-next",
3
3
  "displayName": "BootstrapVueNext",
4
4
  "description": "Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development",
5
- "version": "1.0.2",
5
+ "version": "1.2.0",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "main": "./dist/bootstrap-vue-next.mjs",