bootstrap-vue-next 0.28.3 → 0.28.5
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/{BAccordionItem.vue_vue_type_script_setup_true_lang-DkLwHT78.js → BAccordionItem.vue_vue_type_script_setup_true_lang-DOu2dnZz.js} +2 -2
- package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-DkLwHT78.js.map → BAccordionItem.vue_vue_type_script_setup_true_lang-DOu2dnZz.js.map} +1 -1
- package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-BAMvJL5e.mjs → BAccordionItem.vue_vue_type_script_setup_true_lang-DikdjUQR.mjs} +2 -2
- package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-BAMvJL5e.mjs.map → BAccordionItem.vue_vue_type_script_setup_true_lang-DikdjUQR.mjs.map} +1 -1
- package/dist/{BAlert-CBIh6SSY.js → BAlert-D8vdFXxm.js} +2 -2
- package/dist/{BAlert-CBIh6SSY.js.map → BAlert-D8vdFXxm.js.map} +1 -1
- package/dist/{BAlert-D1JaLQZ_.mjs → BAlert-y6SLZbhN.mjs} +2 -2
- package/dist/{BAlert-D1JaLQZ_.mjs.map → BAlert-y6SLZbhN.mjs.map} +1 -1
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-D-cQG3Nv.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-BCPqhvOP.mjs} +3 -3
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-D-cQG3Nv.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-BCPqhvOP.mjs.map} +1 -1
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-kogB8hM6.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-BeKAnrjT.js} +2 -2
- package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-kogB8hM6.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-BeKAnrjT.js.map} +1 -1
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-Dv_mxsog.mjs → BBadge.vue_vue_type_script_setup_true_lang-DQzbqAgV.mjs} +2 -2
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-Dv_mxsog.mjs.map → BBadge.vue_vue_type_script_setup_true_lang-DQzbqAgV.mjs.map} +1 -1
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-CURIz_Hi.js → BBadge.vue_vue_type_script_setup_true_lang-zmbnlqp1.js} +2 -2
- package/dist/{BBadge.vue_vue_type_script_setup_true_lang-CURIz_Hi.js.map → BBadge.vue_vue_type_script_setup_true_lang-zmbnlqp1.js.map} +1 -1
- package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-BtJx6-v9.js → BBreadcrumb.vue_vue_type_script_setup_true_lang-gMrZporK.js} +2 -2
- package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-BtJx6-v9.js.map → BBreadcrumb.vue_vue_type_script_setup_true_lang-gMrZporK.js.map} +1 -1
- package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-BglGi00P.mjs → BBreadcrumb.vue_vue_type_script_setup_true_lang-nTIHBR2R.mjs} +3 -3
- package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-BglGi00P.mjs.map → BBreadcrumb.vue_vue_type_script_setup_true_lang-nTIHBR2R.mjs.map} +1 -1
- package/dist/BButton.vue_vue_type_script_setup_true_lang-DK2_8hwa.js +2 -0
- package/dist/BButton.vue_vue_type_script_setup_true_lang-DK2_8hwa.js.map +1 -0
- package/dist/{BButton.vue_vue_type_script_setup_true_lang-ByjfGDl1.mjs → BButton.vue_vue_type_script_setup_true_lang-dqqfI3P6.mjs} +10 -4
- package/dist/BButton.vue_vue_type_script_setup_true_lang-dqqfI3P6.mjs.map +1 -0
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-C1qsFP-0.js → BCard.vue_vue_type_script_setup_true_lang-DP7jtfw4.js} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-C1qsFP-0.js.map → BCard.vue_vue_type_script_setup_true_lang-DP7jtfw4.js.map} +1 -1
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-BMlJ-Sfo.mjs → BCard.vue_vue_type_script_setup_true_lang-Q7BhlCUy.mjs} +2 -2
- package/dist/{BCard.vue_vue_type_script_setup_true_lang-BMlJ-Sfo.mjs.map → BCard.vue_vue_type_script_setup_true_lang-Q7BhlCUy.mjs.map} +1 -1
- package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-Bl-yjP_-.js → BCollapse.vue_vue_type_script_setup_true_lang-DIPH75ZZ.js} +2 -2
- package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-Bl-yjP_-.js.map → BCollapse.vue_vue_type_script_setup_true_lang-DIPH75ZZ.js.map} +1 -1
- package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-GJS1dKK5.mjs → BCollapse.vue_vue_type_script_setup_true_lang-Oh0Hx-Pq.mjs} +2 -2
- package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-GJS1dKK5.mjs.map → BCollapse.vue_vue_type_script_setup_true_lang-Oh0Hx-Pq.mjs.map} +1 -1
- package/dist/{BDropdown-CmJPEOPT.mjs → BDropdown-B2JNwjQL.mjs} +4 -4
- package/dist/{BDropdown-CmJPEOPT.mjs.map → BDropdown-B2JNwjQL.mjs.map} +1 -1
- package/dist/{BDropdown-DtqWfRyb.js → BDropdown-CfjLAv0Z.js} +2 -2
- package/dist/{BDropdown-DtqWfRyb.js.map → BDropdown-CfjLAv0Z.js.map} +1 -1
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-CC7Vuv_E.js +2 -0
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-CC7Vuv_E.js.map +1 -0
- package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-BbFXYMbV.mjs → BDropdownText.vue_vue_type_script_setup_true_lang-Da2SnXpf.mjs} +8 -6
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-Da2SnXpf.mjs.map +1 -0
- package/dist/{BFormFloatingLabel.vue_vue_type_script_setup_true_lang-BZ8LcGBL.js → BFormFloatingLabel.vue_vue_type_script_setup_true_lang-BLZgKq1D.js} +2 -2
- package/dist/{BFormFloatingLabel.vue_vue_type_script_setup_true_lang-BZ8LcGBL.js.map → BFormFloatingLabel.vue_vue_type_script_setup_true_lang-BLZgKq1D.js.map} +1 -1
- package/dist/{BFormFloatingLabel.vue_vue_type_script_setup_true_lang-CqEz9Ydj.mjs → BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Dcfqcx9B.mjs} +2 -2
- package/dist/{BFormFloatingLabel.vue_vue_type_script_setup_true_lang-CqEz9Ydj.mjs.map → BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Dcfqcx9B.mjs.map} +1 -1
- package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Bja1Arvz.js → BFormSelect.vue_vue_type_script_setup_true_lang-DsRbt7W4.js} +2 -2
- package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Bja1Arvz.js.map → BFormSelect.vue_vue_type_script_setup_true_lang-DsRbt7W4.js.map} +1 -1
- package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-1z6NZtLV.mjs → BFormSelect.vue_vue_type_script_setup_true_lang-DvZz2eoW.mjs} +2 -2
- package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-1z6NZtLV.mjs.map → BFormSelect.vue_vue_type_script_setup_true_lang-DvZz2eoW.mjs.map} +1 -1
- package/dist/{BLink.vue_vue_type_script_setup_true_lang-DebW5NY9.js → BLink.vue_vue_type_script_setup_true_lang-BIG-3kpw.js} +2 -2
- package/dist/{BLink.vue_vue_type_script_setup_true_lang-DebW5NY9.js.map → BLink.vue_vue_type_script_setup_true_lang-BIG-3kpw.js.map} +1 -1
- package/dist/{BLink.vue_vue_type_script_setup_true_lang-CinzoAgQ.mjs → BLink.vue_vue_type_script_setup_true_lang-Dypfmmzs.mjs} +2 -2
- package/dist/{BLink.vue_vue_type_script_setup_true_lang-CinzoAgQ.mjs.map → BLink.vue_vue_type_script_setup_true_lang-Dypfmmzs.mjs.map} +1 -1
- package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-DLbhN_ur.js → BListGroupItem.vue_vue_type_script_setup_true_lang-CpM0hhAL.js} +2 -2
- package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-DLbhN_ur.js.map → BListGroupItem.vue_vue_type_script_setup_true_lang-CpM0hhAL.js.map} +1 -1
- package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-DF5MpHVf.mjs → BListGroupItem.vue_vue_type_script_setup_true_lang-D7Y4TSwe.mjs} +2 -2
- package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-DF5MpHVf.mjs.map → BListGroupItem.vue_vue_type_script_setup_true_lang-D7Y4TSwe.mjs.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BtuBpM8e.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-BM7IyCwB.js} +2 -2
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BtuBpM8e.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-BM7IyCwB.js.map} +1 -1
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-Vpb9dNna.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-kkIKb3km.mjs} +3 -3
- package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-Vpb9dNna.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-kkIKb3km.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-CpHz539e.mjs → BNavText.vue_vue_type_script_setup_true_lang-BtKwi3T0.mjs} +4 -4
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-CpHz539e.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-BtKwi3T0.mjs.map} +1 -1
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-i1WFUOMv.js → BNavText.vue_vue_type_script_setup_true_lang-CR6lR1mC.js} +2 -2
- package/dist/{BNavText.vue_vue_type_script_setup_true_lang-i1WFUOMv.js.map → BNavText.vue_vue_type_script_setup_true_lang-CR6lR1mC.js.map} +1 -1
- package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-Cr7xqOoW.mjs → BNavbarToggle.vue_vue_type_script_setup_true_lang-CyjPoRP2.mjs} +2 -2
- package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-Cr7xqOoW.mjs.map → BNavbarToggle.vue_vue_type_script_setup_true_lang-CyjPoRP2.mjs.map} +1 -1
- package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-Cc52THYT.js → BNavbarToggle.vue_vue_type_script_setup_true_lang-D2HDyrq0.js} +2 -2
- package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-Cc52THYT.js.map → BNavbarToggle.vue_vue_type_script_setup_true_lang-D2HDyrq0.js.map} +1 -1
- package/dist/{BOffcanvas-BIRIpipC.mjs → BOffcanvas-C3uwQw3K.mjs} +3 -3
- package/dist/{BOffcanvas-BIRIpipC.mjs.map → BOffcanvas-C3uwQw3K.mjs.map} +1 -1
- package/dist/{BOffcanvas-C0yMukR0.js → BOffcanvas-jKZIuxkp.js} +2 -2
- package/dist/{BOffcanvas-C0yMukR0.js.map → BOffcanvas-jKZIuxkp.js.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DI0iHvHM.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8Lxp5u9d.mjs} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DI0iHvHM.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8Lxp5u9d.mjs.map} +1 -1
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BPjjs-rn.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BHLEkYYp.js} +2 -2
- package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BPjjs-rn.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BHLEkYYp.js.map} +1 -1
- package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UpZ5gQKv.js → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BGhfS1qS.js} +2 -2
- package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UpZ5gQKv.js.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BGhfS1qS.js.map} +1 -1
- package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CyJwKua6.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-D4GbLl11.mjs} +3 -3
- package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CyJwKua6.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-D4GbLl11.mjs.map} +1 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-ConAH-ov.js +2 -0
- package/dist/BTable.vue_vue_type_script_setup_true_lang-ConAH-ov.js.map +1 -0
- package/dist/{BTable.vue_vue_type_script_setup_true_lang-s3mA7RWN.mjs → BTable.vue_vue_type_script_setup_true_lang-CvAoh1bR.mjs} +38 -39
- package/dist/BTable.vue_vue_type_script_setup_true_lang-CvAoh1bR.mjs.map +1 -0
- package/dist/{BTabs.vue_vue_type_script_setup_true_lang-DamGvRZ4.mjs → BTabs.vue_vue_type_script_setup_true_lang-DLC15pio.mjs} +5 -5
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DLC15pio.mjs.map +1 -0
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DaEQCEtK.js +2 -0
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DaEQCEtK.js.map +1 -0
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-QnNVHVOF.js → BToastOrchestrator.vue_vue_type_style_index_0_lang-CldWZ8Hz.js} +2 -2
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-QnNVHVOF.js.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-CldWZ8Hz.js.map} +1 -1
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Cne4Kadd.mjs → BToastOrchestrator.vue_vue_type_style_index_0_lang-lT9O9jIT.mjs} +3 -3
- package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Cne4Kadd.mjs.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-lT9O9jIT.mjs.map} +1 -1
- package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Z9GU13e_.js → BTooltip.vue_vue_type_script_setup_true_lang-C8R3YoVH.js} +2 -2
- package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Z9GU13e_.js.map → BTooltip.vue_vue_type_script_setup_true_lang-C8R3YoVH.js.map} +1 -1
- package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-B8VgPQS2.mjs → BTooltip.vue_vue_type_script_setup_true_lang-_kDWVpSo.mjs} +2 -2
- package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-B8VgPQS2.mjs.map → BTooltip.vue_vue_type_script_setup_true_lang-_kDWVpSo.mjs.map} +1 -1
- package/dist/bootstrap-vue-next.css +1 -1
- package/dist/bootstrap-vue-next.mjs +27 -27
- package/dist/bootstrap-vue-next.umd.js +1 -1
- package/dist/{floatingUi-DvHiyg2I.mjs → floatingUi-Cj6Hlxbg.mjs} +8 -12
- package/dist/{floatingUi-DvHiyg2I.mjs.map → floatingUi-Cj6Hlxbg.mjs.map} +1 -1
- package/dist/{floatingUi-BlLGYlnv.js → floatingUi-ytljkTsT.js} +2 -2
- package/dist/{floatingUi-BlLGYlnv.js.map → floatingUi-ytljkTsT.js.map} +1 -1
- package/dist/{index-9guXRVSw.mjs → index-B0JyBAVc.mjs} +27 -27
- package/dist/{index-9guXRVSw.mjs.map → index-B0JyBAVc.mjs.map} +1 -1
- package/dist/{index-C93mwJyE.js → index-BATODw3R.js} +2 -2
- package/dist/index-BATODw3R.js.map +1 -0
- package/dist/{object-BWoyyA2y.mjs → object-0ALvRU0O.mjs} +20 -1
- package/dist/{object-BWoyyA2y.mjs.map → object-0ALvRU0O.mjs.map} +1 -1
- package/dist/object-os-RnHQq.js +2 -0
- package/dist/{object-DZmODUam.js.map → object-os-RnHQq.js.map} +1 -1
- package/dist/src/components/BAccordion/index.mjs +1 -1
- package/dist/src/components/BAccordion/index.umd.js +1 -1
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BAlert/index.umd.js +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBadge/index.umd.js +1 -1
- package/dist/src/components/BBreadcrumb/index.mjs +1 -1
- package/dist/src/components/BBreadcrumb/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/BCollapse/index.mjs +1 -1
- package/dist/src/components/BCollapse/index.umd.js +1 -1
- package/dist/src/components/BDropdown/BDropdown.vue.d.mts +24 -0
- package/dist/src/components/BDropdown/BDropdown.vue.d.ts +24 -0
- package/dist/src/components/BDropdown/index.mjs +2 -2
- package/dist/src/components/BDropdown/index.umd.js +1 -1
- package/dist/src/components/BForm/index.mjs +1 -1
- package/dist/src/components/BForm/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +2 -2
- package/dist/src/components/BFormSelect/index.umd.js +1 -1
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BLink/index.umd.js +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.umd.js +1 -1
- package/dist/src/components/BModal/BModal.vue.d.mts +24 -0
- package/dist/src/components/BModal/BModal.vue.d.ts +24 -0
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/BNavItemDropdown.vue.d.mts +24 -0
- package/dist/src/components/BNav/BNavItemDropdown.vue.d.ts +24 -0
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BNavbar/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/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.umd.js +1 -1
- package/dist/src/components/BPopover/index.mjs +2 -2
- package/dist/src/components/BPopover/index.umd.js +1 -1
- package/dist/src/components/BTable/BTable.vue.d.mts +2 -0
- package/dist/src/components/BTable/BTable.vue.d.ts +2 -0
- 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/BToast/index.mjs +1 -1
- package/dist/src/components/BToast/index.umd.js +1 -1
- package/dist/src/components/BTooltip/index.mjs +1 -1
- package/dist/src/components/BTooltip/index.umd.js +1 -1
- package/dist/src/components/index.mjs +26 -26
- package/dist/src/components/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.mjs +1 -1
- package/dist/src/directives/BPopover/index.umd.js +1 -1
- package/dist/src/directives/BScrollspy/index.mjs +1 -1
- package/dist/src/directives/BScrollspy/index.umd.js +1 -1
- package/dist/src/directives/BTooltip/index.mjs +1 -1
- package/dist/src/directives/BTooltip/index.umd.js +1 -1
- package/dist/src/types/ComponentProps.d.mts +1 -1
- package/dist/src/types/ComponentProps.d.ts +1 -1
- package/dist/{useFormSelect-BrGF20vO.mjs → useFormSelect-BVn1nGa3.mjs} +2 -2
- package/dist/{useFormSelect-BrGF20vO.mjs.map → useFormSelect-BVn1nGa3.mjs.map} +1 -1
- package/dist/{useFormSelect-B8cuQ0fO.js → useFormSelect-BeQ6YEc1.js} +2 -2
- package/dist/{useFormSelect-B8cuQ0fO.js.map → useFormSelect-BeQ6YEc1.js.map} +1 -1
- package/dist/useShowHide-2QiORPok.js +2 -0
- package/dist/useShowHide-2QiORPok.js.map +1 -0
- package/dist/{useShowHide-DHtnuxfQ.mjs → useShowHide-BI-uEWHQ.mjs} +17 -8
- package/dist/useShowHide-BI-uEWHQ.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/BButton.vue_vue_type_script_setup_true_lang-B8RofmCM.js +0 -2
- package/dist/BButton.vue_vue_type_script_setup_true_lang-B8RofmCM.js.map +0 -1
- package/dist/BButton.vue_vue_type_script_setup_true_lang-ByjfGDl1.mjs.map +0 -1
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-BbFXYMbV.mjs.map +0 -1
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-KLi4c30t.js +0 -2
- package/dist/BDropdownText.vue_vue_type_script_setup_true_lang-KLi4c30t.js.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-nGoIqGi9.js +0 -2
- package/dist/BTable.vue_vue_type_script_setup_true_lang-nGoIqGi9.js.map +0 -1
- package/dist/BTable.vue_vue_type_script_setup_true_lang-s3mA7RWN.mjs.map +0 -1
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-BP0T8JsQ.js +0 -2
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-BP0T8JsQ.js.map +0 -1
- package/dist/BTabs.vue_vue_type_script_setup_true_lang-DamGvRZ4.mjs.map +0 -1
- package/dist/index-C93mwJyE.js.map +0 -1
- package/dist/object-DZmODUam.js +0 -2
- package/dist/useShowHide-C91IoS21.js +0 -2
- package/dist/useShowHide-C91IoS21.js.map +0 -1
- package/dist/useShowHide-DHtnuxfQ.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),o=require("./keys-C2BcfuxJ.js"),l=require("./useId-BOa4n5pr.js"),a=require("./useDefaults-_waRUo1X.js"),t=require("./BCollapse.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),o=require("./keys-C2BcfuxJ.js"),l=require("./useId-BOa4n5pr.js"),a=require("./useDefaults-_waRUo1X.js"),t=require("./BCollapse.vue_vue_type_script_setup_true_lang-DIPH75ZZ.js"),n=["id"],d=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0},initialAnimation:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1}},{modelValue:{default:void 0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const d=t,u=a.useDefaults(d,"BAccordion"),r=e.useModel(t,"modelValue"),i=l.useId((()=>u.id),"accordion"),s=e.computed((()=>({"accordion-flush":u.flush})));return e.provide(o.accordionInjectionKey,{openItem:e.readonly(r),free:e.toRef((()=>u.free)),initialAnimation:e.toRef((()=>u.initialAnimation)),lazy:e.toRef((()=>u.lazy)),unmountLazy:e.toRef((()=>u.unmountLazy)),setOpenItem:e=>{r.value=e}}),(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(i),class:e.normalizeClass(["accordion",s.value])},[e.renderSlot(o.$slots,"default")],10,n))}}),u=["aria-expanded","aria-controls","onClick"],r=e.defineComponent({inheritAttrs:!1,__name:"BAccordionItem",props:e.mergeModels({bodyAttrs:{default:void 0},bodyClass:{default:void 0},buttonAttrs:{default:void 0},buttonClass:{default:void 0},collapseClass:{default:void 0},headerAttrs:{default:void 0},headerClass:{default:void 0},headerTag:{default:"h2"},horizontal:{type:Boolean,default:void 0},id:{default:void 0},isNav:{type:Boolean,default:void 0},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},tag:{default:void 0},title:{default:void 0},show:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented"],["update:modelValue"]),setup(n,{emit:d}){const r=e.useAttrs(),i=e.computed((()=>{const{class:e,...o}=r;return{wrapperClass:e,collapseAttrs:o}})),s=n,c=a.useDefaults(s,"BAccordionItem"),v=d,f=e.inject(o.accordionInjectionKey,null),p=l.useId((()=>c.id),"accordion_item"),m=e.useModel(n,"modelValue");return m.value=(null==f?void 0:f.openItem.value)===p.value&&!(null==f?void 0:f.initialAnimation.value),m.value&&!(null==f?void 0:f.free.value)&&(null==f||f.setOpenItem(p.value)),e.onMounted((()=>{m.value||(null==f?void 0:f.openItem.value)!==p.value||e.nextTick((()=>{m.value=!0}))})),e.watch((()=>null==f?void 0:f.openItem.value),(()=>m.value=(null==f?void 0:f.openItem.value)===p.value&&!(null==f?void 0:f.free.value))),e.watch(m,(()=>{m.value&&!(null==f?void 0:f.free.value)&&(null==f||f.setOpenItem(p.value))})),(o,l)=>{var a,n;return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"accordion-item"},e.unref(c).wrapperAttrs,{class:i.value.wrapperClass}),[e.createVNode(t._sfc_main,e.mergeProps({id:e.unref(p),modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=e=>m.value=e),class:["accordion-collapse",e.unref(c).collapseClass],"aria-labelledby":`${e.unref(p)}-heading`},i.value.collapseAttrs,{tag:e.unref(c).tag,show:e.unref(c).show,horizontal:e.unref(c).horizontal,visible:e.unref(c).visible,"is-nav":e.unref(c).isNav,lazy:e.unref(c).lazy||(null==(a=e.unref(f))?void 0:a.lazy.value),"unmount-lazy":e.unref(c).unmountLazy||(null==(n=e.unref(f))?void 0:n.unmountLazy.value),onShow:l[1]||(l[1]=e=>v("show",e)),onShown:l[2]||(l[2]=e=>v("shown",e)),onHide:l[3]||(l[3]=e=>v("hide",e)),onHidden:l[4]||(l[4]=e=>v("hidden",e)),onHidePrevented:l[5]||(l[5]=e=>v("hide-prevented",e)),onShowPrevented:l[6]||(l[6]=e=>v("show-prevented",e)),onTogglePrevented:l[7]||(l[7]=e=>v("toggle-prevented",e)),onToggle:l[8]||(l[8]=e=>v("toggle",e))}),{header:e.withCtx((({visible:l,toggle:a})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).headerTag),e.mergeProps({id:`${e.unref(p)}-heading`,class:["accordion-header",e.unref(c).headerClass]},e.unref(c).headerAttrs),{default:e.withCtx((()=>[e.createElementVNode("button",e.mergeProps({class:"accordion-button"},e.unref(c).buttonAttrs,{class:[{collapsed:!l},e.unref(c).buttonClass],type:"button","aria-expanded":l?"true":"false","aria-controls":e.unref(p),onClick:a}),[e.renderSlot(o.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).title),1)]))],16,u)])),_:2},1040,["id","class"]))])),default:e.withCtx((()=>[e.createElementVNode("div",e.mergeProps({class:"accordion-body"},e.unref(c).bodyAttrs,{class:e.unref(c).bodyClass}),[e.renderSlot(o.$slots,"default")],16)])),_:3},16,["id","modelValue","class","aria-labelledby","tag","show","horizontal","visible","is-nav","lazy","unmount-lazy"])],16)}}});exports._sfc_main=d,exports._sfc_main$1=r;
|
|
2
|
+
//# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-DOu2dnZz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-DOu2dnZz.js","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"processedAttrs.wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {showHideEmits} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst attrs = useAttrs()\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<showHideEmits>()\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 title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","modelValue","_useModel","computedId","useId","id","computedClasses","computed","flush","provide","accordionInjectionKey","openItem","readonly","free","toRef","initialAnimation","lazy","unmountLazy","setOpenItem","value","attrs","useAttrs","processedAttrs","class","wrapperClass","collapseAttrs","emit","__emit","parentData","inject","onMounted","nextTick","vue","watch"],"mappings":"sjBAaA,MAAMA,EAASC,EAcTC,EAAQC,EAAAA,YAAYH,EAAQ,cAE5BI,EAAaC,EAAAA,SAElBJ,EAAA,cAEKK,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,aAEnCC,EAAkBC,EAAAA,UAAS,KAAO,CACtC,kBAAmBR,EAAMS,iBAG3BC,EAAAA,QAAQC,EAAAA,sBAAuB,CAC7BC,SAAUC,WAASX,GACnBY,KAAMC,EAAAA,OAAM,IAAMf,EAAMc,OACxBE,iBAAkBD,EAAAA,OAAM,IAAMf,EAAMgB,mBACpCC,KAAMF,EAAAA,OAAM,IAAMf,EAAMiB,OACxBC,YAAaH,EAAAA,OAAM,IAAMf,EAAMkB,cAC/BC,YAAcb,IACZJ,EAAWkB,MAAQd,CAAA,8gCCmBjB,MAAAe,EAAQC,EAAAA,WACRC,EAAiBf,EAAAA,UAAS,KAC9B,MAAOgB,MAAOC,KAAiBC,GAAiBL,EACzC,MAAA,CAACI,eAAcC,gBAAa,IAG/B5B,EAASC,EAoBTC,EAAQC,EAAAA,YAAYH,EAAQ,kBAE5B6B,EAAOC,EASPC,EAAaC,EAAAA,OAAOnB,EAAAA,sBAAuB,MAE3CP,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,kBAEnCJ,EAAaC,EAAAA,SAElBJ,EAAA,qBAEUG,EAAAkB,aACTS,WAAYjB,SAASQ,SAAUhB,EAAWgB,eAAUS,WAAYb,iBAAiBI,OAE/ElB,EAAWkB,SAAU,MAAAS,OAAA,EAAAA,EAAYf,KAAKM,SAC5B,MAAAS,GAAAA,EAAAV,YAAYf,EAAWgB,QAGrCW,EAAAA,WAAU,KACH7B,EAAWkB,cAASS,WAAYjB,SAASQ,SAAUhB,EAAWgB,OACjEY,EAAAA,UAAS,KACP9B,EAAWkB,OAAQ,CAAA,GACpB,IAILa,EAAAC,OACE,UAAML,WAAYjB,SAASQ,QAC3B,IACGlB,EAAWkB,OAAoB,MAAZS,OAAY,EAAAA,EAAAjB,SAASQ,SAAUhB,EAAWgB,SAAU,MAAAS,OAAA,EAAAA,EAAYf,KAAKM,SAE7Fa,EAAAC,MAAMhC,GAAY,KACZA,EAAWkB,SAAU,MAAAS,OAAA,EAAAA,EAAYf,KAAKM,SAAO,MAAAS,GAAAA,EAAYV,YAAYf,EAAWgB,OAAA"}
|
|
@@ -2,7 +2,7 @@ import { defineComponent, mergeModels, useModel, computed, provide, toRef, reado
|
|
|
2
2
|
import { e as accordionInjectionKey } from "./keys-D3gOZjD-.mjs";
|
|
3
3
|
import { u as useId } from "./useId-BzCLXIGF.mjs";
|
|
4
4
|
import { u as useDefaults } from "./useDefaults-DANje4tM.mjs";
|
|
5
|
-
import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-
|
|
5
|
+
import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-Oh0Hx-Pq.mjs";
|
|
6
6
|
const _hoisted_1$1 = ["id"];
|
|
7
7
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "BAccordion",
|
|
@@ -176,4 +176,4 @@ export {
|
|
|
176
176
|
_sfc_main$1 as _,
|
|
177
177
|
_sfc_main as a
|
|
178
178
|
};
|
|
179
|
-
//# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-
|
|
179
|
+
//# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-DikdjUQR.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-DikdjUQR.mjs","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"processedAttrs.wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {showHideEmits} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst attrs = useAttrs()\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<showHideEmits>()\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 title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAM,SAAS;AAcT,UAAA,QAAQ,YAAY,QAAQ,YAAY;AAExC,UAAA,aAAaA,SAElB,SAAA,YAAA;AAED,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,WAAW;AAE9C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,mBAAmB,MAAM;AAAA,IAAA,EACzB;AAEF,YAAQ,uBAAuB;AAAA,MAC7B,UAAU,SAAS,UAAU;AAAA,MAC7B,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,kBAAkB,MAAM,MAAM,MAAM,gBAAgB;AAAA,MACpD,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,aAAa,MAAM,MAAM,MAAM,WAAW;AAAA,MAC1C,aAAa,CAAC,OAAe;AAC3B,mBAAW,QAAQ;AAAA,MAAA;AAAA,IACrB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiBD,UAAM,QAAQ,SAAS;AACjB,UAAA,iBAAiB,SAAS,MAAM;AACpC,YAAM,EAAC,OAAO,cAAc,GAAG,cAAiB,IAAA;AACzC,aAAA,EAAC,cAAc,cAAa;AAAA,IAAA,CACpC;AAED,UAAM,SAAS;AAoBT,UAAA,QAAQ,YAAY,QAAQ,gBAAgB;AAElD,UAAM,OAAO;AASP,UAAA,aAAa,OAAO,uBAAuB,IAAI;AAErD,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAEnD,UAAA,aAAaA,SAElB,SAAA,YAAA;AAEU,eAAA,SACT,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,iBAAiB;AAEnF,QAAI,WAAW,SAAS,EAAC,yCAAY,KAAK,QAAO;AACnC,+CAAA,YAAY,WAAW;AAAA,IAAK;AAG1C,cAAU,MAAM;AACd,UAAI,CAAC,WAAW,UAAS,yCAAY,SAAS,WAAU,WAAW,OAAO;AACxE,iBAAS,MAAM;AACb,qBAAW,QAAQ;AAAA,QAAA,CACpB;AAAA,MAAA;AAAA,IACH,CACD;AAED;AAAA,MACE,MAAM,yCAAY,SAAS;AAAA,MAC3B,MACG,WAAW,SAAQ,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,KAAK;AAAA,IAC7F;AACA,UAAM,YAAY,MAAM;AAClB,UAAA,WAAW,SAAS,EAAC,yCAAY,KAAK,OAAO,0CAAY,YAAY,WAAW;AAAA,IAAK,CAC1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DSvkONKu.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-DSvkONKu.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-DK2_8hwa.js"),l=require("./useCountdownHover-Df7NzMHG.js"),a=require("./useDefaults-_waRUo1X.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-D8vdFXxm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-
|
|
1
|
+
{"version":3,"file":"BAlert-D8vdFXxm.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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, createBlock, openBlock, Transition, mergeProps, unref, withCtx, createElementBlock, createCommentVNode, normalizeClass, renderSlot, Fragment, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import { _ as _sfc_main$2 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-Dh0Odbqa.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-dqqfI3P6.mjs";
|
|
4
4
|
import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-BZ6NmVEL.mjs";
|
|
5
5
|
import { u as useDefaults } from "./useDefaults-DANje4tM.mjs";
|
|
6
6
|
import { i as isEmptySlot } from "./dom-BK2w00Ec.mjs";
|
|
@@ -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-y6SLZbhN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-
|
|
1
|
+
{"version":3,"file":"BAlert-y6SLZbhN.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,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, ref, watch, useSlots, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, createCommentVNode, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, provide, toRef } from "vue";
|
|
2
2
|
import { f as avatarGroupInjectionKey } from "./keys-D3gOZjD-.mjs";
|
|
3
|
-
import { u as useBLinkHelper, _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { u as useBLinkHelper, _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-Dypfmmzs.mjs";
|
|
4
|
+
import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DQzbqAgV.mjs";
|
|
5
5
|
import { i as isEmptySlot } from "./dom-BK2w00Ec.mjs";
|
|
6
6
|
import { u as useNumberishToStyle } from "./useNumberishToStyle-yYj2DkI2.mjs";
|
|
7
7
|
import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
|
|
@@ -282,4 +282,4 @@ export {
|
|
|
282
282
|
_sfc_main$1 as _,
|
|
283
283
|
_sfc_main as a
|
|
284
284
|
};
|
|
285
|
-
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-
|
|
285
|
+
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-BCPqhvOP.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-D-cQG3Nv.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":";;;;;;;;;;;;;;;;;;;;;;;AAiJA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAlFxB,UAAM,QAAQ;AAkDR,UAAA,WAAW,IAAI,MAAM,GAAG;AAC9B;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,UAAU;AACT,iBAAS,QAAQ;AAAA,MAAA;AAAA,IAErB;AAEA,UAAM,OAAO;AAKb,UAAM,QAAQA,SAAA;AAOd,UAAM,EAAC,cAAc,sBAAqB,eAAe,KAAK;AAExD,UAAA,aAAa,OAAO,yBAAyB,IAAI;AAEjD,UAAA,QAAQ,OAAO,OAAO;AAAA,MAC1B;AAAA,MACA,GAAG,OAAO,KAAK;AAAA,QACb,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACwB,CAAA;AAAA,IAAA,CACV;AAEtB,UAAM,wBAAwB,kBAAkB;AAEhD,UAAM,iBAAiB,SAAS,MAAM,CAAC,YAAY,MAAM,OAAO,CAAC;AACjE,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAEvD,UAAA,YAAY,SAAS,MAAM,CAAC,CAAC,MAAM,SAAS,MAAM,UAAU,MAAM,aAAa,KAAK;AAC1F,UAAM,iBAAiB,SAAS,OAAM,yCAAY,OAAO,UAAS,MAAM,MAAM;AAS9E,UAAM,eAAe,oBAAoB,OAAM,yCAAY,KAAK,UAAS,MAAM,IAAI;AACnF,UAAM,4BAA4B;AAAA,MAChC,MAAM,CAAC,CAAC,aAAa,SAAS,MAAM,SAAS,aAAa,KAAK;AAAA,IACjE;AAEA,UAAM,kBAAkB,SAAS,OAAM,yCAAY,QAAQ,UAAS,MAAM,OAAO;AACjF,UAAM,kBAAkB,SAAS,OAAM,yCAAY,QAAQ,UAAS,MAAM,OAAO;AACjF,UAAM,qBAAqB,SAAS,OAAM,yCAAY,WAAW,UAAS,MAAM,UAAU;AAC1F,UAAM,wBAAwB,SAAS,OAAM,yCAAY,cAAc,UAAS,MAAM,aAAa;AACnG,UAAM,uBAAuB,SAAS,OAAM,yCAAY,aAAa,UAAS,MAAM,YAAY;AAChG,UAAM,qBAAqB,SAAS,OAAM,yCAAY,WAAW,UAAS,MAAM,UAAU;AAEpF,UAAA,uBAAuB,wBAAwB,OAAO;AAAA,MAC1D,SAAS,gBAAgB;AAAA,MACzB,YAAY,mBAAmB;AAAA,MAC/B,eAAe,sBAAsB;AAAA,MACrC,cAAc,qBAAqB;AAAA,MACnC,YAAY,mBAAmB;AAAA,IAAA,EAC/B;AAEI,UAAA,YAAY,SAAS,MAAO,MAAM,UAAU,OAAO,KAAK,MAAM,KAAM;AACpE,UAAA,qBAAqB,SAAS,MAAM,CAAC,UAAU,SAAS,CAAC,aAAa,KAAK;AAE3E,UAAA,eAAe,uBAAuB,OAAO;AAAA,MACjD,YAAW,yCAAY,UAAU,UAAS,MAAM;AAAA,MAChD,cAAa,yCAAY,YAAY,UAAS,MAAM;AAAA,MACpD,SAAS,gBAAgB;AAAA,IAAA,EACzB;AACI,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA;AAAA,MAEb,eAAe,UAAU,OAAO,SAAY,qBAAqB;AAAA,MACjE;AAAA,QACE,CAAC,YAAY,aAAa,KAAK,EAAE,GAC/B,0BAA0B,SAAS,aAAa,UAAU;AAAA,QAC5D,CAAC,OAAO,gBAAgB,KAAK,EAAE,GAAG,MAAM,SAAS,gBAAgB,UAAU,OAAO;AAAA,QAClF,SAAS,CAAC,MAAM,UAAU,gBAAgB,UAAU,QAAQ,eAAe;AAAA,QAC3E,OAAO,MAAM;AAAA;AAAA,QAEb,aAAa,eAAe,UAAU;AAAA,MAAA;AAAA,IACxC,CACD;AAEK,UAAA,aAAa,SAAqB,OAAO;AAAA,MAC7C,WACG,CAAC,0BAA0B,QACxB,QAAQ,aAAa,KAAK,MAAM,qBAAqB,MACrD,OAAO;AAAA,IAAA,EACb;AAEI,UAAA,gBAAgB,SAAqB,MAAM;AACzC,YAAA,WAAW,CAAC,0BAA0B,QACxC,QAAQ,aAAa,KAAK,MAAM,eAAe,MAC/C;AACJ,aAAO,WAAW,EAAC,SAAQ,IAAI,CAAC;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,SAAS,MAAM;;AAC3B,YAAA,iBAAe,8CAAY,iBAAZ,mBAA0B,UAAS;AAElD,YAAA,QACJ,aAAa,SAAS,eAAe,QAAQ,aAAa,KAAK,OAAO,YAAY,MAAM;AAC1F,aAAO,QAAQ,EAAC,YAAY,OAAO,aAAa,MAAA,IAAS,CAAC;AAAA,IAAA,CAC3D;AAEK,UAAA,cAAc,SAAS,MAAO,aAAa,QAAQC,cAAQ,MAAM,SAAS,WAAW,MAAO;AAE5F,UAAA,gBAAgB,SAAwB,OAAO;AAAA,MACnD,GAAG,YAAY;AAAA,MACf,GAAI,CAAC,0BAA0B,QAC3B;AAAA,QACE,OAAO,aAAa;AAAA,QACpB,QAAQ,aAAa;AAAA,MAAA,IAEvB;AAAA,IAAA,EACJ;AAEI,UAAA,UAAU,CAAC,MAAkC;AAC7C,UAAA,CAAC,MAAM,aAAa,aAAa,SAAS,MAAM,QAAc,MAAA,SAAS,CAAC;AAAA,IAC9E;AAEM,UAAA,aAAa,CAAC,MAAuB;AACzC,eAAS,QAAQ;AACjB,WAAK,aAAa,CAAC;AAAA,IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrOA,UAAM,SAAS;AAkBT,UAAA,QAAQ,YAAY,QAAQ,cAAc;AAOhD,UAAM,gBAAgB,YAAY,MAAM,MAAM,OAAO;AAErD,UAAM,eAAe,oBAAoB,MAAM,MAAM,IAAI;AACzD,UAAM,eAAe,SAAS,MAAM,KAAK,IAAI,KAAK,IAAI,cAAc,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAE/E,UAAA,eAAe,SAAqB,MAAM;AACxC,YAAA,QAAQ,aAAa,QAAQ,QAAQ,aAAa,KAAK,MAAM,aAAa,KAAK,MAAM;AAC3F,aAAO,QAAQ,EAAC,aAAa,OAAO,cAAc,MAAA,IAAS,CAAC;AAAA,IAAA,CAC7D;AAED,YAAQ,yBAAyB;AAAA,MAC/B;AAAA,MACA,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,QAAQ,MAAM,MAAM,MAAM,MAAM;AAAA,MAChC,SAAS,MAAM,MAAM,MAAM,OAAO;AAAA,MAClC,YAAY,MAAM,MAAM,MAAM,UAAU;AAAA,MACxC,eAAe,MAAM,MAAM,MAAM,aAAa;AAAA,MAC9C,cAAc,MAAM,MAAM,MAAM,YAAY;AAAA,MAC5C,YAAY,MAAM,MAAM,MAAM,UAAU;AAAA,MACxC,SAAS,MAAM,MAAM,MAAM,OAAO;AAAA,MAClC,WAAW,MAAM,MAAM,MAAM,SAAS;AAAA,MACtC,aAAa,MAAM,MAAM,MAAM,WAAW;AAAA,IAAA,CAC3C;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-BCPqhvOP.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,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./keys-C2BcfuxJ.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./keys-C2BcfuxJ.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-BIG-3kpw.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-zmbnlqp1.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-_waRUo1X.js"),i=require("./index-D8BEsrjv.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))),x=e.computed((()=>!o.isEmptySlot(g.badge))),_=e.computed((()=>!!m.badge||""===m.badge||x.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&&!x.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)]))),_.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-BeKAnrjT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-kogB8hM6.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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"}
|
|
1
|
+
{"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-BeKAnrjT.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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from "vue";
|
|
2
|
-
import { u as useBLinkHelper, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { u as useBLinkHelper, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-Dypfmmzs.mjs";
|
|
3
3
|
import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
|
|
4
4
|
import { u as useDefaults } from "./useDefaults-DANje4tM.mjs";
|
|
5
5
|
import { _ as _sfc_main$2 } from "./ConditionalWrapper.vue_vue_type_script_lang-CUX3HBqw.mjs";
|
|
@@ -114,4 +114,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
114
114
|
export {
|
|
115
115
|
_sfc_main as _
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-
|
|
117
|
+
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DQzbqAgV.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-DQzbqAgV.mjs","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,SAAS;AAkCT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,cAAc,SAAS,MAAO,aAAa,QAAQA,cAAQ,MAAM,GAAI;AAErE,UAAA,mBAAmB,SAAS,MAAM;AAEtC,YAAM,MAAM,MAAM,cAAc,MAAM,eAAe,YAAY;AAC1D,aAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,QAAQ;AAAA,UACzB,kBAAkB,QAAQ;AAAA,UAC1B,mBAAmB,QAAQ;AAAA,UAC3B,kBAAkB,QAAQ;AAAA,UAC1B,oBAAoB,QAAQ;AAAA,UAC5B,mBAAmB,QAAQ;AAAA,UAC3B,oBAAoB,QAAQ;AAAA,UAC5B,qBAAqB,QAAQ;AAAA,QAAA;AAAA,MAEjC;AAAA,IAAA,CACD;AAEK,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,MAAM,cAAc,UAAa,MAAM,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,MACxF;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,YAAY,MAAM;AAAA,QAClB,gBAAgB,MAAM;AAAA,QACtB,0CAA0C,MAAM;AAAA,QAChD,wBAAwB,aAAa;AAAA,MAAA;AAAA,IACvC,CACD;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("./BLink.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";const e=require("vue"),t=require("./BLink.vue_vue_type_script_setup_true_lang-BIG-3kpw.js"),a=require("./useColorVariantClasses-CE658Sm0.js"),o=require("./useDefaults-_waRUo1X.js"),d=require("./ConditionalWrapper.vue_vue_type_script_lang-Du33jXia.js"),l=e.defineComponent({__name:"BBadge",props:{dotIndicator:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},placement:{default:void 0},tag:{default:"span"},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},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:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null}},setup(l){const r=l,n=o.useDefaults(r,"BBadge"),{computedLink:i,computedLinkProps:u}=t.useBLinkHelper(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]),s=e.computed((()=>i.value?t._sfc_main:n.tag)),p=e.computed((()=>{const e=n.placement??(n.dotIndicator?"top-end":void 0);return["position-absolute","translate-middle",{"start-0 top-0":"top-start"===e,"start-0 top-50":"start"===e,"start-0 top-100":"bottom-start"===e,"start-50 top-0":"top"===e,"start-50 top-100":"bottom"===e,"start-100 top-0":"top-end"===e,"start-100 top-50":"end"===e,"start-100 top-100":"bottom-end"===e}]})),c=a.useColorVariantClasses(n),f=e.computed((()=>[c.value,void 0!==n.placement||!0===n.dotIndicator?p.value:void 0,{active:n.active,disabled:n.disabled,"rounded-pill":n.pill,"p-2 border border-light rounded-circle":n.dotIndicator,"text-decoration-none":i.value}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({class:["badge",f.value]},e.unref(u)),{default:e.withCtx((()=>[e.createVNode(d._sfc_main,e.mergeProps({skip:!0!==e.unref(n).dotIndicator,tag:"span"},e.unref(n).dotIndicator?{class:"visually-hidden"}:{}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["skip"])])),_:3},16,["class"]))}});exports._sfc_main=l;
|
|
2
|
+
//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-zmbnlqp1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-zmbnlqp1.js","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["_props","__props","props","useDefaults","computedLink","computedLinkProps","useBLinkHelper","computedTag","computed","value","BLink","_sfc_main","tag","placementClasses","pos","placement","dotIndicator","colorClasses","useColorVariantClasses","computedClasses","active","disabled","pill"],"mappings":"4sCA0BA,MAAMA,EAASC,EAkCTC,EAAQC,EAAAA,YAAYH,EAAQ,WAE5BI,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeJ,EAAO,CAC9D,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAGIK,EAAcC,EAAAA,UAAS,IAAOJ,EAAaK,MAAQC,EAAAC,UAAQT,EAAMU,MAEjEC,EAAmBL,EAAAA,UAAS,KAEhC,MAAMM,EAAMZ,EAAMa,YAAcb,EAAMc,aAAe,eAAY,GAC1D,MAAA,CACL,oBACA,mBACA,CACE,gBAAyB,cAARF,EACjB,iBAA0B,UAARA,EAClB,kBAA2B,iBAARA,EACnB,iBAA0B,QAARA,EAClB,mBAA4B,WAARA,EACpB,kBAA2B,YAARA,EACnB,mBAA4B,QAARA,EACpB,oBAA6B,eAARA,GAEzB,IAGIG,EAAeC,yBAAuBhB,GACtCiB,EAAkBX,EAAAA,UAAS,IAAM,CACrCS,EAAaR,WACO,IAApBP,EAAMa,YAAkD,IAAvBb,EAAMc,aAAwBH,EAAiBJ,WAAQ,EACxF,CACEW,OAAUlB,EAAMkB,OAChBC,SAAYnB,EAAMmB,SAClB,eAAgBnB,EAAMoB,KACtB,yCAA0CpB,EAAMc,aAChD,uBAAwBZ,EAAaK"}
|