bootstrap-vue-next 0.26.28 → 0.26.30
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/{BAlert-ztlMTxZk.mjs → BAlert-0UDGGiWI.mjs} +3 -3
- package/dist/{BAlert-ztlMTxZk.mjs.map → BAlert-0UDGGiWI.mjs.map} +1 -1
- package/dist/{BAlert-BjkK10C8.js → BAlert-CB-HM47D.js} +2 -2
- package/dist/{BAlert-BjkK10C8.js.map → BAlert-CB-HM47D.js.map} +1 -1
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-Dw5RllLR.js +2 -0
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-Dw5RllLR.js.map +1 -0
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-uRDCerzk.mjs} +21 -11
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-uRDCerzk.mjs.map +1 -0
- package/dist/{BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs → BButton.vue_vue_type_script_setup_true_lang-BC0Lfmfc.mjs} +2 -2
- package/dist/{BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs.map → BButton.vue_vue_type_script_setup_true_lang-BC0Lfmfc.mjs.map} +1 -1
- package/dist/{BButton.vue_vue_type_script_setup_true_lang-DGd-Jo5d.js → BButton.vue_vue_type_script_setup_true_lang-BQI4HK70.js} +2 -2
- package/dist/{BButton.vue_vue_type_script_setup_true_lang-DGd-Jo5d.js.map → BButton.vue_vue_type_script_setup_true_lang-BQI4HK70.js.map} +1 -1
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-DoeLCt4a.mjs → BCard.vue_vue_type_script_setup_true_lang-BrZMYuL-.mjs} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-DoeLCt4a.mjs.map → BCard.vue_vue_type_script_setup_true_lang-BrZMYuL-.mjs.map} +1 -1
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-J1p9bfap.js → BCard.vue_vue_type_script_setup_true_lang-Do5cEuzT.js} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-J1p9bfap.js.map → BCard.vue_vue_type_script_setup_true_lang-Do5cEuzT.js.map} +1 -1
- package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DDbwbXpB.js → BCarouselSlide.vue_vue_type_script_setup_true_lang-Dg7LeUDK.js} +2 -2
- package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DDbwbXpB.js.map → BCarouselSlide.vue_vue_type_script_setup_true_lang-Dg7LeUDK.js.map} +1 -1
- package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-_Fsp10s_.mjs → BCarouselSlide.vue_vue_type_script_setup_true_lang-DvJdLgu_.mjs} +2 -2
- package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-_Fsp10s_.mjs.map → BCarouselSlide.vue_vue_type_script_setup_true_lang-DvJdLgu_.mjs.map} +1 -1
- package/dist/{BDropdown-CTArhExr.mjs → BDropdown-BucS94bu.mjs} +2 -2
- package/dist/{BDropdown-CTArhExr.mjs.map → BDropdown-BucS94bu.mjs.map} +1 -1
- package/dist/{BDropdown-BGhaNxGS.js → BDropdown-DGLCwAKK.js} +2 -2
- package/dist/{BDropdown-BGhaNxGS.js.map → BDropdown-DGLCwAKK.js.map} +1 -1
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-TK8zhTHJ.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-Do7WryrT.mjs} +2 -2
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-TK8zhTHJ.mjs.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-Do7WryrT.mjs.map} +1 -1
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BVYf72sl.js → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-JFPJBuuf.js} +2 -2
- package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BVYf72sl.js.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-JFPJBuuf.js.map} +1 -1
- package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-BMyZu0Q_.mjs → BFormFile.vue_vue_type_script_setup_true_lang-BfwrNM0g.mjs} +2 -2
- package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-BMyZu0Q_.mjs.map → BFormFile.vue_vue_type_script_setup_true_lang-BfwrNM0g.mjs.map} +1 -1
- package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-CTa8Cpx5.js → BFormFile.vue_vue_type_script_setup_true_lang-Dg1Q-tgb.js} +2 -2
- package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-CTa8Cpx5.js.map → BFormFile.vue_vue_type_script_setup_true_lang-Dg1Q-tgb.js.map} +1 -1
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-CGPenzZT.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-4-YcPJAc.mjs} +2 -2
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-CGPenzZT.mjs.map → BFormGroup.vue_vue_type_script_setup_true_lang-4-YcPJAc.mjs.map} +1 -1
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-BsHGDBJL.js → BFormGroup.vue_vue_type_script_setup_true_lang-DQ4UlLWl.js} +2 -2
- package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-BsHGDBJL.js.map → BFormGroup.vue_vue_type_script_setup_true_lang-DQ4UlLWl.js.map} +1 -1
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-DnhMTKgS.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang--UYbn-2B.mjs} +2 -2
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-DnhMTKgS.mjs.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang--UYbn-2B.mjs.map} +1 -1
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-BekM_xVy.js → BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5oyJ-Kq.js} +2 -2
- package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-BekM_xVy.js.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5oyJ-Kq.js.map} +1 -1
- package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-XOaWTmlh.mjs → BFormTextarea.vue_vue_type_script_setup_true_lang-CVNC0lcp.mjs} +2 -2
- package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-XOaWTmlh.mjs.map → BFormTextarea.vue_vue_type_script_setup_true_lang-CVNC0lcp.mjs.map} +1 -1
- package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-Bxuq-FU1.js → BFormTextarea.vue_vue_type_script_setup_true_lang-Dw3IOZ1r.js} +2 -2
- package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-Bxuq-FU1.js.map → BFormTextarea.vue_vue_type_script_setup_true_lang-Dw3IOZ1r.js.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BJRG85Lq.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-C5y83H7o.js} +2 -2
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BJRG85Lq.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-C5y83H7o.js.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-B30oaS2u.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CwsLFqd0.mjs} +4 -4
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-B30oaS2u.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CwsLFqd0.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-BcpR_RSZ.mjs → BNavText.vue_vue_type_script_setup_true_lang-DE6m-KYq.mjs} +2 -2
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-BcpR_RSZ.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-DE6m-KYq.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-CBxU08aS.js → BNavText.vue_vue_type_script_setup_true_lang-Dx7AVtvl.js} +2 -2
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-CBxU08aS.js.map → BNavText.vue_vue_type_script_setup_true_lang-Dx7AVtvl.js.map} +1 -1
- package/dist/{BOffcanvas-BogthiJo.mjs → BOffcanvas-BEhqT7oK.mjs} +3 -3
- package/dist/{BOffcanvas-BogthiJo.mjs.map → BOffcanvas-BEhqT7oK.mjs.map} +1 -1
- package/dist/{BOffcanvas-CjE7P-wd.js → BOffcanvas-Dq7hMYHy.js} +2 -2
- package/dist/{BOffcanvas-CjE7P-wd.js.map → BOffcanvas-Dq7hMYHy.js.map} +1 -1
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-CHSVB4-G.mjs → BOverlay.vue_vue_type_script_setup_true_lang-C5dzyxuB.mjs} +2 -2
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-CHSVB4-G.mjs.map → BOverlay.vue_vue_type_script_setup_true_lang-C5dzyxuB.mjs.map} +1 -1
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-Dw4DObXN.js → BOverlay.vue_vue_type_script_setup_true_lang-DcGD86gJ.js} +2 -2
- package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-Dw4DObXN.js.map → BOverlay.vue_vue_type_script_setup_true_lang-DcGD86gJ.js.map} +1 -1
- package/dist/{BPagination.vue_vue_type_script_setup_true_lang-DxGds7Tf.js → BPagination.vue_vue_type_script_setup_true_lang-BbLsKINw.js} +2 -2
- package/dist/{BPagination.vue_vue_type_script_setup_true_lang-DxGds7Tf.js.map → BPagination.vue_vue_type_script_setup_true_lang-BbLsKINw.js.map} +1 -1
- package/dist/{BPagination.vue_vue_type_script_setup_true_lang-DuwKeY2-.mjs → BPagination.vue_vue_type_script_setup_true_lang-DH_8I7Df.mjs} +2 -2
- package/dist/{BPagination.vue_vue_type_script_setup_true_lang-DuwKeY2-.mjs.map → BPagination.vue_vue_type_script_setup_true_lang-DH_8I7Df.mjs.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BjEhw9SS.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CliOyeln.mjs} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BjEhw9SS.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CliOyeln.mjs.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BIUGzj9a.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-Dj5KNjXZ.js} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BIUGzj9a.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-Dj5KNjXZ.js.map} +1 -1
- package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs → BSpinner.vue_vue_type_script_setup_true_lang-BBcjZkCi.mjs} +2 -2
- package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs.map → BSpinner.vue_vue_type_script_setup_true_lang-BBcjZkCi.mjs.map} +1 -1
- package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-E7-4n0_s.js → BSpinner.vue_vue_type_script_setup_true_lang-C3_FltTm.js} +2 -2
- package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-E7-4n0_s.js.map → BSpinner.vue_vue_type_script_setup_true_lang-C3_FltTm.js.map} +1 -1
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-D8F_wIwL.mjs → BTable.vue_vue_type_script_setup_true_lang-CiThwOJO.mjs} +60 -59
- package/dist/BTable.vue_vue_type_script_setup_true_lang-CiThwOJO.mjs.map +1 -0
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-De5Aktp6.js → BTable.vue_vue_type_script_setup_true_lang-Ckb-msVq.js} +2 -2
- package/dist/BTable.vue_vue_type_script_setup_true_lang-Ckb-msVq.js.map +1 -0
- package/dist/{BTabs.vue_vue_type_script_setup_true_lang-YE1NzqYI.mjs → BTabs.vue_vue_type_script_setup_true_lang-AmprSk-s.mjs} +3 -8
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-AmprSk-s.mjs.map +1 -0
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-C89O2A6O.js +2 -0
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-C89O2A6O.js.map +1 -0
- package/dist/bootstrap-vue-next.mjs +21 -21
- package/dist/bootstrap-vue-next.umd.js +1 -1
- package/dist/{dom-DSGRrOAo.mjs → dom-BK2w00Ec.mjs} +10 -2
- package/dist/{dom-DSGRrOAo.mjs.map → dom-BK2w00Ec.mjs.map} +1 -1
- package/dist/dom-Dzr6gmPm.js +2 -0
- package/dist/{dom-D5l3V401.js.map → dom-Dzr6gmPm.js.map} +1 -1
- package/dist/{index-Bl8Tpi11.mjs → index-CmuInluW.mjs} +21 -21
- package/dist/{index-Bl8Tpi11.mjs.map → index-CmuInluW.mjs.map} +1 -1
- package/dist/{index-ONe8qspk.js → index-CqMHwwd-.js} +2 -2
- package/dist/index-CqMHwwd-.js.map +1 -0
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BAlert/index.umd.js +1 -1
- package/dist/src/components/BAvatar/BAvatar.vue.d.mts +2 -1
- package/dist/src/components/BAvatar/BAvatar.vue.d.ts +2 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BButton/index.mjs +1 -1
- package/dist/src/components/BButton/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/BCarousel/index.mjs +1 -1
- package/dist/src/components/BCarousel/index.umd.js +1 -1
- package/dist/src/components/BContainer/BCol.vue.d.mts +18 -18
- package/dist/src/components/BContainer/BCol.vue.d.ts +18 -18
- package/dist/src/components/BContainer/BContainer.vue.d.mts +2 -2
- package/dist/src/components/BContainer/BContainer.vue.d.ts +2 -2
- package/dist/src/components/BContainer/BRow.vue.d.mts +8 -8
- package/dist/src/components/BContainer/BRow.vue.d.ts +8 -8
- 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/BFormFile/index.mjs +1 -1
- package/dist/src/components/BFormFile/index.umd.js +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormGroup/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/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BFormTextarea/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/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/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/BPagination/index.mjs +1 -1
- package/dist/src/components/BPagination/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/BSpinner/index.mjs +1 -1
- package/dist/src/components/BSpinner/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/BTabs/index.mjs +1 -1
- package/dist/src/components/BTabs/index.umd.js +1 -1
- package/dist/src/components/index.mjs +20 -20
- package/dist/src/components/index.umd.js +1 -1
- package/dist/src/composables/useModal/index.mjs +1 -1
- package/dist/src/composables/useModalController/index.mjs +1 -1
- package/dist/src/types/ComponentProps.d.mts +21 -21
- package/dist/src/types/ComponentProps.d.ts +21 -21
- package/dist/src/types/TableTypes.d.mts +2 -1
- package/dist/src/types/TableTypes.d.ts +2 -1
- package/dist/src/types/index.d.mts +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/utils/dom.d.mts +1 -0
- package/dist/src/utils/dom.d.ts +1 -0
- package/dist/useModalManager-BvyIGGjj.js.map +1 -1
- package/dist/{useModalManager-CDHu1xAV.mjs → useModalManager-mJhdG47N.mjs} +7 -5
- package/dist/{useModalManager-CDHu1xAV.mjs.map → useModalManager-mJhdG47N.mjs.map} +1 -1
- package/package.json +1 -1
- package/src/components/BAvatar/_avatar.scss +3 -1
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js +0 -2
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js.map +0 -1
- package/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-D8F_wIwL.mjs.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-De5Aktp6.js.map +0 -1
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DFzBnrU4.js +0 -2
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DFzBnrU4.js.map +0 -1
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-YE1NzqYI.mjs.map +0 -1
- package/dist/dom-D5l3V401.js +0 -2
- package/dist/index-ONe8qspk.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, openBlock, createBlock, Transition, mergeProps, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode } from "vue";
|
|
2
2
|
import { _ as _sfc_main$2 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./BButton.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./BButton.vue_vue_type_script_setup_true_lang-BC0Lfmfc.mjs";
|
|
4
4
|
import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-CJ6C8i_a.mjs";
|
|
5
5
|
import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
|
|
6
|
-
import { i as isEmptySlot } from "./dom-
|
|
6
|
+
import { i as isEmptySlot } from "./dom-BK2w00Ec.mjs";
|
|
7
7
|
import { u as useFadeTransition } from "./useTransitions-BJccF5e-.mjs";
|
|
8
8
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
9
9
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -125,4 +125,4 @@ const BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-141
|
|
|
125
125
|
export {
|
|
126
126
|
BAlert as B
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=BAlert-
|
|
128
|
+
//# sourceMappingURL=BAlert-0UDGGiWI.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-
|
|
1
|
+
{"version":3,"file":"BAlert-0UDGGiWI.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (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 fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,OAAO;AAMb,UAAM,QAAQA,SAAA;AAOd,UAAM,kBAAkB,kBAAkB,MAAM,MAAM,IAAI;AAEpD,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,aAAaC,SAA2E,SAAA,YAAA;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IACzD;AAEM,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAAA,EAC3B;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAK,CAAC,CAAC;AAE1F,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACL,IAAA,aAAa,iBAAiB,MAAM,UAAU;AAAA,MAChD,WAAW,OAAO,WAAW,UAAU,YAAY,MAAM;AAAA,IAAA,CAC1D;AACD;AAAA,MACE;AAAA,MACA,SAAS,OAAO;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,sBAAsB,MAAM;AAAA,QAC5B,wBAAwB,OAAO,WAAW,UAAU;AAAA,MAAA,EACpD;AAAA,MACF,EAAC,OAAO,OAAM;AAAA,IAChB;AAEA,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IACvD;AAEM,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IAAA,EACpB;AAEF,gBAAY,MAAM;AACX,WAAA,mBAAmB,YAAY,KAAK;AAAA,IAAA,CAC1C;AAED,UAAM,OAAO,MAAM;AACjB,WAAK,OAAO;AAER,UAAA,OAAO,WAAW,UAAU,WAAW;AACzC,mBAAW,QAAQ;AAAA,MAAA,OACd;AACL,mBAAW,QAAQ;AACd,aAAA;AAAA,MAAA;AAGP,WAAK,QAAQ;AAAA,IACf;AAEa,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-BNiA4JXj.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BAlert-
|
|
1
|
+
"use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-BNiA4JXj.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-BQI4HK70.js"),l=require("./useCountdownHover-LZNOFlrD.js"),a=require("./useDefaults-Bq2idhQU.js"),s=require("./dom-Dzr6gmPm.js"),u=require("./useTransitions-DhhDSg14.js"),r=require("./_plugin-vue_export-helper-CC_fc8JW.js"),n=e.defineComponent({__name:"BAlert",props:e.mergeModels({closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},interval:{default:"requestAnimationFrame"},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},showOnPause:{type:Boolean,default:!0},variant:{default:"info"}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:e.mergeModels(["close","close-countdown","closed"],["update:modelValue"]),setup(r,{expose:n,emit:i}){const c=r,d=a.useDefaults(c,"BAlert"),m=i,p=e.useSlots(),v=u.useFadeTransition((()=>d.fade)),f=e.useTemplateRef("_element"),_=e.useModel(r,"modelValue"),B=e.computed((()=>!s.isEmptySlot(p.close))),y=e.computed((()=>"boolean"==typeof _.value?0:_.value)),C=e.computed((()=>({[`alert-${d.variant}`]:null!==d.variant,"alert-dismissible":d.dismissible}))),k=e.computed((()=>[d.closeClass,{"btn-close-custom":B.value}])),{isActive:b,pause:g,resume:w,stop:q,isPaused:H,restart:P,value:V}=l.useCountdown(y,d.interval,{immediate:"number"==typeof _.value&&d.immediate});l.useCountdownHover(f,e.computed((()=>({noHoverPause:d.noHoverPause,noResumeOnHoverLeave:d.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof _.value}))),{pause:g,resume:w});const h=e.computed((()=>"boolean"==typeof _.value?_.value:b.value||d.showOnPause&&H.value)),j=e.computed((()=>({variant:B.value?d.closeVariant:void 0,class:k.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const x=()=>{m("close"),"boolean"==typeof _.value?_.value=!1:(_.value=0,q()),m("closed")};return n({pause:g,resume:w,stop:q,restart:P}),(l,a)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps(e.unref(v),{"enter-to-class":"show"}),{default:e.withCtx((()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"_element",class:e.normalizeClass(["alert",C.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(l.$slots,"default",{},void 0,!0),e.unref(d).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[B.value||e.unref(d).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},j.value,{onClick:x}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(o._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(d).closeLabel},j.value,{onClick:x}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},16))}}),i=r._export_sfc(n,[["__scopeId","data-v-141c4f93"]]);exports.BAlert=i;
|
|
2
|
+
//# sourceMappingURL=BAlert-CB-HM47D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-
|
|
1
|
+
{"version":3,"file":"BAlert-CB-HM47D.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (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 fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","fadeTransitions","useFadeTransition","fade","element","useTemplateRef","modelValue","_useModel","hasCloseSlot","computed","isEmptySlot","close","countdownLength","value","computedClasses","variant","dismissible","closeClasses","closeClass","isActive","pause","resume","stop","isPaused","restart","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","isAlertVisible","showOnPause","closeAttrs","closeVariant","class","watchEffect","hide","__expose"],"mappings":"qhCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAkBC,EAAAA,mBAAkB,IAAMP,EAAMQ,OAEhDC,EAAUC,iBAA4B,YAEtCC,EAAaC,EAAAA,SAA2Eb,EAAA,cAExFc,EAAeC,EAAAA,UAAS,KAAOC,EAAAA,YAAYX,EAAMY,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASd,EAAMoB,WAA8B,OAAlBpB,EAAMoB,QAClC,oBAAqBpB,EAAMqB,gBAGvBC,EAAeR,YAAS,IAAM,CAACd,EAAMuB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBjB,EAAMgC,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBlB,EAAMiC,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAcnC,EAAMmC,aACpBC,qBAAsBpC,EAAMoC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUlB,EAAMuC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQlB,EAAMyC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLzC,EAAA,kBAAmB4B,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACX1C,EAAK,SAE2B,kBAArBS,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,EACdS,KAGPzB,EAAK,SAAQ,SAGF2C,EAAA,CACXpB,QACAC,SACAC,OACAE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./keys-C2BcfuxJ.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js"),o=require("./dom-Dzr6gmPm.js"),u=require("./useNumberishToStyle-CKSSKRiz.js"),d=require("./useRadiusElementClasses-D-ydxJLn.js"),n=require("./useColorVariantClasses-CE658Sm0.js"),r=require("./useDefaults-Bq2idhQU.js"),i=require("./index-BqHkgtNq.js"),v={key:0,class:"b-avatar-custom"},s={key:1,class:"b-avatar-img"},c=["src","alt"],p={key:3,class:"b-avatar-img"},m=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},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},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(r,{emit:i}){const m=r,f=e.ref(m.src);e.watch((()=>m.src),(e=>{f.value=e}));const b=i,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=a.useBLinkHelper(m),S=e.inject(t.avatarGroupInjectionKey,null),V=Object.freeze([null,...Object.keys({lg:null,md:null,sm:null})]),k=e.computed((()=>!o.isEmptySlot(g.default))),_=e.computed((()=>!o.isEmptySlot(g.badge))),x=e.computed((()=>!!m.badge||""===m.badge||_.value)),h=e.computed((()=>(null==S?void 0:S.square.value)||m.square)),N=u.useNumberishToStyle((()=>(null==S?void 0:S.size.value)??m.size)),C=e.computed((()=>!!N.value&&V.includes(N.value))),E=e.computed((()=>(null==S?void 0:S.variant.value)??m.variant)),q=e.computed((()=>(null==S?void 0:S.rounded.value)??m.rounded)),T=e.computed((()=>(null==S?void 0:S.roundedTop.value)??m.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??m.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??m.roundedStart)),z=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??m.roundedEnd)),$=d.useRadiusElementClasses((()=>({rounded:q.value,roundedTop:T.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:z.value}))),w=e.computed((()=>!0===m.badge?"":m.badge)),D=e.computed((()=>!w.value&&!_.value)),O=n.useColorVariantClasses((()=>({bgVariant:(null==S?void 0:S.bgVariant.value)??m.bgVariant,textVariant:(null==S?void 0:S.textVariant.value)??m.textVariant,variant:E.value}))),P=e.computed((()=>[O.value,!0===h.value?void 0:$.value,{[`b-avatar-${N.value}`]:C.value&&"md"!==N.value,[`btn-${E.value}`]:!!m.button&&null!==E.value,badge:!m.button&&null!==E.value&&k.value,btn:m.button,"rounded-0":!0===h.value}])),L=e.computed((()=>({fontSize:(C.value?"":`calc(${N.value} * 0.27999999999999997)`)||""}))),A=e.computed((()=>{const e=C.value?null:`calc(${N.value} * 0.4)`;return e?{fontSize:e}:{}})),G=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=N.value&&t?`calc(${N.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),H=e.computed((()=>y.value?a._sfc_main:m.button?"button":"span")),I=e.computed((()=>({...G.value,...C.value?void 0:{width:N.value,height:N.value}}))),M=e=>{m.disabled||!y.value&&!m.button||b("click",e)},K=e=>{f.value=void 0,b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H.value),e.mergeProps({class:["b-avatar",P.value],style:I.value},e.unref(B),{type:m.button&&!e.unref(y)?m.buttonType:void 0,disabled:m.disabled||null,variant:null,onClick:M}),{default:e.withCtx((()=>[k.value?(e.openBlock(),e.createElementBlock("span",v,[e.renderSlot(t.$slots,"default")])):f.value?(e.openBlock(),e.createElementBlock("span",s,[e.createElementVNode("img",{src:f.value,alt:m.alt,onError:K},null,40,c)])):m.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(A.value)},e.toDisplayString(m.text),5)):(e.openBlock(),e.createElementBlock("span",p,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)]))),x.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:m.badgePill,"dot-indicator":m.badgeDotIndicator||D.value,variant:m.badgeVariant,"bg-variant":m.badgeBgVariant,"text-variant":m.badgeTextVariant,style:e.normalizeStyle(L.value),placement:m.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(w.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),f=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=r.useDefaults(l,"BAvatarGroup"),d=i.useToNumber((()=>o.overlap)),n=u.useNumberishToStyle((()=>o.size)),v=e.computed((()=>Math.min(Math.max(d.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${v.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:v,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=m,exports._sfc_main$1=f;
|
|
2
|
+
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-Dw5RllLR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-Dw5RllLR.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 :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :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\" />\n </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, ref, type StyleValue, watch} 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'\nimport type {Size} from '../../types'\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 localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\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 = Object.freeze([\n null,\n ...Object.keys({\n lg: null,\n md: null,\n sm: null,\n } satisfies Record<Size, null>),\n] as (string | null)[])\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\n// const computedPropSize = useNumberishToStyle(() => props.size)\n// const propSizeIsLiteralSize = (val: unknown): val is Size =>\n// !!val && typeof val === 'string' && SIZES.includes(val)\n// const computedParentSize = useNumberishToStyle(() => parentData?.size.value)\n// const computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n// const computedPropSizeIsLiteralSize = computed(() => propSizeIsLiteralSize(computedSize.value))\n\nconst computedSize = useNumberishToStyle(() => parentData?.size.value ?? props.size)\nconst computedSizeIsLiteralSize = computed(\n () => !!computedSize.value && SIZES.includes(computedSize.value)\n)\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 colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${computedSize.value}`]:\n computedSizeIsLiteralSize.value && computedSize.value !== 'md',\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 (!computedSizeIsLiteralSize.value\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize = !computedSizeIsLiteralSize.value\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 ...(!computedSizeIsLiteralSize.value\n ? {\n width: computedSize.value,\n height: computedSize.value,\n }\n : 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 localSrc.value = undefined\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","localSrc","ref","src","vue","watch","value","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","Object","freeze","keys","lg","md","sm","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedSize","useNumberishToStyle","size","computedSizeIsLiteralSize","includes","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","_sfc_main","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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"}
|
|
@@ -2,7 +2,7 @@ import { defineComponent, ref, watch, useSlots, inject, computed, openBlock, cre
|
|
|
2
2
|
import { f as avatarGroupInjectionKey } from "./keys-41Cw9q6f.mjs";
|
|
3
3
|
import { u as useBLinkHelper, _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
|
|
4
4
|
import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs";
|
|
5
|
-
import { i as isEmptySlot } from "./dom-
|
|
5
|
+
import { i as isEmptySlot } from "./dom-BK2w00Ec.mjs";
|
|
6
6
|
import { u as useNumberishToStyle } from "./useNumberishToStyle-BaHH1FuW.mjs";
|
|
7
7
|
import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
|
|
8
8
|
import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
|
|
@@ -85,15 +85,23 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
85
85
|
const slots = useSlots();
|
|
86
86
|
const { computedLink, computedLinkProps } = useBLinkHelper(props);
|
|
87
87
|
const parentData = inject(avatarGroupInjectionKey, null);
|
|
88
|
-
const SIZES = [
|
|
88
|
+
const SIZES = Object.freeze([
|
|
89
|
+
null,
|
|
90
|
+
...Object.keys({
|
|
91
|
+
lg: null,
|
|
92
|
+
md: null,
|
|
93
|
+
sm: null
|
|
94
|
+
})
|
|
95
|
+
]);
|
|
89
96
|
const BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7;
|
|
90
97
|
const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));
|
|
91
98
|
const hasBadgeSlot = computed(() => !isEmptySlot(slots.badge));
|
|
92
99
|
const showBadge = computed(() => !!props.badge || props.badge === "" || hasBadgeSlot.value);
|
|
93
100
|
const computedSquare = computed(() => (parentData == null ? void 0 : parentData.square.value) || props.square);
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
|
|
101
|
+
const computedSize = useNumberishToStyle(() => (parentData == null ? void 0 : parentData.size.value) ?? props.size);
|
|
102
|
+
const computedSizeIsLiteralSize = computed(
|
|
103
|
+
() => !!computedSize.value && SIZES.includes(computedSize.value)
|
|
104
|
+
);
|
|
97
105
|
const computedVariant = computed(() => (parentData == null ? void 0 : parentData.variant.value) ?? props.variant);
|
|
98
106
|
const computedRounded = computed(() => (parentData == null ? void 0 : parentData.rounded.value) ?? props.rounded);
|
|
99
107
|
const computedRoundedTop = computed(() => (parentData == null ? void 0 : parentData.roundedTop.value) ?? props.roundedTop);
|
|
@@ -119,7 +127,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
119
127
|
// Square overwrites all else
|
|
120
128
|
computedSquare.value === true ? void 0 : radiusElementClasses.value,
|
|
121
129
|
{
|
|
122
|
-
[`b-avatar-${
|
|
130
|
+
[`b-avatar-${computedSize.value}`]: computedSizeIsLiteralSize.value && computedSize.value !== "md",
|
|
123
131
|
[`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,
|
|
124
132
|
"badge": !props.button && computedVariant.value !== null && hasDefaultSlot.value,
|
|
125
133
|
"btn": props.button,
|
|
@@ -128,10 +136,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
128
136
|
}
|
|
129
137
|
]);
|
|
130
138
|
const badgeStyle = computed(() => ({
|
|
131
|
-
fontSize: (
|
|
139
|
+
fontSize: (!computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})` : "") || ""
|
|
132
140
|
}));
|
|
133
141
|
const textFontStyle = computed(() => {
|
|
134
|
-
const fontSize =
|
|
142
|
+
const fontSize = !computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})` : null;
|
|
135
143
|
return fontSize ? { fontSize } : {};
|
|
136
144
|
});
|
|
137
145
|
const marginStyle = computed(() => {
|
|
@@ -143,8 +151,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
143
151
|
const computedTag = computed(() => computedLink.value ? _sfc_main$2 : props.button ? "button" : "span");
|
|
144
152
|
const computedStyle = computed(() => ({
|
|
145
153
|
...marginStyle.value,
|
|
146
|
-
|
|
147
|
-
|
|
154
|
+
...!computedSizeIsLiteralSize.value ? {
|
|
155
|
+
width: computedSize.value,
|
|
156
|
+
height: computedSize.value
|
|
157
|
+
} : void 0
|
|
148
158
|
}));
|
|
149
159
|
const clicked = (e) => {
|
|
150
160
|
if (!props.disabled && (computedLink.value || props.button)) emit("click", e);
|
|
@@ -272,4 +282,4 @@ export {
|
|
|
272
282
|
_sfc_main$1 as _,
|
|
273
283
|
_sfc_main as a
|
|
274
284
|
};
|
|
275
|
-
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-
|
|
285
|
+
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-uRDCerzk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-uRDCerzk.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 :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :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\" />\n </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, ref, type StyleValue, watch} 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'\nimport type {Size} from '../../types'\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 localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\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 = Object.freeze([\n null,\n ...Object.keys({\n lg: null,\n md: null,\n sm: null,\n } satisfies Record<Size, null>),\n] as (string | null)[])\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\n// const computedPropSize = useNumberishToStyle(() => props.size)\n// const propSizeIsLiteralSize = (val: unknown): val is Size =>\n// !!val && typeof val === 'string' && SIZES.includes(val)\n// const computedParentSize = useNumberishToStyle(() => parentData?.size.value)\n// const computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n// const computedPropSizeIsLiteralSize = computed(() => propSizeIsLiteralSize(computedSize.value))\n\nconst computedSize = useNumberishToStyle(() => parentData?.size.value ?? props.size)\nconst computedSizeIsLiteralSize = computed(\n () => !!computedSize.value && SIZES.includes(computedSize.value)\n)\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 colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${computedSize.value}`]:\n computedSizeIsLiteralSize.value && computedSize.value !== 'md',\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 (!computedSizeIsLiteralSize.value\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize = !computedSizeIsLiteralSize.value\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 ...(!computedSizeIsLiteralSize.value\n ? {\n width: computedSize.value,\n height: computedSize.value,\n }\n : 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 localSrc.value = undefined\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,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, useTemplateRef, useModel, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode } from "vue";
|
|
2
|
-
import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-BBcjZkCi.mjs";
|
|
3
3
|
import { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
|
|
4
4
|
import { o as onKeyStroke } from "./index-Bkyn4R9C.mjs";
|
|
5
5
|
import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
|
|
@@ -166,4 +166,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
166
166
|
export {
|
|
167
167
|
_sfc_main as _
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-
|
|
169
|
+
//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-BC0Lfmfc.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-BC0Lfmfc.mjs","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\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 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_useModel","BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,UAAM,SAAS;AAmCT,UAAA,QAAQ,YAAY,QAAQ,SAAS;AAE3C,UAAM,OAAO;AAIP,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,eAAeA,SAAoC,SAAC,SAA+B;AAEzF,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,WAAW,SAAS,MAAM,OAAO,aAAa,UAAU,SAAS;AACvE,UAAM,WAAW;AAAA,MACf,MAAM,MAAM,QAAQ,YAAY,MAAM,SAAS,UAAa,MAAM,OAAO;AAAA,IAC3E;AACA,UAAM,UAAU,SAAS,MAAM,MAAM,OAAO,MAAS;AAC/C,UAAA,iBAAiB,SAAS,MAAO,MAAM,SAAS,SAAY,QAAQ,CAAC,SAAS,KAAM;AAEpF,UAAA,YAAY,SAAS,MAAO,QAAQ,QAAQ,kBAAkB,QAAQ,EAAG;AACzE,UAAA,uBAAuB,SAAS,MAAM;AAC1C,UAAI,MAAM,SAAS,OAAO,MAAM,SAAiB,QAAA;AAE1C,aAAA,eAAe,QAAQ,MAAM,WAAW;AAAA,IAAA,CAChD;AAEK,UAAA,oBAAoB,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,YAAW;AAAA,KAAK;AAC7E,UAAA,0BAA0B,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,aAAY;AAAA,KAAK;AAC1F,UAAM,mBAAmB;AAAA,MACvB,SAAS,MAAO;;AAAA;AAAA,UACd,GAAI,kBAAkB,QAClB;AAAA,YACE,MAAM,MAAM;AAAA,YACZ,SAAS,MAAM;AAAA,YACf,cAAc,MAAM;AAAA,YACpB,iBAAiB,MAAM;AAAA,YACvB,sBAAsB,MAAM;AAAA,YAC5B,kBAAkB,MAAM;AAAA,YACxB,uBAAuB,MAAM;AAAA,YAC7B,kBAAkB,MAAM;AAAA,YACxB,SACE,wBAAwB,UAAU,QAC7B,WAAM,YAAN,mBAAe,MAAM,KACtB;AAAA,UAAA,IAER;AAAA,QAAA;AAAA,OACJ;AAAA,IACJ;AACM,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,kBAAkB,UAAU,QAAQ,aAAa,UAAU,QACvD,iBAAiB,QACjB;AAAA,MACJ,CAAC,OAAO,MAAM,IAAI,EAAE;AAAA,MACpB;AAAA,QACE,CAAC,OAAO,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY,QAAQ,wBAAwB,UAAU;AAAA,QACtF,UAAU,MAAM,UAAU,aAAa;AAAA,QACvC,gBAAgB,MAAM;AAAA,QACtB,aAAa,MAAM;AAAA,QACnB,YAAY,MAAM;AAAA,MAAA;AAAA,IACpB,CACD;AAEK,UAAA,cAAc,SAAS,MAAO,QAAQ,QAAQC,cAAQ,MAAM,OAAO,MAAM,MAAM,GAAI;AAEnF,UAAA,UAAU,CAAC,MAAkC;AACjD,UAAI,MAAM,UAAU;AAClB,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAClB;AAAA,MAAA;AAEF,WAAK,SAAS,CAAC;AACf,UAAI,SAAS,MAAoB,cAAA,QAAQ,CAAC,aAAa;AAAA,IACzD;AAEA;AAAA,MACE,CAAC,KAAK,OAAO;AAAA,MACb,CAAC,MAAM;;AACD,YAAA,MAAM,SAAS,KAAK;AACtB,YAAE,eAAe;AACjB,wBAAQ,UAAR,mBAAe;AAAA,QAAM;AAAA,MAEzB;AAAA,MACA,EAAC,QAAQ,QAAO;AAAA,IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),l=require("./BSpinner.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),l=require("./BSpinner.vue_vue_type_script_setup_true_lang-C3_FltTm.js"),t=require("./BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js"),a=require("./index-CNL2tI0w.js"),o=require("./useDefaults-Bq2idhQU.js"),u=e.defineComponent({__name:"BButton",props:e.mergeModels({loading:{type:Boolean,default:!1},loadingFill:{type:Boolean,default:!1},loadingText:{default:"Loading..."},pill:{type:Boolean,default:!1},size:{default:"md"},squared:{type:Boolean,default:!1},tag:{default:"button"},type:{default:"button"},variant:{default:"secondary"},active:{type:Boolean,default:!1},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:!1},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},routerTag:{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:null}},{pressed:{type:Boolean,default:void 0},pressedModifiers:{}}),emits:e.mergeModels(["click"],["update:pressed"]),setup(u,{emit:n}){const r=u,d=o.useDefaults(r,"BButton"),i=n,s=e.useTemplateRef("_element"),v=e.useModel(u,"pressed"),{computedLink:f,computedLinkProps:p}=t.useBLinkHelper(d,["active-class","exact-active-class","replace","routerComponentName","routerTag"]),c=e.computed((()=>"boolean"==typeof v.value)),m=e.computed((()=>"button"===d.tag&&void 0===d.href&&void 0===d.to)),y=e.computed((()=>void 0!==d.to)),g=e.computed((()=>void 0===d.href&&!m.value)),B=e.computed((()=>y.value?p.value:[])),_=e.computed((()=>!("#"!==d.href||!d.disabled)||(g.value?d.disabled:null))),b=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link"))||!1})),k=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link-"))||!1})),h=t.useLinkClasses(e.computed((()=>{var e;return{...b.value?{icon:d.icon,opacity:d.opacity,opacityHover:d.opacityHover,underlineOffset:d.underlineOffset,underlineOffsetHover:d.underlineOffsetHover,underlineOpacity:d.underlineOpacity,underlineOpacityHover:d.underlineOpacityHover,underlineVariant:d.underlineVariant,variant:!0===k.value?null==(e=d.variant)?void 0:e.slice(5):null}:void 0}}))),O=e.computed((()=>[!0===b.value&&!1===f.value?h.value:void 0,[`btn-${d.size}`],{[`btn-${d.variant}`]:null!==d.variant&&!1===k.value,active:d.active||v.value,"rounded-pill":d.pill,"rounded-0":d.squared,disabled:d.disabled}])),C=e.computed((()=>y.value?t._sfc_main:d.href?"a":d.tag)),x=e=>{if(d.disabled)return e.preventDefault(),void e.stopPropagation();i("click",e),c.value&&(v.value=!v.value)};return a.onKeyStroke([" ","enter"],(e=>{var l;"#"===d.href&&(e.preventDefault(),null==(l=s.value)||l.click())}),{target:s}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.value),e.mergeProps({ref:"_element",class:"btn"},B.value,{class:O.value,"aria-disabled":_.value,"aria-pressed":c.value?v.value:null,autocomplete:c.value?"off":null,disabled:m.value?e.unref(d).disabled:null,href:e.unref(d).href,rel:e.unref(f)?e.unref(d).rel:null,role:g.value||e.unref(f)?"button":null,target:e.unref(f)?e.unref(d).target:null,type:m.value?e.unref(d).type:null,to:m.value?null:e.unref(d).to,onClick:x}),{default:e.withCtx((()=>[e.unref(d).loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[e.unref(d).loadingFill?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(d).loadingText),1)],64)),e.renderSlot(t.$slots,"loading-spinner",{},(()=>[e.createVNode(l._sfc_main,{small:"lg"!==e.unref(d).size,label:e.unref(d).loadingFill?e.unref(d).loadingText:void 0},null,8,["small","label"])]))])):e.renderSlot(t.$slots,"default",{key:1})])),_:3},16,["class","aria-disabled","aria-pressed","autocomplete","disabled","href","rel","role","target","type","to"]))}});exports._sfc_main=u;
|
|
2
|
+
//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-BQI4HK70.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-BQI4HK70.js","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\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 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","element","useTemplateRef","pressedValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","isToggle","computed","value","isButton","tag","href","to","isBLink","nonStandardTag","linkProps","computedAriaDisabled","disabled","variantIsLinkType","_a","variant","startsWith","variantIsLinkTypeSubset","linkValueClasses","useLinkClasses","icon","opacity","opacityHover","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","underlineVariant","slice","computedClasses","size","active","pill","squared","computedTag","BLink","clicked","e","preventDefault","stopPropagation","index","onKeyStroke","click","target"],"mappings":"y5CAsDA,MAAMA,EAASC,EAmCTC,EAAQC,EAAAA,YAAYH,EAAQ,WAE5BI,EAAOC,EAIPC,EAAUC,iBAA4B,YAEtCC,EAAeC,EAAAA,SAAoCR,EAAC,YAEpDS,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeV,EAAO,CAC9D,eACA,qBACA,UACA,sBACA,cAGIW,EAAWC,EAAAA,UAAS,IAAoC,kBAAvBN,EAAaO,QAC9CC,EAAWF,EAAAA,UACf,IAAoB,WAAdZ,EAAMe,UAAmC,IAAff,EAAMgB,WAAmC,IAAbhB,EAAMiB,KAE9DC,EAAUN,EAAAA,UAAS,SAAmB,IAAbZ,EAAMiB,KAC/BE,EAAiBP,YAAS,SAAsB,IAAfZ,EAAMgB,OAA8BF,EAASD,QAE9EO,EAAYR,EAAAA,UAAS,IAAOM,EAAQL,MAAQJ,EAAkBI,MAAQ,KACtEQ,EAAuBT,EAAAA,UAAS,MACjB,MAAfZ,EAAMgB,OAAgBhB,EAAMsB,YAEzBH,EAAeN,MAAQb,EAAMsB,SAAW,QAG3CC,EAAoBX,YAAS,WAAY,OAAN,OAAMY,EAAAxB,EAAAyB,cAAS,EAAAD,EAAAE,WAAW,WAAW,CAAA,IACxEC,EAA0Bf,YAAS,WAAY,OAAN,OAAMY,EAAAxB,EAAAyB,cAAS,EAAAD,EAAAE,WAAW,YAAY,CAAA,IAC/EE,EAAmBC,EAAAA,eACvBjB,EAAAA,UAAS,WAAO,MAAA,IACVW,EAAkBV,MAClB,CACEiB,KAAM9B,EAAM8B,KACZC,QAAS/B,EAAM+B,QACfC,aAAchC,EAAMgC,aACpBC,gBAAiBjC,EAAMiC,gBACvBC,qBAAsBlC,EAAMkC,qBAC5BC,iBAAkBnC,EAAMmC,iBACxBC,sBAAuBpC,EAAMoC,sBAC7BC,iBAAkBrC,EAAMqC,iBACxBZ,SACoC,IAAlCE,EAAwBd,MACnB,OAAAW,IAAMC,cAAN,EAAAD,EAAec,MAAM,GACtB,WAER,EAAA,KAGFC,EAAkB3B,EAAAA,UAAS,IAAM,EACT,IAA5BW,EAAkBV,QAAyC,IAAvBL,EAAaK,MAC7Ce,EAAiBf,WACjB,EACJ,CAAC,OAAOb,EAAMwC,QACd,CACE,CAAC,OAAOxC,EAAMyB,WAA8B,OAAlBzB,EAAMyB,UAAsD,IAAlCE,EAAwBd,MAC5E4B,OAAUzC,EAAMyC,QAAUnC,EAAaO,MACvC,eAAgBb,EAAM0C,KACtB,YAAa1C,EAAM2C,QACnBrB,SAAYtB,EAAMsB,aAIhBsB,EAAchC,EAAAA,UAAS,IAAOM,EAAQL,MAAQgC,YAAQ7C,EAAMgB,KAAO,IAAMhB,EAAMe,MAE/E+B,EAAWC,IACf,GAAI/C,EAAMsB,SAGR,OAFAyB,EAAEC,sBACFD,EAAEE,kBAGJ/C,EAAK,QAAS6C,GACVpC,EAASE,QAAoBP,EAAAO,OAASP,EAAaO,MAAA,SAGzDqC,EAAAC,YACE,CAAC,IAAK,UACLJ,UACoB,MAAf/C,EAAMgB,OACR+B,EAAEC,iBACF,OAAAxB,EAAApB,EAAQS,QAAOW,EAAA4B,QAAM,GAGzB,CAACC,OAAQjD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, mergeProps, resolveDynamicComponent, normalizeClass, unref, withCtx, renderSlot, createTextVNode, toDisplayString, useSlots, createCommentVNode, createVNode, normalizeProps } from "vue";
|
|
2
|
-
import { i as isEmptySlot } from "./dom-
|
|
2
|
+
import { i as isEmptySlot } from "./dom-BK2w00Ec.mjs";
|
|
3
3
|
import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
|
|
4
4
|
import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
|
|
5
5
|
import { _ as _sfc_main$8 } from "./BImg.vue_vue_type_script_setup_true_lang-CoowQ3jJ.mjs";
|
|
@@ -377,4 +377,4 @@ export {
|
|
|
377
377
|
_sfc_main$3 as e,
|
|
378
378
|
_sfc_main$4 as f
|
|
379
379
|
};
|
|
380
|
-
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-
|
|
380
|
+
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-BrZMYuL-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-DoeLCt4a.mjs","sources":["../src/components/BCard/BCardImg.vue","../src/components/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 <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeadFootProps} from '../types/ComponentProps'\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {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 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 {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\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 = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport 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 hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {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 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\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <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 footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\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 colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n\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,IAAA,EAChC;AAEI,UAAA,mBAAmB,SAAS,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;ACjClE,UAAM,QAAQ;AAgBR,UAAA,kBAAkB,uBAAuB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBpD,UAAM,SAAS;AAUT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;ACT/C,UAAM,SAAS;AAIT,UAAA,QAAQ,YAAY,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;ACH9C,UAAM,SAAS;AAKT,UAAA,QAAQ,YAAY,QAAQ,eAAe;AAO3C,UAAA,kBAAkB,uBAAuB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQpD,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,WAAW;AAE7C,UAAM,QAAQA,SAAA;AASd,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB,SAAS,MAAM,CAAC,YAAY,MAAM,QAAQ,CAAC;AAE7D,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,MAAM,UAAU,qBAAqB;AAAA,IAAA,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDD,UAAM,SAAS;AAUT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgD/C,UAAM,SAAS;AAwCT,UAAA,QAAQ,YAAY,QAAQ,OAAO;AAEzC,UAAM,QAAQA,SAAA;AAWd,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAC/D,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAEzD,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb;AAAA,QACE,CAAC,QAAQ,MAAM,KAAK,EAAE,GAAG,MAAM,UAAU;AAAA,QACzC,YAAY,MAAM,iBAAiB;AAAA,QACnC,oBAAoB,MAAM,iBAAiB;AAAA,MAAA;AAAA,IAC7C,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,IAAA,EACjB;AAEF,UAAM,cAAc,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-BrZMYuL-.mjs","sources":["../src/components/BCard/BCardImg.vue","../src/components/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 <slot>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardHeadFootProps} from '../types/ComponentProps'\nimport {useColorVariantClasses} from '../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = useColorVariantClasses(props)\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {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 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 {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\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 = useColorVariantClasses(props)\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport 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 hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {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 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\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <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 footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\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 colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n\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,IAAA,EAChC;AAEI,UAAA,mBAAmB,SAAS,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;ACjClE,UAAM,QAAQ;AAgBR,UAAA,kBAAkB,uBAAuB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBpD,UAAM,SAAS;AAUT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;ACT/C,UAAM,SAAS;AAIT,UAAA,QAAQ,YAAY,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;ACH9C,UAAM,SAAS;AAKT,UAAA,QAAQ,YAAY,QAAQ,eAAe;AAO3C,UAAA,kBAAkB,uBAAuB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQpD,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,WAAW;AAE7C,UAAM,QAAQA,SAAA;AASd,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB,SAAS,MAAM,CAAC,YAAY,MAAM,QAAQ,CAAC;AAE7D,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,MAAM,UAAU,qBAAqB;AAAA,IAAA,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDD,UAAM,SAAS;AAUT,UAAA,QAAQ,YAAY,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgD/C,UAAM,SAAS;AAwCT,UAAA,QAAQ,YAAY,QAAQ,OAAO;AAEzC,UAAM,QAAQA,SAAA;AAWd,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAC/D,UAAM,gBAAgB,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC;AAEzD,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb;AAAA,QACE,CAAC,QAAQ,MAAM,KAAK,EAAE,GAAG,MAAM,UAAU;AAAA,QACzC,YAAY,MAAM,iBAAiB;AAAA,QACnC,oBAAoB,MAAM,iBAAiB;AAAA,MAAA;AAAA,IAC7C,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,IAAA,EACjB;AAEF,UAAM,cAAc,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./dom-
|
|
2
|
-
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./dom-Dzr6gmPm.js"),a=require("./useColorVariantClasses-CE658Sm0.js"),r=require("./useDefaults-Bq2idhQU.js"),o=require("./BImg.vue_vue_type_script_setup_true_lang-jzrMwcU2.js"),l=require("./object-B-6ddRYH.js"),n=require("./index-CNL2tI0w.js"),d=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,n=r.useDefaults(a,"BCardImg"),d=e.computed((()=>({"card-img-top":"top"===n.placement,"card-img-end":"end"===n.placement,"card-img-bottom":"bottom"===n.placement,"card-img-start":"start"===n.placement,"card-img":"overlay"===n.placement}))),i=e.computed((()=>l.omit(n,["placement"])));return(t,a)=>(e.openBlock(),e.createBlock(o._sfc_main,e.mergeProps(i.value,{class:d.value}),null,16,["class"]))}}),i=e.defineComponent({__name:"BCardHeadFoot",props:{borderVariant:{default:null},tag:{default:"div"},text:{default:void 0},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(t){const r=t,o=a.useColorVariantClasses(r);return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(e.unref(o))},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]))])),_:3},8,["class"]))}}),u=e.defineComponent({__name:"BCardHeader",props:{borderVariant:{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,o=r.useDefaults(a,"BCardHeader");return(t,a)=>(e.openBlock(),e.createBlock(i,e.mergeProps({class:"card-header"},e.unref(o)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16))}}),s=e.defineComponent({__name:"BCardTitle",props:{tag:{default:"h4"},text:{default:void 0}},setup(t){const a=t,o=r.useDefaults(a,"BCardTitle");return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"card-title"},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).text),1)]))])),_:3}))}}),f=e.defineComponent({__name:"BCardSubtitle",props:{text:{default:void 0},tag:{default:"h6"},textVariant:{default:"body-secondary"}},setup(t){const o=t,l=r.useDefaults(o,"BCardSubtitle"),n=a.useColorVariantClasses(l);return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:e.normalizeClass(["card-subtitle mb-2",e.unref(n)])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},8,["class"]))}}),c=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(o){const l=o,n=r.useDefaults(l,"BCardBody"),d=e.useSlots(),i=e.computed((()=>!t.isEmptySlot(d.title))),u=e.computed((()=>!t.isEmptySlot(d.subtitle))),c=a.useColorVariantClasses(n),m=e.computed((()=>[c.value,n.overlay?"card-img-overlay":"card-body"]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n).tag),{class:e.normalizeClass(m.value)},{default:e.withCtx((()=>[e.unref(n).title||i.value?(e.openBlock(),e.createBlock(s,{key:0,tag:e.unref(n).titleTag},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).title),1)]))])),_:3},8,["tag"])):e.createCommentVNode("",!0),e.unref(n).subtitle||u.value?(e.openBlock(),e.createBlock(f,{key:1,tag:e.unref(n).subtitleTag,"text-variant":e.unref(n).subtitleTextVariant},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"subtitle",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).subtitle),1)]))])),_:3},8,["tag","text-variant"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).text),1)]))])),_:3},8,["class"]))}}),m=e.defineComponent({__name:"BCardFooter",props:{borderVariant:{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,o=r.useDefaults(a,"BCardFooter");return(t,a)=>(e.openBlock(),e.createBlock(i,e.mergeProps({class:"card-footer"},e.unref(o)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).text),1)]))])),_:3},16))}}),v=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},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},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(o){const l=o,i=r.useDefaults(l,"BCard"),s=e.useSlots(),f=e.computed((()=>!t.isEmptySlot(s.header))),v=e.computed((()=>!t.isEmptySlot(s.footer))),p=a.useColorVariantClasses(i),g=e.computed((()=>[p.value,{[`text-${i.align}`]:void 0!==i.align,"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=n.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(d,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.openBlock(),e.createBlock(u,{key:1,"bg-variant":e.unref(i).headerBgVariant,variant:e.unref(i).headerVariant,"border-variant":e.unref(i).headerBorderVariant,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","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(c,{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||v.value?(e.openBlock(),e.createBlock(m,{key:4,"bg-variant":e.unref(i).footerBgVariant,"border-variant":e.unref(i).footerBorderVariant,variant:e.unref(i).footerVariant,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","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=v,exports._sfc_main$1=c,exports._sfc_main$2=m,exports._sfc_main$3=u,exports._sfc_main$4=d,exports._sfc_main$5=f,exports._sfc_main$6=s;
|
|
2
|
+
//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-Do5cEuzT.js.map
|