bootstrap-vue-next 0.24.16 → 0.24.18
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.
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-CHSj79Ia.mjs} +3 -3
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-CHSj79Ia.mjs.map} +1 -1
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-CfuLHUgV.js} +2 -2
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-CfuLHUgV.js.map} +1 -1
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs → BBadge.vue_vue_type_script_setup_true_lang-DMBOUNsT.mjs} +3 -3
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs.map → BBadge.vue_vue_type_script_setup_true_lang-DMBOUNsT.mjs.map} +1 -1
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js → BBadge.vue_vue_type_script_setup_true_lang-wBNusCiJ.js} +2 -2
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js.map → BBadge.vue_vue_type_script_setup_true_lang-wBNusCiJ.js.map} +1 -1
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-HE0K2EEE.mjs → BCard.vue_vue_type_script_setup_true_lang-D-O5edl8.mjs} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-HE0K2EEE.mjs.map → BCard.vue_vue_type_script_setup_true_lang-D-O5edl8.mjs.map} +1 -1
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js → BCard.vue_vue_type_script_setup_true_lang-DdgDOzk3.js} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js.map → BCard.vue_vue_type_script_setup_true_lang-DdgDOzk3.js.map} +1 -1
- package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-DC2pr_pL.mjs → BDropdown.vue_vue_type_script_setup_true_lang-BBlf_zfN.mjs} +2 -2
- package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-DC2pr_pL.mjs.map → BDropdown.vue_vue_type_script_setup_true_lang-BBlf_zfN.mjs.map} +1 -1
- package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-IkrH9BlP.js → BDropdown.vue_vue_type_script_setup_true_lang-Bttc25Hh.js} +2 -2
- package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-IkrH9BlP.js.map → BDropdown.vue_vue_type_script_setup_true_lang-Bttc25Hh.js.map} +1 -1
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C50reHb2.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang--YSZ6GxF.mjs} +2 -2
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C50reHb2.mjs.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang--YSZ6GxF.mjs.map} +1 -1
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-5E4ULH73.js → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CFYEHWO9.js} +2 -2
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-5E4ULH73.js.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CFYEHWO9.js.map} +1 -1
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5cT1C4w.js → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CLNh6Uit.js} +2 -2
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5cT1C4w.js.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CLNh6Uit.js.map} +1 -1
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-DJCILOrN.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang-WZzzVs1U.mjs} +2 -2
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-DJCILOrN.mjs.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-WZzzVs1U.mjs.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-CaWmwzzo.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CO_IACRs.js} +2 -2
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-CaWmwzzo.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CO_IACRs.js.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-DBRcifzN.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-Cb5g3eBR.mjs} +2 -2
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-DBRcifzN.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-Cb5g3eBR.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-Exa-2z81.mjs → BNavText.vue_vue_type_script_setup_true_lang-BrRdgZDM.mjs} +2 -2
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-Exa-2z81.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-BrRdgZDM.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-0AcCbocR.js → BNavText.vue_vue_type_script_setup_true_lang-DSyBhH3E.js} +2 -2
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-0AcCbocR.js.map → BNavText.vue_vue_type_script_setup_true_lang-DSyBhH3E.js.map} +1 -1
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-B6R5Vd0q.js → BOverlay.vue_vue_type_script_setup_true_lang-2Z6KXqxf.js} +2 -2
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-B6R5Vd0q.js.map → BOverlay.vue_vue_type_script_setup_true_lang-2Z6KXqxf.js.map} +1 -1
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-QGQlohi6.mjs → BOverlay.vue_vue_type_script_setup_true_lang-BxDX9fPu.mjs} +2 -2
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-QGQlohi6.mjs.map → BOverlay.vue_vue_type_script_setup_true_lang-BxDX9fPu.mjs.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-D-r_Gw_F.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BXYYvYbR.mjs} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-D-r_Gw_F.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BXYYvYbR.mjs.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8YvrW7v6.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-nXs5pAAS.js} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8YvrW7v6.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-nXs5pAAS.js.map} +1 -1
- package/dist/{BProgress.vue_vue_type_script_setup_true_lang-dljjV5EO.js → BProgress.vue_vue_type_script_setup_true_lang-BLntSqe6.js} +2 -2
- package/dist/{BProgress.vue_vue_type_script_setup_true_lang-dljjV5EO.js.map → BProgress.vue_vue_type_script_setup_true_lang-BLntSqe6.js.map} +1 -1
- package/dist/{BProgress.vue_vue_type_script_setup_true_lang-D1V8J3od.mjs → BProgress.vue_vue_type_script_setup_true_lang-DxpcxnHL.mjs} +2 -2
- package/dist/{BProgress.vue_vue_type_script_setup_true_lang-D1V8J3od.mjs.map → BProgress.vue_vue_type_script_setup_true_lang-DxpcxnHL.mjs.map} +1 -1
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-mZVbjCrV.mjs → BTable.vue_vue_type_script_setup_true_lang-BxaQZSFR.mjs} +2 -2
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-mZVbjCrV.mjs.map → BTable.vue_vue_type_script_setup_true_lang-BxaQZSFR.mjs.map} +1 -1
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-By6bmbz7.js → BTable.vue_vue_type_script_setup_true_lang-Vf3AQEQS.js} +2 -2
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-By6bmbz7.js.map → BTable.vue_vue_type_script_setup_true_lang-Vf3AQEQS.js.map} +1 -1
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DVknK6Q7.mjs → BToastOrchestrator.vue_vue_type_style_index_0_lang-C9NfdoqO.mjs} +3 -3
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DVknK6Q7.mjs.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-C9NfdoqO.mjs.map} +1 -1
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Bi4vXXPB.js → BToastOrchestrator.vue_vue_type_style_index_0_lang-DxKKqEXd.js} +2 -2
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Bi4vXXPB.js.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-DxKKqEXd.js.map} +1 -1
- package/dist/{ConditionalWrapper.vue_vue_type_script_lang-C_5wlT3v.mjs → ConditionalWrapper.vue_vue_type_script_lang-B-0cSyYg.mjs} +2 -2
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-B-0cSyYg.mjs.map +1 -0
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-BClbTb87.js +2 -0
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-BClbTb87.js.map +1 -0
- package/dist/bootstrap-vue-next.mjs +14 -14
- package/dist/bootstrap-vue-next.umd.js +1 -1
- package/dist/{index-mVKnXTAA.js → index-B_Fv-vu_.js} +2 -2
- package/dist/index-B_Fv-vu_.js.map +1 -0
- package/dist/{index-0aeDM_Nc.mjs → index-D-mM4XCQ.mjs} +14 -14
- package/dist/{index-0aeDM_Nc.mjs.map → index-D-mM4XCQ.mjs.map} +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBadge/index.umd.js +1 -1
- package/dist/src/components/BCard/index.mjs +1 -1
- package/dist/src/components/BCard/index.umd.js +1 -1
- package/dist/src/components/BDropdown/index.mjs +1 -1
- package/dist/src/components/BDropdown/index.umd.js +1 -1
- package/dist/src/components/BFormCheckbox/index.mjs +1 -1
- package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
- package/dist/src/components/BFormRadio/index.mjs +1 -1
- package/dist/src/components/BFormRadio/index.umd.js +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BOverlay/index.mjs +1 -1
- package/dist/src/components/BOverlay/index.umd.js +1 -1
- package/dist/src/components/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.umd.js +1 -1
- package/dist/src/components/BProgress/index.mjs +1 -1
- package/dist/src/components/BProgress/index.umd.js +1 -1
- package/dist/src/components/BTable/index.mjs +1 -1
- package/dist/src/components/BTable/index.umd.js +1 -1
- package/dist/src/components/BToast/index.mjs +1 -1
- package/dist/src/components/BToast/index.umd.js +1 -1
- package/dist/src/components/index.mjs +13 -13
- package/dist/src/components/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.mjs +7 -7
- package/dist/src/directives/BPopover/index.mjs.map +1 -1
- package/dist/src/directives/BPopover/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.umd.js.map +1 -1
- package/dist/src/directives/BTooltip/index.mjs +7 -7
- package/dist/src/directives/BTooltip/index.mjs.map +1 -1
- package/dist/src/directives/BTooltip/index.umd.js +1 -1
- package/dist/src/directives/BTooltip/index.umd.js.map +1 -1
- package/dist/{useColorVariantClasses-WMXe7khu.mjs → useColorVariantClasses-BDBjYQXI.mjs} +3 -3
- package/dist/useColorVariantClasses-BDBjYQXI.mjs.map +1 -0
- package/dist/{useColorVariantClasses-CnrZmyKT.js → useColorVariantClasses-Cs_6d0uD.js} +2 -2
- package/dist/useColorVariantClasses-Cs_6d0uD.js.map +1 -0
- package/dist/useRadiusElementClasses-D-ydxJLn.js.map +1 -1
- package/dist/useRadiusElementClasses-DtKYQuWz.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-C_5wlT3v.mjs.map +0 -1
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-E5HgRId6.js +0 -2
- package/dist/ConditionalWrapper.vue_vue_type_script_lang-E5HgRId6.js.map +0 -1
- package/dist/index-mVKnXTAA.js.map +0 -1
- package/dist/useColorVariantClasses-CnrZmyKT.js.map +0 -1
- package/dist/useColorVariantClasses-WMXe7khu.mjs.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent, useSlots, inject, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, createCommentVNode, provide, toRef } from "vue";
|
|
2
2
|
import { h as avatarGroupInjectionKey } from "./keys-CLEaYsGj.mjs";
|
|
3
3
|
import { _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-C39-ereM.mjs";
|
|
4
|
-
import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DMBOUNsT.mjs";
|
|
5
5
|
import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
|
|
6
6
|
import { i as isEmptySlot } from "./dom-B-SQyhbA.mjs";
|
|
7
7
|
import { u as useNumberishToStyle } from "./useNumberishToStyle-BWrWARZP.mjs";
|
|
8
8
|
import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
|
|
9
|
-
import { u as useColorVariantClasses } from "./useColorVariantClasses-
|
|
9
|
+
import { u as useColorVariantClasses } from "./useColorVariantClasses-BDBjYQXI.mjs";
|
|
10
10
|
import { u as useDefaults } from "./useDefaults-BYx9NNxn.mjs";
|
|
11
11
|
import { u as useToNumber } from "./index-DlGgXMQF.mjs";
|
|
12
12
|
const _hoisted_1 = {
|
|
@@ -262,4 +262,4 @@ export {
|
|
|
262
262
|
_sfc_main$1 as _,
|
|
263
263
|
_sfc_main as a
|
|
264
264
|
};
|
|
265
|
-
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-
|
|
265
|
+
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-CHSj79Ia.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-CHSj79Ia.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./keys-BgAe7wbu.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./keys-BgAe7wbu.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-wBNusCiJ.js"),o=require("./useBLinkHelper-BxI4evA6.js"),u=require("./dom-C-F8jHop.js"),d=require("./useNumberishToStyle-CUqOYwz3.js"),n=require("./useRadiusElementClasses-D-ydxJLn.js"),r=require("./useColorVariantClasses-Cs_6d0uD.js"),i=require("./useDefaults-Cd8OVIUI.js"),v=require("./index-BInTFWT4.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=v,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=o.useBLinkHelper(f),S=e.inject(t.avatarGroupInjectionKey,null),x=["sm",null,"lg"],V=e.computed((()=>!u.isEmptySlot(g.default))),k=e.computed((()=>!u.isEmptySlot(g.badge))),_=e.computed((()=>!!f.badge||""===f.badge||k.value)),N=e.computed((()=>(null==S?void 0:S.square.value)||f.square)),h=d.useNumberishToStyle((()=>f.size)),E=d.useNumberishToStyle((()=>null==S?void 0:S.size.value)),C=e.computed((()=>E.value??h.value)),q=e.computed((()=>(null==S?void 0:S.variant.value)??f.variant)),T=e.computed((()=>(null==S?void 0:S.rounded.value)??f.rounded)),z=e.computed((()=>(null==S?void 0:S.roundedTop.value)??f.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??f.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??f.roundedStart)),$=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??f.roundedEnd)),w=n.useRadiusElementClasses((()=>({rounded:T.value,roundedTop:z.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:$.value}))),D=e.computed((()=>!0===f.badge?"":f.badge)),L=e.computed((()=>!D.value&&!k.value)),O=e.computed((()=>(null==S?void 0:S.textVariant.value)??f.textVariant)),P=e.computed((()=>(null==S?void 0:S.bgVariant.value)??f.bgVariant)),H=r.useColorVariantClasses((()=>({bgVariant:P.value,textVariant:O.value,variant:q.value}))),A=e.computed((()=>[H.value,!0===N.value?void 0:w.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==x.indexOf(h.value),[`btn-${q.value}`]:!!f.button&&null!==q.value,badge:!f.button&&null!==q.value&&V.value,btn:f.button,"rounded-0":!0===N.value}])),G=e.computed((()=>({fontSize:(-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.27999999999999997)`:"")||""}))),I=e.computed((()=>{const e=-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.4)`:null;return e?{fontSize:e}:{}})),M=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=C.value&&t?`calc(${C.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),K=e.computed((()=>y.value?a._sfc_main:f.button?"button":"span")),W=e.computed((()=>({...M.value,width:C.value??void 0,height:C.value??void 0}))),F=e=>{f.disabled||!y.value&&!f.button||b("click",e)},J=e=>{b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(K.value),e.mergeProps({class:["b-avatar",A.value],style:W.value},e.unref(B),{type:f.button&&!e.unref(y)?f.buttonType:void 0,disabled:f.disabled||null,onClick:F}),{default:e.withCtx((()=>[V.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):f.src?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:f.src,alt:f.alt,onError:J},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(I.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),_.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||L.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(G.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(D.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
|
|
2
|
+
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-CfuLHUgV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","value","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","computedTextVariant","textVariant","computedBgVariant","bgVariant","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-CfuLHUgV.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","value","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","computedTextVariant","textVariant","computedBgVariant","bgVariant","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from "vue";
|
|
2
2
|
import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
|
|
3
|
-
import { u as useColorVariantClasses } from "./useColorVariantClasses-
|
|
3
|
+
import { u as useColorVariantClasses } from "./useColorVariantClasses-BDBjYQXI.mjs";
|
|
4
4
|
import { u as useDefaults } from "./useDefaults-BYx9NNxn.mjs";
|
|
5
5
|
import { _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-C39-ereM.mjs";
|
|
6
|
-
import { _ as _sfc_main$2 } from "./ConditionalWrapper.vue_vue_type_script_lang-
|
|
6
|
+
import { _ as _sfc_main$2 } from "./ConditionalWrapper.vue_vue_type_script_lang-B-0cSyYg.mjs";
|
|
7
7
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "BBadge",
|
|
9
9
|
props: {
|
|
@@ -111,4 +111,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
111
111
|
export {
|
|
112
112
|
_sfc_main as _
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-
|
|
114
|
+
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DMBOUNsT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-DMBOUNsT.mjs","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,SAAS;AAkCT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAEpC,UAAA,4BAA4B,uBAAuB,KAAK;AAE9D,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,cAAc,SAAS,MAAO,aAAa,QAAQA,cAAQ,MAAM,GAAI;AAErE,UAAA,mBAAmB,SAAS,MAAM;AAEtC,YAAM,MAAM,MAAM,cAAc,MAAM,eAAe,YAAY;AAC1D,aAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,QAAQ;AAAA,UACzB,kBAAkB,QAAQ;AAAA,UAC1B,mBAAmB,QAAQ;AAAA,UAC3B,kBAAkB,QAAQ;AAAA,UAC1B,oBAAoB,QAAQ;AAAA,UAC5B,mBAAmB,QAAQ;AAAA,UAC3B,oBAAoB,QAAQ;AAAA,UAC5B,qBAAqB,QAAQ;AAAA,QAC/B;AAAA,MAAA;AAAA,IACF,CACD;AAEK,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B,MAAM,cAAc,UAAa,MAAM,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,MACxF;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,YAAY,MAAM;AAAA,QAClB,gBAAgB,MAAM;AAAA,QACtB,0CAA0C,MAAM;AAAA,QAChD,wBAAwB,aAAa;AAAA,MACvC;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./useColorVariantClasses-
|
|
2
|
-
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./useColorVariantClasses-Cs_6d0uD.js"),o=require("./useDefaults-Cd8OVIUI.js"),d=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./ConditionalWrapper.vue_vue_type_script_lang-BClbTb87.js"),r=e.defineComponent({__name:"BBadge",props:{dotIndicator:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},placement:{default:void 0},tag:{default:"span"},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null}},setup(r){const i=r,n=o.useDefaults(i,"BBadge"),u=a.useColorVariantClasses(n),{computedLink:s,computedLinkProps:p}=t.useBLinkHelper(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]),c=e.computed((()=>s.value?d._sfc_main:n.tag)),v=e.computed((()=>{const e=n.placement??(n.dotIndicator?"top-end":void 0);return["position-absolute","translate-middle",{"start-0 top-0":"top-start"===e,"start-0 top-50":"start"===e,"start-0 top-100":"bottom-start"===e,"start-50 top-0":"top"===e,"start-50 top-100":"bottom"===e,"start-100 top-0":"top-end"===e,"start-100 top-50":"end"===e,"start-100 top-100":"bottom-end"===e}]})),f=e.computed((()=>[u.value,void 0!==n.placement||!0===n.dotIndicator?v.value:void 0,{active:n.active,disabled:n.disabled,"rounded-pill":n.pill,"p-2 border border-light rounded-circle":n.dotIndicator,"text-decoration-none":s.value}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({class:["badge",f.value]},e.unref(p)),{default:e.withCtx((()=>[e.createVNode(l._sfc_main,e.mergeProps({skip:!0!==e.unref(n).dotIndicator,tag:"span"},e.unref(n).dotIndicator?{class:"visually-hidden"}:{}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["skip"])])),_:3},16,["class"]))}});exports._sfc_main=r;
|
|
2
|
+
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-wBNusCiJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-wBNusCiJ.js","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["_props","__props","props","useDefaults","resolvedBackgroundClasses","useColorVariantClasses","computedLink","computedLinkProps","useBLinkHelper","computedTag","computed","value","BLink","tag","placementClasses","pos","placement","dotIndicator","computedClasses","active","disabled","pill"],"mappings":"mqCA0BA,MAAMA,EAASC,EAkCTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAA4BC,yBAAuBH,IAEnDI,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeN,EAAO,CAC9D,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAGIO,EAAcC,EAASA,UAAA,IAAOJ,EAAaK,MAAQC,YAAQV,EAAMW,MAEjEC,EAAmBJ,EAAAA,UAAS,KAEhC,MAAMK,EAAMb,EAAMc,YAAcd,EAAMe,aAAe,eAAY,GAC1D,MAAA,CACL,oBACA,mBACA,CACE,gBAAyB,cAARF,EACjB,iBAA0B,UAARA,EAClB,kBAA2B,iBAARA,EACnB,iBAA0B,QAARA,EAClB,mBAA4B,WAARA,EACpB,kBAA2B,YAARA,EACnB,mBAA4B,QAARA,EACpB,oBAA6B,eAARA,GACvB,IAIEG,EAAkBR,EAAAA,UAAS,IAAM,CACrCN,EAA0BO,WACN,IAApBT,EAAMc,YAAkD,IAAvBd,EAAMe,aAAwBH,EAAiBH,WAAQ,EACxF,CACEQ,OAAUjB,EAAMiB,OAChBC,SAAYlB,EAAMkB,SAClB,eAAgBlB,EAAMmB,KACtB,yCAA0CnB,EAAMe,aAChD,uBAAwBX,EAAaK"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, mergeProps, resolveDynamicComponent, normalizeClass, withCtx, createElementBlock, renderSlot, createTextVNode, toDisplayString, unref, useSlots, createCommentVNode, createVNode, normalizeProps } from "vue";
|
|
2
2
|
import { i as isEmptySlot } from "./dom-B-SQyhbA.mjs";
|
|
3
|
-
import { u as useColorVariantClasses } from "./useColorVariantClasses-
|
|
3
|
+
import { u as useColorVariantClasses } from "./useColorVariantClasses-BDBjYQXI.mjs";
|
|
4
4
|
import { u as useDefaults } from "./useDefaults-BYx9NNxn.mjs";
|
|
5
5
|
import { _ as _sfc_main$8 } from "./BImg.vue_vue_type_script_setup_true_lang-CZ0wmkG3.mjs";
|
|
6
6
|
import { o as omit } from "./object-DIbMZaP9.mjs";
|
|
@@ -397,4 +397,4 @@ export {
|
|
|
397
397
|
_sfc_main$3 as e,
|
|
398
398
|
_sfc_main$4 as f
|
|
399
399
|
};
|
|
400
|
-
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-
|
|
400
|
+
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-D-O5edl8.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-HE0K2EEE.mjs","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.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/ComponentProps'\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 <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\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 type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\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 :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 || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\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 <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\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 {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: 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 footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\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\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_useSlots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,UAAM,SAAS;AAsBT,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAEtC,UAAA,uBAAuB,SAAS,OAAO;AAAA,MAC3C,gBAAgB,MAAM,cAAc;AAAA;AAAA,MAEpC,gBAAgB,MAAM,cAAc;AAAA,MACpC,mBAAmB,MAAM,cAAc;AAAA;AAAA,MAEvC,kBAAkB,MAAM,cAAc;AAAA,MACtC,YAAY,MAAM,cAAc;AAAA,IAChC,EAAA;AAEI,UAAA,mBAAmB,SAAS,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;AC9BlE,UAAM,QAAQ;AAiBR,UAAA,4BAA4B,uBAAuB,KAAK;AAExD,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B;AAAA,QACE,CAAC,UAAU,MAAM,aAAa,EAAE,GAAG,MAAM,kBAAkB;AAAA,MAC7D;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BD,UAAM,SAAS;AAWT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;ACV/C,UAAM,SAAS;AAIT,UAAA,QAAQ,YAAY,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;ACH9C,UAAM,SAAS;AAKT,UAAA,QAAQ,YAAY,QAAQ,eAAe;AAO3C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,QAAQ,MAAM,WAAW,EAAE,GAAG,MAAM,gBAAgB;AAAA,IACrD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMF,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,WAAW;AAE7C,UAAM,QAAQA;AASR,UAAA,4BAA4B,uBAAuB,KAAK;AAE9D,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB,SAAS,MAAM,CAAC,YAAY,MAAM,QAAQ,CAAC;AAE7D,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B,MAAM,UAAU,qBAAqB;AAAA,IAAA,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDD,UAAM,SAAS;AAWT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiD/C,UAAM,SAAS;AA0CT,UAAA,QAAQ,YAAY,QAAQ,OAAO;AAEzC,UAAM,QAAQA;AAWd,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAC/D,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAEzD,UAAA,4BAA4B,uBAAuB,KAAK;AAExD,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B;AAAA,QACE,CAAC,QAAQ,MAAM,KAAK,EAAE,GAAG,MAAM,UAAU;AAAA,QACzC,CAAC,UAAU,MAAM,aAAa,EAAE,GAAG,MAAM,kBAAkB;AAAA,QAC3D,YAAY,MAAM,iBAAiB;AAAA,QACnC,oBAAoB,MAAM,iBAAiB;AAAA,MAC7C;AAAA,IAAA,CACD;AAEK,UAAA,UAAU,SAAS,OAAO;AAAA,MAC9B,KAAK,MAAM;AAAA,MACX,KAAK,MAAM;AAAA,MACX,QAAQ,MAAM;AAAA,MACd,OAAO,MAAM;AAAA,MACb,WAAW,MAAM;AAAA,IACjB,EAAA;AAEF,UAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-D-O5edl8.mjs","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.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/ComponentProps'\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 <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\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 type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\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 :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 || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\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 <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\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 {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: 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 footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\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\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_useSlots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,UAAM,SAAS;AAsBT,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAEtC,UAAA,uBAAuB,SAAS,OAAO;AAAA,MAC3C,gBAAgB,MAAM,cAAc;AAAA;AAAA,MAEpC,gBAAgB,MAAM,cAAc;AAAA,MACpC,mBAAmB,MAAM,cAAc;AAAA;AAAA,MAEvC,kBAAkB,MAAM,cAAc;AAAA,MACtC,YAAY,MAAM,cAAc;AAAA,IAChC,EAAA;AAEI,UAAA,mBAAmB,SAAS,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;AC9BlE,UAAM,QAAQ;AAiBR,UAAA,4BAA4B,uBAAuB,KAAK;AAExD,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B;AAAA,QACE,CAAC,UAAU,MAAM,aAAa,EAAE,GAAG,MAAM,kBAAkB;AAAA,MAC7D;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BD,UAAM,SAAS;AAWT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;ACV/C,UAAM,SAAS;AAIT,UAAA,QAAQ,YAAY,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;ACH9C,UAAM,SAAS;AAKT,UAAA,QAAQ,YAAY,QAAQ,eAAe;AAO3C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,QAAQ,MAAM,WAAW,EAAE,GAAG,MAAM,gBAAgB;AAAA,IACrD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMF,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,WAAW;AAE7C,UAAM,QAAQA;AASR,UAAA,4BAA4B,uBAAuB,KAAK;AAE9D,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB,SAAS,MAAM,CAAC,YAAY,MAAM,QAAQ,CAAC;AAE7D,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B,MAAM,UAAU,qBAAqB;AAAA,IAAA,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDD,UAAM,SAAS;AAWT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiD/C,UAAM,SAAS;AA0CT,UAAA,QAAQ,YAAY,QAAQ,OAAO;AAEzC,UAAM,QAAQA;AAWd,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAC/D,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAEzD,UAAA,4BAA4B,uBAAuB,KAAK;AAExD,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B;AAAA,QACE,CAAC,QAAQ,MAAM,KAAK,EAAE,GAAG,MAAM,UAAU;AAAA,QACzC,CAAC,UAAU,MAAM,aAAa,EAAE,GAAG,MAAM,kBAAkB;AAAA,QAC3D,YAAY,MAAM,iBAAiB;AAAA,QACnC,oBAAoB,MAAM,iBAAiB;AAAA,MAC7C;AAAA,IAAA,CACD;AAEK,UAAA,UAAU,SAAS,OAAO;AAAA,MAC9B,KAAK,MAAM;AAAA,MACX,KAAK,MAAM;AAAA,MACX,QAAQ,MAAM;AAAA,MACd,OAAO,MAAM;AAAA,MACb,WAAW,MAAM;AAAA,IACjB,EAAA;AAEF,UAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./dom-C-F8jHop.js"),a=require("./useColorVariantClasses-
|
|
2
|
-
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./dom-C-F8jHop.js"),a=require("./useColorVariantClasses-Cs_6d0uD.js"),r=require("./useDefaults-Cd8OVIUI.js"),l=require("./BImg.vue_vue_type_script_setup_true_lang-PsEMJvqR.js"),o=require("./object-B-6ddRYH.js"),d=require("./index-CnY1um_J.js"),n=e.defineComponent({__name:"BCardImg",props:{placement:{default:"top"},blank:{type:Boolean,default:void 0},blankColor:{default:void 0},block:{type:Boolean,default:void 0},fluid:{type:Boolean,default:void 0},fluidGrow:{type:Boolean,default:void 0},height:{default:void 0},tag:{},lazy:{type:Boolean,default:void 0},sizes:{default:void 0},src:{default:void 0},srcset:{default:void 0},thumbnail:{type:Boolean,default:void 0},width:{default:void 0},rounded:{type:[Boolean,String,Number],default:void 0},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(t){const a=t,d=r.useDefaults(a,"BCardImg"),n=e.computed((()=>({"card-img-top":"top"===d.placement,"card-img-end":"end"===d.placement,"card-img-bottom":"bottom"===d.placement,"card-img-start":"start"===d.placement,"card-img":"overlay"===d.placement}))),i=e.computed((()=>o.omit(d,["placement"])));return(t,a)=>(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps(i.value,{class:n.value}),null,16,["class"]))}}),i=["innerHTML"],u=e.defineComponent({__name:"BCardHeadFoot",props:{borderVariant:{default:null},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(t){const r=t,l=a.useColorVariantClasses(r),o=e.computed((()=>[l.value,{[`border-${r.borderVariant}`]:null!==r.borderVariant}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx((()=>[t.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.html},null,8,i)):e.renderSlot(t.$slots,"default",{key:1},(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]))])),_:3},8,["class"]))}}),s=e.defineComponent({__name:"BCardHeader",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardHeader");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-header"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16))}}),f=e.defineComponent({__name:"BCardTitle",props:{tag:{default:"h4"},text:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardTitle");return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:"card-title"},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3}))}}),c=e.defineComponent({__name:"BCardSubtitle",props:{text:{default:void 0},tag:{default:"h6"},textVariant:{default:"body-secondary"}},setup(t){const a=t,l=r.useDefaults(a,"BCardSubtitle"),o=e.computed((()=>({[`text-${l.textVariant}`]:null!==l.textVariant})));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:e.normalizeClass(["card-subtitle mb-2",o.value])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},8,["class"]))}}),m=e.defineComponent({__name:"BCardBody",props:{overlay:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h4"},subtitleTextVariant:{default:void 0},tag:{default:"div"},text:{default:void 0},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,d=r.useDefaults(o,"BCardBody"),n=e.useSlots(),i=a.useColorVariantClasses(d),u=e.computed((()=>!t.isEmptySlot(n.title))),s=e.computed((()=>!t.isEmptySlot(n.subtitle))),m=e.computed((()=>[i.value,d.overlay?"card-img-overlay":"card-body"]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).tag),{class:e.normalizeClass(m.value)},{default:e.withCtx((()=>[e.unref(d).title||u.value?(e.openBlock(),e.createBlock(f,{key:0,tag:e.unref(d).titleTag},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).title),1)]))])),_:3},8,["tag"])):e.createCommentVNode("",!0),e.unref(d).subtitle||s.value?(e.openBlock(),e.createBlock(c,{key:1,tag:e.unref(d).subtitleTag,"text-variant":e.unref(d).subtitleTextVariant},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"subtitle",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).subtitle),1)]))])),_:3},8,["tag","text-variant"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).text),1)]))])),_:3},8,["class"]))}}),v=e.defineComponent({__name:"BCardFooter",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardFooter");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-footer"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},16))}}),p=e.defineComponent({__name:"BCard",props:{align:{default:void 0},bodyBgVariant:{default:void 0},bodyClass:{default:void 0},bodyTag:{default:"div"},bodyText:{default:""},bodyTextVariant:{default:void 0},borderVariant:{default:null},footer:{default:void 0},footerBgVariant:{default:void 0},footerBorderVariant:{default:void 0},footerClass:{default:void 0},footerHtml:{default:""},footerTag:{default:"div"},footerTextVariant:{default:void 0},footerVariant:{default:null},header:{default:void 0},headerBgVariant:{default:void 0},headerBorderVariant:{default:void 0},headerClass:{default:void 0},headerHtml:{default:""},headerTag:{default:"div"},headerTextVariant:{default:void 0},headerVariant:{default:null},imgAlt:{default:void 0},imgPlacement:{default:"top"},imgHeight:{default:void 0},imgSrc:{default:void 0},imgWidth:{default:void 0},noBody:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h6"},subtitleTextVariant:{default:"body-secondary"},tag:{default:"div"},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,i=r.useDefaults(o,"BCard"),u=e.useSlots(),f=e.computed((()=>!t.isEmptySlot(u.header))),c=e.computed((()=>!t.isEmptySlot(u.footer))),p=a.useColorVariantClasses(i),g=e.computed((()=>[p.value,{[`text-${i.align}`]:void 0!==i.align,[`border-${i.borderVariant}`]:null!==i.borderVariant,"flex-row":"start"===i.imgPlacement,"flex-row-reverse":"end"===i.imgPlacement}])),b=e.computed((()=>({src:i.imgSrc,alt:i.imgAlt,height:i.imgHeight,width:i.imgWidth,placement:i.imgPlacement}))),x=d.createReusableTemplate();return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i).tag),{class:e.normalizeClass(["card",g.value])},{default:e.withCtx((()=>[e.createVNode(e.unref(x).define,null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"img",{},(()=>[e.unref(i).imgSrc?(e.openBlock(),e.createBlock(n,e.normalizeProps(e.mergeProps({key:0},b.value)),null,16)):e.createCommentVNode("",!0)]))])),_:3}),"bottom"!==e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:0})):e.createCommentVNode("",!0),e.unref(i).header||f.value||e.unref(i).headerHtml?(e.openBlock(),e.createBlock(s,{key:1,"bg-variant":e.unref(i).headerBgVariant,variant:e.unref(i).headerVariant,"border-variant":e.unref(i).headerBorderVariant,html:e.unref(i).headerHtml,tag:e.unref(i).headerTag,"text-variant":e.unref(i).headerTextVariant,class:e.normalizeClass(e.unref(i).headerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).header),1)]))])),_:3},8,["bg-variant","variant","border-variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),e.unref(i).noBody?e.renderSlot(t.$slots,"default",{key:3},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)])):(e.openBlock(),e.createBlock(m,{key:2,overlay:"overlay"===e.unref(i).imgPlacement,"bg-variant":e.unref(i).bodyBgVariant,tag:e.unref(i).bodyTag,"text-variant":e.unref(i).bodyTextVariant,subtitle:e.unref(i).subtitle,"subtitle-tag":e.unref(i).subtitleTag,"subtitle-text-variant":e.unref(i).subtitleTextVariant,title:e.unref(i).title,"title-tag":e.unref(i).titleTag,class:e.normalizeClass(e.unref(i).bodyClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)]))])),_:3},8,["overlay","bg-variant","tag","text-variant","subtitle","subtitle-tag","subtitle-text-variant","title","title-tag","class"])),e.unref(i).footer||c.value||e.unref(i).footerHtml?(e.openBlock(),e.createBlock(v,{key:4,"bg-variant":e.unref(i).footerBgVariant,"border-variant":e.unref(i).footerBorderVariant,variant:e.unref(i).footerVariant,html:e.unref(i).footerHtml,tag:e.unref(i).footerTag,"text-variant":e.unref(i).footerTextVariant,class:e.normalizeClass(e.unref(i).footerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).footer),1)]))])),_:3},8,["bg-variant","border-variant","variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),"bottom"===e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:5})):e.createCommentVNode("",!0)])),_:3},8,["class"]))}});exports._sfc_main=p,exports._sfc_main$1=m,exports._sfc_main$2=v,exports._sfc_main$3=s,exports._sfc_main$4=n,exports._sfc_main$5=c,exports._sfc_main$6=f;
|
|
2
|
+
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-DdgDOzk3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.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/ComponentProps'\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 <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\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 type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\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 :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 || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\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 <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\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 {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: 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 footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\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\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_props","__props","props","useDefaults","baseAlignmentClasses","computed","placement","computedImgProps","omit","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","value","borderVariant","textVariant","slots","_useSlots","hasTitleSlot","isEmptySlot","title","hasSubtitleSlot","subtitle","overlay","hasHeaderSlot","header","hasFooterSlot","footer","align","imgPlacement","imgAttr","src","imgSrc","alt","imgAlt","height","imgHeight","width","imgWidth","ReusableImg","createReusableTemplate"],"mappings":"ygCAWA,MAAMA,EAASC,EAsBTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BI,EAAuBC,EAAAA,UAAS,KAAO,CAC3C,eAAoC,QAApBH,EAAMI,UAEtB,eAAoC,QAApBJ,EAAMI,UACtB,kBAAuC,WAApBJ,EAAMI,UAEzB,iBAAsC,UAApBJ,EAAMI,UACxB,WAAgC,YAApBJ,EAAMI,cAGdC,EAAmBF,EAAAA,UAAS,IAAMG,EAAAA,KAAKN,EAAO,CAAC,wXC9BrD,MAAMA,EAAQD,EAiBRQ,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,UAAUV,EAAMW,iBAA0C,OAAxBX,EAAMW,ilBC1B7C,MAAMb,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,uRCVlC,MAAMA,EAASC,EAITC,EAAQC,EAAAA,YAAYH,EAAQ,8YCHlC,MAAMA,EAASC,EAKTC,EAAQC,EAAAA,YAAYH,EAAQ,iBAO5BW,EAAkBN,EAAAA,UAAS,KAAO,CACtC,CAAC,QAAQH,EAAMY,eAAsC,OAAtBZ,EAAMY,4oBCOvC,MAAMd,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,aAE5Be,EAAQC,EAAAA,WASRP,EAA4BC,yBAAuBR,GAEnDe,EAAeZ,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMI,SACjDC,EAAkBf,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMM,YAEpDV,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1BV,EAAMoB,QAAU,mBAAqB,ylCCrDvC,MAAMtB,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,w1CCiDlC,MAAMA,EAASC,EA0CTC,EAAQC,EAAAA,YAAYH,EAAQ,SAE5Be,EAAQC,EAAAA,WAWRO,EAAgBlB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMS,UAClDC,EAAgBpB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMW,UAElDjB,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,QAAQV,EAAMyB,cAA0B,IAAhBzB,EAAMyB,MAC/B,CAAC,UAAUzB,EAAMW,iBAA0C,OAAxBX,EAAMW,cACzC,WAAmC,UAAvBX,EAAM0B,aAClB,mBAA2C,QAAvB1B,EAAM0B,iBAIxBC,EAAUxB,EAAAA,UAAS,KAAO,CAC9ByB,IAAK5B,EAAM6B,OACXC,IAAK9B,EAAM+B,OACXC,OAAQhC,EAAMiC,UACdC,MAAOlC,EAAMmC,SACb/B,UAAWJ,EAAM0B,iBAGbU,EAAcC,EAAAA"}
|
|
1
|
+
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-DdgDOzk3.js","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.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/ComponentProps'\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 <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\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 type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.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 {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: 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')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\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 :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 || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\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 <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\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 {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: 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 footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\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')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\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\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_props","__props","props","useDefaults","baseAlignmentClasses","computed","placement","computedImgProps","omit","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","value","borderVariant","textVariant","slots","_useSlots","hasTitleSlot","isEmptySlot","title","hasSubtitleSlot","subtitle","overlay","hasHeaderSlot","header","hasFooterSlot","footer","align","imgPlacement","imgAttr","src","imgSrc","alt","imgAlt","height","imgHeight","width","imgWidth","ReusableImg","createReusableTemplate"],"mappings":"ygCAWA,MAAMA,EAASC,EAsBTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BI,EAAuBC,EAAAA,UAAS,KAAO,CAC3C,eAAoC,QAApBH,EAAMI,UAEtB,eAAoC,QAApBJ,EAAMI,UACtB,kBAAuC,WAApBJ,EAAMI,UAEzB,iBAAsC,UAApBJ,EAAMI,UACxB,WAAgC,YAApBJ,EAAMI,cAGdC,EAAmBF,EAAAA,UAAS,IAAMG,EAAAA,KAAKN,EAAO,CAAC,wXC9BrD,MAAMA,EAAQD,EAiBRQ,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,UAAUV,EAAMW,iBAA0C,OAAxBX,EAAMW,ilBC1B7C,MAAMb,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,uRCVlC,MAAMA,EAASC,EAITC,EAAQC,EAAAA,YAAYH,EAAQ,8YCHlC,MAAMA,EAASC,EAKTC,EAAQC,EAAAA,YAAYH,EAAQ,iBAO5BW,EAAkBN,EAAAA,UAAS,KAAO,CACtC,CAAC,QAAQH,EAAMY,eAAsC,OAAtBZ,EAAMY,4oBCOvC,MAAMd,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,aAE5Be,EAAQC,EAAAA,WASRP,EAA4BC,yBAAuBR,GAEnDe,EAAeZ,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMI,SACjDC,EAAkBf,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMM,YAEpDV,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1BV,EAAMoB,QAAU,mBAAqB,ylCCrDvC,MAAMtB,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,w1CCiDlC,MAAMA,EAASC,EA0CTC,EAAQC,EAAAA,YAAYH,EAAQ,SAE5Be,EAAQC,EAAAA,WAWRO,EAAgBlB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMS,UAClDC,EAAgBpB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMW,UAElDjB,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,QAAQV,EAAMyB,cAA0B,IAAhBzB,EAAMyB,MAC/B,CAAC,UAAUzB,EAAMW,iBAA0C,OAAxBX,EAAMW,cACzC,WAAmC,UAAvBX,EAAM0B,aAClB,mBAA2C,QAAvB1B,EAAM0B,iBAIxBC,EAAUxB,EAAAA,UAAS,KAAO,CAC9ByB,IAAK5B,EAAM6B,OACXC,IAAK9B,EAAM+B,OACXC,OAAQhC,EAAMiC,UACdC,MAAOlC,EAAMmC,SACb/B,UAAWJ,EAAM0B,iBAGbU,EAAcC,EAAAA"}
|