bootstrap-vue-next 0.25.12 → 0.25.14

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.
Files changed (217) hide show
  1. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js → BAccordionItem.vue_vue_type_script_setup_true_lang-1GDL3vr-.js} +2 -2
  2. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js.map → BAccordionItem.vue_vue_type_script_setup_true_lang-1GDL3vr-.js.map} +1 -1
  3. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-CoqPu-3M.mjs → BAccordionItem.vue_vue_type_script_setup_true_lang-DZBo9eMJ.mjs} +2 -2
  4. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-CoqPu-3M.mjs.map → BAccordionItem.vue_vue_type_script_setup_true_lang-DZBo9eMJ.mjs.map} +1 -1
  5. package/dist/{BAlert-P_IB7iko.js → BAlert-DsaBZc23.js} +2 -2
  6. package/dist/{BAlert-P_IB7iko.js.map → BAlert-DsaBZc23.js.map} +1 -1
  7. package/dist/{BAlert-DRD6Q3cQ.mjs → BAlert-yDDvNnHT.mjs} +3 -3
  8. package/dist/{BAlert-DRD6Q3cQ.mjs.map → BAlert-yDDvNnHT.mjs.map} +1 -1
  9. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-U1HdwmLV.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-Dk7uwBEF.mjs} +3 -3
  10. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-U1HdwmLV.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-Dk7uwBEF.mjs.map} +1 -1
  11. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-kYztrVvA.js} +2 -2
  12. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-kYztrVvA.js.map} +1 -1
  13. package/dist/{BButton.vue_vue_type_script_setup_true_lang-BdSl6KfQ.mjs → BButton.vue_vue_type_script_setup_true_lang-BgQ4EhEV.mjs} +2 -2
  14. package/dist/{BButton.vue_vue_type_script_setup_true_lang-BdSl6KfQ.mjs.map → BButton.vue_vue_type_script_setup_true_lang-BgQ4EhEV.mjs.map} +1 -1
  15. package/dist/{BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js → BButton.vue_vue_type_script_setup_true_lang-CE6qvsTI.js} +2 -2
  16. package/dist/{BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js.map → BButton.vue_vue_type_script_setup_true_lang-CE6qvsTI.js.map} +1 -1
  17. package/dist/{BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js → BCard.vue_vue_type_script_setup_true_lang-BqdbfWMb.js} +2 -2
  18. package/dist/{BCard.vue_vue_type_script_setup_true_lang-DLDdxVe_.js.map → BCard.vue_vue_type_script_setup_true_lang-BqdbfWMb.js.map} +1 -1
  19. package/dist/{BCard.vue_vue_type_script_setup_true_lang-CX1FMcek.mjs → BCard.vue_vue_type_script_setup_true_lang-D6Igu7rn.mjs} +2 -2
  20. package/dist/{BCard.vue_vue_type_script_setup_true_lang-CX1FMcek.mjs.map → BCard.vue_vue_type_script_setup_true_lang-D6Igu7rn.mjs.map} +1 -1
  21. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DOIhFGe-.mjs → BCarouselSlide.vue_vue_type_script_setup_true_lang-39Cf6kIO.mjs} +2 -2
  22. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DOIhFGe-.mjs.map → BCarouselSlide.vue_vue_type_script_setup_true_lang-39Cf6kIO.mjs.map} +1 -1
  23. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js → BCarouselSlide.vue_vue_type_script_setup_true_lang-DfPYIRXv.js} +2 -2
  24. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-DcmVPeu1.js.map → BCarouselSlide.vue_vue_type_script_setup_true_lang-DfPYIRXv.js.map} +1 -1
  25. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js → BCollapse.vue_vue_type_script_setup_true_lang-Bga8wCsA.js} +2 -2
  26. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js.map → BCollapse.vue_vue_type_script_setup_true_lang-Bga8wCsA.js.map} +1 -1
  27. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-DvEpGRxZ.mjs → BCollapse.vue_vue_type_script_setup_true_lang-DziCIQzt.mjs} +2 -2
  28. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-DvEpGRxZ.mjs.map → BCollapse.vue_vue_type_script_setup_true_lang-DziCIQzt.mjs.map} +1 -1
  29. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js → BDropdown.vue_vue_type_script_setup_true_lang-BK6sfMpo.js} +2 -2
  30. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-Dx8FFIw7.js.map → BDropdown.vue_vue_type_script_setup_true_lang-BK6sfMpo.js.map} +1 -1
  31. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-LMav8a4R.mjs → BDropdown.vue_vue_type_script_setup_true_lang-mWmBPkge.mjs} +3 -3
  32. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-LMav8a4R.mjs.map → BDropdown.vue_vue_type_script_setup_true_lang-mWmBPkge.mjs.map} +1 -1
  33. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BFw7wsON.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BA2cj9wB.mjs} +2 -2
  34. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BFw7wsON.mjs.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BA2cj9wB.mjs.map} +1 -1
  35. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-lwqv-dPO.js} +2 -2
  36. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DJVinNIW.js.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-lwqv-dPO.js.map} +1 -1
  37. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-B7usYuIr.mjs → BFormFile.vue_vue_type_script_setup_true_lang-DDxHDir8.mjs} +2 -2
  38. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-B7usYuIr.mjs.map → BFormFile.vue_vue_type_script_setup_true_lang-DDxHDir8.mjs.map} +1 -1
  39. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js → BFormFile.vue_vue_type_script_setup_true_lang-DYYWAUc6.js} +2 -2
  40. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-FZxJ49mp.js.map → BFormFile.vue_vue_type_script_setup_true_lang-DYYWAUc6.js.map} +1 -1
  41. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-B_p2tnRu.mjs} +3 -3
  42. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-DMeTU5tW.mjs.map → BFormGroup.vue_vue_type_script_setup_true_lang-B_p2tnRu.mjs.map} +1 -1
  43. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js → BFormGroup.vue_vue_type_script_setup_true_lang-DbAwJrFq.js} +2 -2
  44. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-DAyEVpcH.js.map → BFormGroup.vue_vue_type_script_setup_true_lang-DbAwJrFq.js.map} +1 -1
  45. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-C8NbWP6Y.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CCGwc1k7.mjs} +2 -2
  46. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-C8NbWP6Y.mjs.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CCGwc1k7.mjs.map} +1 -1
  47. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CjJvVSl0.js} +2 -2
  48. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-CIidoofY.js.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-CjJvVSl0.js.map} +1 -1
  49. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DiJQOhXx.js +2 -0
  50. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DiJQOhXx.js.map +1 -0
  51. package/dist/{BFormSpinbutton.vue_vue_type_script_setup_true_lang-BIJdbkPq.mjs → BFormSpinbutton.vue_vue_type_script_setup_true_lang-pqUxFkZ9.mjs} +7 -11
  52. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-pqUxFkZ9.mjs.map +1 -0
  53. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DklJQim4.mjs → BFormTags.vue_vue_type_script_setup_true_lang-CsJfx9iR.mjs} +2 -2
  54. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DklJQim4.mjs.map → BFormTags.vue_vue_type_script_setup_true_lang-CsJfx9iR.mjs.map} +1 -1
  55. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js → BFormTags.vue_vue_type_script_setup_true_lang-Cxf_qFud.js} +2 -2
  56. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DrB8VO9P.js.map → BFormTags.vue_vue_type_script_setup_true_lang-Cxf_qFud.js.map} +1 -1
  57. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-DkM0TiJF.mjs → BFormTextarea.vue_vue_type_script_setup_true_lang-BIngbcIZ.mjs} +2 -2
  58. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-DkM0TiJF.mjs.map → BFormTextarea.vue_vue_type_script_setup_true_lang-BIngbcIZ.mjs.map} +1 -1
  59. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js → BFormTextarea.vue_vue_type_script_setup_true_lang-CFqs_8vM.js} +2 -2
  60. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-B5Sf8cOv.js.map → BFormTextarea.vue_vue_type_script_setup_true_lang-CFqs_8vM.js.map} +1 -1
  61. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-Bf-q22fr.js} +2 -2
  62. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BzRcyiEp.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-Bf-q22fr.js.map} +1 -1
  63. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-8xWoSTM5.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DsYuMQQT.mjs} +3 -3
  64. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-8xWoSTM5.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DsYuMQQT.mjs.map} +1 -1
  65. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js → BNavText.vue_vue_type_script_setup_true_lang-45b75T3m.js} +2 -2
  66. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-4wrL1sjB.js.map → BNavText.vue_vue_type_script_setup_true_lang-45b75T3m.js.map} +1 -1
  67. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-BtimVYIK.mjs → BNavText.vue_vue_type_script_setup_true_lang-6nJpTPZR.mjs} +2 -2
  68. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-BtimVYIK.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-6nJpTPZR.mjs.map} +1 -1
  69. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js → BOffcanvas.vue_vue_type_script_setup_true_lang-CH7wXgc6.js} +2 -2
  70. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-BpZ1A9Zx.js.map → BOffcanvas.vue_vue_type_script_setup_true_lang-CH7wXgc6.js.map} +1 -1
  71. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-BoWlBnwp.mjs → BOffcanvas.vue_vue_type_script_setup_true_lang-DtrKwIGF.mjs} +3 -3
  72. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-BoWlBnwp.mjs.map → BOffcanvas.vue_vue_type_script_setup_true_lang-DtrKwIGF.mjs.map} +1 -1
  73. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-ChDZt_kU.mjs → BOverlay.vue_vue_type_script_setup_true_lang-3PUR2l0W.mjs} +2 -2
  74. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-ChDZt_kU.mjs.map → BOverlay.vue_vue_type_script_setup_true_lang-3PUR2l0W.mjs.map} +1 -1
  75. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js → BOverlay.vue_vue_type_script_setup_true_lang-BLTGSt-A.js} +2 -2
  76. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-DCLwhRri.js.map → BOverlay.vue_vue_type_script_setup_true_lang-BLTGSt-A.js.map} +1 -1
  77. package/dist/BPagination.vue_vue_type_script_setup_true_lang-B2Tvdu2E.js +2 -0
  78. package/dist/BPagination.vue_vue_type_script_setup_true_lang-B2Tvdu2E.js.map +1 -0
  79. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-zRHVG-iF.mjs → BPagination.vue_vue_type_script_setup_true_lang-DoVfW7WP.mjs} +72 -5
  80. package/dist/BPagination.vue_vue_type_script_setup_true_lang-DoVfW7WP.mjs.map +1 -0
  81. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BJIut_Nq.js} +2 -2
  82. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C50GIwEd.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BJIut_Nq.js.map} +1 -1
  83. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzToaZ06.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CNo1PNed.mjs} +3 -3
  84. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzToaZ06.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CNo1PNed.mjs.map} +1 -1
  85. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DT9DiFfu.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-8w3ayAzi.mjs} +3 -3
  86. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DT9DiFfu.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-8w3ayAzi.mjs.map} +1 -1
  87. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-C7jYzuKr.js} +2 -2
  88. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CS3Vqld3.js.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-C7jYzuKr.js.map} +1 -1
  89. package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs → BSpinner.vue_vue_type_script_setup_true_lang-BW4_VLJ-.mjs} +2 -2
  90. package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs.map → BSpinner.vue_vue_type_script_setup_true_lang-BW4_VLJ-.mjs.map} +1 -1
  91. package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js → BSpinner.vue_vue_type_script_setup_true_lang-BzFbYl8A.js} +2 -2
  92. package/dist/{BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js.map → BSpinner.vue_vue_type_script_setup_true_lang-BzFbYl8A.js.map} +1 -1
  93. package/dist/{BTable.vue_vue_type_script_setup_true_lang-CumrgwnT.mjs → BTable.vue_vue_type_script_setup_true_lang-BwXXQkuD.mjs} +25 -11
  94. package/dist/BTable.vue_vue_type_script_setup_true_lang-BwXXQkuD.mjs.map +1 -0
  95. package/dist/BTable.vue_vue_type_script_setup_true_lang-DbNxRszM.js +2 -0
  96. package/dist/BTable.vue_vue_type_script_setup_true_lang-DbNxRszM.js.map +1 -0
  97. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs → BTableSimple.vue_vue_type_script_setup_true_lang-Blac9Rkj.mjs} +2 -2
  98. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-BHwMXn1g.mjs.map → BTableSimple.vue_vue_type_script_setup_true_lang-Blac9Rkj.mjs.map} +1 -1
  99. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js → BTableSimple.vue_vue_type_script_setup_true_lang-CsCw-o1p.js} +2 -2
  100. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-ph_fYlOS.js.map → BTableSimple.vue_vue_type_script_setup_true_lang-CsCw-o1p.js.map} +1 -1
  101. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Do0IxGJx.mjs → BTooltip.vue_vue_type_script_setup_true_lang-DcUaQLqI.mjs} +2 -2
  102. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Do0IxGJx.mjs.map → BTooltip.vue_vue_type_script_setup_true_lang-DcUaQLqI.mjs.map} +1 -1
  103. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js → BTooltip.vue_vue_type_script_setup_true_lang-SdkF0ejt.js} +2 -2
  104. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-o2dcBqfI.js.map → BTooltip.vue_vue_type_script_setup_true_lang-SdkF0ejt.js.map} +1 -1
  105. package/dist/bootstrap-vue-next.mjs +28 -28
  106. package/dist/bootstrap-vue-next.umd.js +1 -1
  107. package/dist/constants-B1zBgSOo.js +2 -0
  108. package/dist/constants-B1zBgSOo.js.map +1 -0
  109. package/dist/{constants-BdrZaBP8.mjs → constants-DY6pmjuU.mjs} +20 -16
  110. package/dist/constants-DY6pmjuU.mjs.map +1 -0
  111. package/dist/{dom-B-SQyhbA.mjs → dom-BUCypNEC.mjs} +8 -7
  112. package/dist/dom-BUCypNEC.mjs.map +1 -0
  113. package/dist/dom-BUc9qVuq.js +2 -0
  114. package/dist/dom-BUc9qVuq.js.map +1 -0
  115. package/dist/event-BvfSGhL-.js +2 -0
  116. package/dist/{event-DqyBZX_g.js.map → event-BvfSGhL-.js.map} +1 -1
  117. package/dist/{event-aFP-C_yt.mjs → event-D6prph0u.mjs} +14 -2
  118. package/dist/{event-aFP-C_yt.mjs.map → event-D6prph0u.mjs.map} +1 -1
  119. package/dist/{floatingUi-B76xsVek.mjs → floatingUi-DcPjNG-o.mjs} +3 -3
  120. package/dist/{floatingUi-B76xsVek.mjs.map → floatingUi-DcPjNG-o.mjs.map} +1 -1
  121. package/dist/{floatingUi-D2izbGt_.js → floatingUi-sheKfMg1.js} +2 -2
  122. package/dist/{floatingUi-D2izbGt_.js.map → floatingUi-sheKfMg1.js.map} +1 -1
  123. package/dist/{index-C9vrUZ8E.js → index-6nssT6qa.js} +2 -2
  124. package/dist/index-6nssT6qa.js.map +1 -0
  125. package/dist/{index-D7kcZVUN.mjs → index-gCR_nToH.mjs} +28 -28
  126. package/dist/{index-D7kcZVUN.mjs.map → index-gCR_nToH.mjs.map} +1 -1
  127. package/dist/src/components/BAccordion/index.mjs +1 -1
  128. package/dist/src/components/BAccordion/index.umd.js +1 -1
  129. package/dist/src/components/BAlert/index.mjs +1 -1
  130. package/dist/src/components/BAlert/index.umd.js +1 -1
  131. package/dist/src/components/BAvatar/index.mjs +1 -1
  132. package/dist/src/components/BAvatar/index.umd.js +1 -1
  133. package/dist/src/components/BButton/index.mjs +1 -1
  134. package/dist/src/components/BButton/index.umd.js +1 -1
  135. package/dist/src/components/BCard/index.mjs +1 -1
  136. package/dist/src/components/BCard/index.umd.js +1 -1
  137. package/dist/src/components/BCarousel/index.mjs +1 -1
  138. package/dist/src/components/BCarousel/index.umd.js +1 -1
  139. package/dist/src/components/BCollapse/index.mjs +1 -1
  140. package/dist/src/components/BCollapse/index.umd.js +1 -1
  141. package/dist/src/components/BDropdown/index.mjs +1 -1
  142. package/dist/src/components/BDropdown/index.umd.js +1 -1
  143. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  144. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  145. package/dist/src/components/BFormFile/index.mjs +1 -1
  146. package/dist/src/components/BFormFile/index.umd.js +1 -1
  147. package/dist/src/components/BFormGroup/index.mjs +1 -1
  148. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  149. package/dist/src/components/BFormRadio/index.mjs +1 -1
  150. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  151. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  152. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  153. package/dist/src/components/BFormTags/index.mjs +1 -1
  154. package/dist/src/components/BFormTags/index.umd.js +1 -1
  155. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  156. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  157. package/dist/src/components/BModal/index.mjs +1 -1
  158. package/dist/src/components/BModal/index.umd.js +1 -1
  159. package/dist/src/components/BNav/index.mjs +1 -1
  160. package/dist/src/components/BNav/index.umd.js +1 -1
  161. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  162. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  163. package/dist/src/components/BOverlay/index.mjs +1 -1
  164. package/dist/src/components/BOverlay/index.umd.js +1 -1
  165. package/dist/src/components/BPagination/index.mjs +1 -1
  166. package/dist/src/components/BPagination/index.umd.js +1 -1
  167. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  168. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  169. package/dist/src/components/BPopover/index.mjs +2 -2
  170. package/dist/src/components/BPopover/index.umd.js +1 -1
  171. package/dist/src/components/BSpinner/index.mjs +1 -1
  172. package/dist/src/components/BSpinner/index.umd.js +1 -1
  173. package/dist/src/components/BTable/index.mjs +2 -2
  174. package/dist/src/components/BTable/index.umd.js +1 -1
  175. package/dist/src/components/BTooltip/index.mjs +1 -1
  176. package/dist/src/components/BTooltip/index.umd.js +1 -1
  177. package/dist/src/components/index.mjs +27 -27
  178. package/dist/src/components/index.umd.js +1 -1
  179. package/dist/src/directives/BPopover/index.mjs +1 -1
  180. package/dist/src/directives/BPopover/index.umd.js +1 -1
  181. package/dist/src/directives/BToggle/index.mjs +1 -1
  182. package/dist/src/directives/BToggle/index.umd.js +1 -1
  183. package/dist/src/directives/BTooltip/index.mjs +1 -1
  184. package/dist/src/directives/BTooltip/index.umd.js +1 -1
  185. package/dist/src/utils/constants.d.mts +2 -2
  186. package/dist/src/utils/constants.d.ts +2 -2
  187. package/dist/src/utils/dom.d.mts +1 -0
  188. package/dist/src/utils/dom.d.ts +1 -0
  189. package/dist/src/utils/event.d.mts +5 -0
  190. package/dist/src/utils/event.d.ts +5 -0
  191. package/dist/{stringUtils-i6NkPGA1.mjs → stringUtils-BCx12BQM.mjs} +2 -2
  192. package/dist/{stringUtils-i6NkPGA1.mjs.map → stringUtils-BCx12BQM.mjs.map} +1 -1
  193. package/dist/{stringUtils-D2ajpVM0.js → stringUtils-DWyEJm3G.js} +2 -2
  194. package/dist/{stringUtils-D2ajpVM0.js.map → stringUtils-DWyEJm3G.js.map} +1 -1
  195. package/dist/{useNumberishToStyle-BWrWARZP.mjs → useNumberishToStyle-BaHH1FuW.mjs} +2 -2
  196. package/dist/{useNumberishToStyle-BWrWARZP.mjs.map → useNumberishToStyle-BaHH1FuW.mjs.map} +1 -1
  197. package/dist/useNumberishToStyle-CKSSKRiz.js +2 -0
  198. package/dist/{useNumberishToStyle-CUqOYwz3.js.map → useNumberishToStyle-CKSSKRiz.js.map} +1 -1
  199. package/package.json +1 -1
  200. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BIJdbkPq.mjs.map +0 -1
  201. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js +0 -2
  202. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-_-HbboVN.js.map +0 -1
  203. package/dist/BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js +0 -2
  204. package/dist/BPagination.vue_vue_type_script_setup_true_lang-DLW4Bi3B.js.map +0 -1
  205. package/dist/BPagination.vue_vue_type_script_setup_true_lang-zRHVG-iF.mjs.map +0 -1
  206. package/dist/BTable.vue_vue_type_script_setup_true_lang-BgBZgKGz.js +0 -2
  207. package/dist/BTable.vue_vue_type_script_setup_true_lang-BgBZgKGz.js.map +0 -1
  208. package/dist/BTable.vue_vue_type_script_setup_true_lang-CumrgwnT.mjs.map +0 -1
  209. package/dist/constants-BdrZaBP8.mjs.map +0 -1
  210. package/dist/constants-Caz6vMlV.js +0 -2
  211. package/dist/constants-Caz6vMlV.js.map +0 -1
  212. package/dist/dom-B-SQyhbA.mjs.map +0 -1
  213. package/dist/dom-C-F8jHop.js +0 -2
  214. package/dist/dom-C-F8jHop.js.map +0 -1
  215. package/dist/event-DqyBZX_g.js +0 -2
  216. package/dist/index-C9vrUZ8E.js.map +0 -1
  217. package/dist/useNumberishToStyle-CUqOYwz3.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),o=require("./keys-dS8HZUdm.js"),l=require("./useId-C1J_udPo.js"),t=require("./useDefaults-DA3S59IE.js"),a=require("./BCollapse.vue_vue_type_script_setup_true_lang-3jB06xjh.js"),d=["id"],n=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0}},{modelValue:{default:void 0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=a,r=t.useDefaults(n,"BAccordion"),s=e.useModel(a,"modelValue"),u=l.useId((()=>r.id),"accordion"),i=e.computed((()=>({"accordion-flush":r.flush})));return e.provide(o.accordionInjectionKey,{openItem:e.readonly(s),free:e.toRef((()=>r.free)),setOpenItem:e=>{s.value=e}}),(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(u),class:e.normalizeClass(["accordion",i.value])},[e.renderSlot(o.$slots,"default")],10,d))}}),r=["aria-expanded","aria-controls","onClick"],s=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},tag:{default:void 0},title:{default:void 0},toggle:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hidden","hide","hide-prevented","show","show-prevented","shown"],["update:modelValue"]),setup(d,{emit:n}){const{class:s,...u}=e.useAttrs(),i=d,c=t.useDefaults(i,"BAccordionItem"),f=n,v=e.useModel(d,"modelValue"),p=e.inject(o.accordionInjectionKey,null),m=l.useId((()=>c.id),"accordion_item");return e.onMounted((()=>{v.value&&!(null==p?void 0:p.free.value)&&(null==p||p.setOpenItem(m.value)),v.value||(null==p?void 0:p.openItem.value)!==m.value||(v.value=!0)})),e.watch((()=>null==p?void 0:p.openItem.value),(()=>v.value=(null==p?void 0:p.openItem.value)===m.value&&!(null==p?void 0:p.free.value))),e.watch(v,(()=>{v.value&&!(null==p?void 0:p.free.value)&&(null==p||p.setOpenItem(m.value))})),(o,l)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"accordion-item"},e.unref(c).wrapperAttrs,{class:e.unref(s)}),[e.createVNode(a._sfc_main,e.mergeProps({id:e.unref(m),modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=e=>v.value=e),class:["accordion-collapse",e.unref(c).collapseClass],"aria-labelledby":`${e.unref(m)}-heading`},u,{tag:e.unref(c).tag,toggle:e.unref(c).toggle,horizontal:e.unref(c).horizontal,visible:e.unref(c).visible,"is-nav":e.unref(c).isNav,onShow:l[1]||(l[1]=e=>f("show",e)),onShown:l[2]||(l[2]=e=>f("shown")),onHide:l[3]||(l[3]=e=>f("hide",e)),onHidden:l[4]||(l[4]=e=>f("hidden")),onHidePrevented:l[5]||(l[5]=e=>f("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>f("show-prevented"))}),{header:e.withCtx((({visible:l,toggle:t})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).headerTag),e.mergeProps({id:`${e.unref(m)}-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(m),onClick:t}),[e.renderSlot(o.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).title),1)]))],16,r)])),_: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","toggle","horizontal","visible","is-nav"])],16))}});exports._sfc_main=n,exports._sfc_main$1=s;
2
- //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.js.map
1
+ "use strict";const e=require("vue"),o=require("./keys-dS8HZUdm.js"),l=require("./useId-C1J_udPo.js"),t=require("./useDefaults-DA3S59IE.js"),a=require("./BCollapse.vue_vue_type_script_setup_true_lang-Bga8wCsA.js"),d=["id"],n=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0}},{modelValue:{default:void 0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=a,r=t.useDefaults(n,"BAccordion"),s=e.useModel(a,"modelValue"),u=l.useId((()=>r.id),"accordion"),i=e.computed((()=>({"accordion-flush":r.flush})));return e.provide(o.accordionInjectionKey,{openItem:e.readonly(s),free:e.toRef((()=>r.free)),setOpenItem:e=>{s.value=e}}),(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(u),class:e.normalizeClass(["accordion",i.value])},[e.renderSlot(o.$slots,"default")],10,d))}}),r=["aria-expanded","aria-controls","onClick"],s=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},tag:{default:void 0},title:{default:void 0},toggle:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hidden","hide","hide-prevented","show","show-prevented","shown"],["update:modelValue"]),setup(d,{emit:n}){const{class:s,...u}=e.useAttrs(),i=d,c=t.useDefaults(i,"BAccordionItem"),f=n,v=e.useModel(d,"modelValue"),p=e.inject(o.accordionInjectionKey,null),m=l.useId((()=>c.id),"accordion_item");return e.onMounted((()=>{v.value&&!(null==p?void 0:p.free.value)&&(null==p||p.setOpenItem(m.value)),v.value||(null==p?void 0:p.openItem.value)!==m.value||(v.value=!0)})),e.watch((()=>null==p?void 0:p.openItem.value),(()=>v.value=(null==p?void 0:p.openItem.value)===m.value&&!(null==p?void 0:p.free.value))),e.watch(v,(()=>{v.value&&!(null==p?void 0:p.free.value)&&(null==p||p.setOpenItem(m.value))})),(o,l)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"accordion-item"},e.unref(c).wrapperAttrs,{class:e.unref(s)}),[e.createVNode(a._sfc_main,e.mergeProps({id:e.unref(m),modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=e=>v.value=e),class:["accordion-collapse",e.unref(c).collapseClass],"aria-labelledby":`${e.unref(m)}-heading`},u,{tag:e.unref(c).tag,toggle:e.unref(c).toggle,horizontal:e.unref(c).horizontal,visible:e.unref(c).visible,"is-nav":e.unref(c).isNav,onShow:l[1]||(l[1]=e=>f("show",e)),onShown:l[2]||(l[2]=e=>f("shown")),onHide:l[3]||(l[3]=e=>f("hide",e)),onHidden:l[4]||(l[4]=e=>f("hidden")),onHidePrevented:l[5]||(l[5]=e=>f("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>f("show-prevented"))}),{header:e.withCtx((({visible:l,toggle:t})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).headerTag),e.mergeProps({id:`${e.unref(m)}-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(m),onClick:t}),[e.renderSlot(o.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).title),1)]))],16,r)])),_: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","toggle","horizontal","visible","is-nav"])],16))}});exports._sfc_main=n,exports._sfc_main$1=s;
2
+ //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-1GDL3vr-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-D9YjTRCX.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 id: undefined,\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 setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"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=\"collapseAttrs\"\n :tag=\"props.tag\"\n :toggle=\"props.toggle\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\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 {inject, 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 {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\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 tag: undefined,\n title: undefined,\n toggle: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\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 modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nonMounted(() => {\n if (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n }\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n modelValue.value = true\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","setOpenItem","value","class","wrapperClass","collapseAttrs","useAttrs","emit","__emit","parentData","inject","onMounted","vue","watch"],"mappings":"scAaA,MAAMA,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,cAE5BI,EAAaC,EAAAA,SAA0CJ,EAAA,cAIvDK,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,YAAcV,IACZJ,EAAWe,MAAQX,CAAA,+6BCqBvB,MAAOY,MAAOC,KAAiBC,GAAiBC,EAASA,WAEnDvB,EAASC,EAkBTC,EAAQC,EAAAA,YAAYH,EAAQ,kBAE5BwB,EAAOC,EAgBPrB,EAAaC,EAAAA,yBAIbqB,EAAaC,EAAAA,OAAOd,EAAAA,sBAAuB,MAE3CP,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,yBAEzCoB,EAAAA,WAAU,KACJxB,EAAWe,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAC5B,MAAAO,GAAAA,EAAAR,YAAYZ,EAAWa,QAEhCf,EAAWe,cAASO,WAAYZ,SAASK,SAAUb,EAAWa,QACjEf,EAAWe,OAAQ,EACrB,IAGFU,EAAAC,OACE,UAAMJ,WAAYZ,SAASK,QAC3B,IACGf,EAAWe,OAAoB,MAAZO,OAAY,EAAAA,EAAAZ,SAASK,SAAUb,EAAWa,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAE7FU,EAAAC,MAAM1B,GAAY,KACZA,EAAWe,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAAO,MAAAO,GAAAA,EAAYR,YAAYZ,EAAWa,OAAA"}
1
+ {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-1GDL3vr-.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 id: undefined,\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 setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"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=\"collapseAttrs\"\n :tag=\"props.tag\"\n :toggle=\"props.toggle\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\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 {inject, 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 {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\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 tag: undefined,\n title: undefined,\n toggle: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\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 modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nonMounted(() => {\n if (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n }\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n modelValue.value = true\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","setOpenItem","value","class","wrapperClass","collapseAttrs","useAttrs","emit","__emit","parentData","inject","onMounted","vue","watch"],"mappings":"scAaA,MAAMA,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,cAE5BI,EAAaC,EAAAA,SAA0CJ,EAAA,cAIvDK,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,YAAcV,IACZJ,EAAWe,MAAQX,CAAA,+6BCqBvB,MAAOY,MAAOC,KAAiBC,GAAiBC,EAASA,WAEnDvB,EAASC,EAkBTC,EAAQC,EAAAA,YAAYH,EAAQ,kBAE5BwB,EAAOC,EAgBPrB,EAAaC,EAAAA,yBAIbqB,EAAaC,EAAAA,OAAOd,EAAAA,sBAAuB,MAE3CP,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,yBAEzCoB,EAAAA,WAAU,KACJxB,EAAWe,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAC5B,MAAAO,GAAAA,EAAAR,YAAYZ,EAAWa,QAEhCf,EAAWe,cAASO,WAAYZ,SAASK,SAAUb,EAAWa,QACjEf,EAAWe,OAAQ,EACrB,IAGFU,EAAAC,OACE,UAAMJ,WAAYZ,SAASK,QAC3B,IACGf,EAAWe,OAAoB,MAAZO,OAAY,EAAAA,EAAAZ,SAASK,SAAUb,EAAWa,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAE7FU,EAAAC,MAAM1B,GAAY,KACZA,EAAWe,SAAU,MAAAO,OAAA,EAAAA,EAAYV,KAAKG,SAAO,MAAAO,GAAAA,EAAYR,YAAYZ,EAAWa,OAAA"}
@@ -2,7 +2,7 @@ import { defineComponent, mergeModels, useModel, computed, provide, readonly, to
2
2
  import { g as accordionInjectionKey } from "./keys-CFfh7DXf.mjs";
3
3
  import { u as useId } from "./useId-BHgDiJzr.mjs";
4
4
  import { u as useDefaults } from "./useDefaults-6tLPt05C.mjs";
5
- import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-DvEpGRxZ.mjs";
5
+ import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-DziCIQzt.mjs";
6
6
  const _hoisted_1$1 = ["id"];
7
7
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8
8
  __name: "BAccordion",
@@ -154,4 +154,4 @@ export {
154
154
  _sfc_main$1 as _,
155
155
  _sfc_main as a
156
156
  };
157
- //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-CoqPu-3M.mjs.map
157
+ //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-DZBo9eMJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-CoqPu-3M.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 id: undefined,\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 setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"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=\"collapseAttrs\"\n :tag=\"props.tag\"\n :toggle=\"props.toggle\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\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 {inject, 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 {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\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 tag: undefined,\n title: undefined,\n toggle: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\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 modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nonMounted(() => {\n if (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n }\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n modelValue.value = true\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;AAWT,UAAA,QAAQ,YAAY,QAAQ,YAAY;AAExC,UAAA,aAAaA,SAA0C,SAAA,YAE5D;AAED,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,WAAW;AAE9C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,mBAAmB,MAAM;AAAA,IACzB,EAAA;AAEF,YAAQ,uBAAuB;AAAA,MAC7B,UAAU,SAAS,UAAU;AAAA,MAC7B,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,aAAa,CAAC,OAAe;AAC3B,mBAAW,QAAQ;AAAA,MACrB;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBD,UAAM,EAAC,OAAO,cAAc,GAAG,kBAAiB,SAAS;AAEzD,UAAM,SAAS;AAkBT,UAAA,QAAQ,YAAY,QAAQ,gBAAgB;AAElD,UAAM,OAAO;AAgBP,UAAA,aAAaA,8BAElB;AAEK,UAAA,aAAa,OAAO,uBAAuB,IAAI;AAErD,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAEzD,cAAU,MAAM;AACd,UAAI,WAAW,SAAS,EAAC,yCAAY,KAAK,QAAO;AACnC,iDAAA,YAAY,WAAW;AAAA,MACrC;AACA,UAAI,CAAC,WAAW,UAAS,yCAAY,SAAS,WAAU,WAAW,OAAO;AACxE,mBAAW,QAAQ;AAAA,MACrB;AAAA,IAAA,CACD;AAED;AAAA,MACE,MAAM,yCAAY,SAAS;AAAA,MAC3B,MACG,WAAW,SAAQ,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,KAAK;AAAA,IAAA;AAE7F,UAAM,YAAY,MAAM;AAClB,UAAA,WAAW,SAAS,EAAC,yCAAY,KAAK,OAAO,0CAAY,YAAY,WAAW;AAAA,IAAK,CAC1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-DZBo9eMJ.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 id: undefined,\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 setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"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=\"collapseAttrs\"\n :tag=\"props.tag\"\n :toggle=\"props.toggle\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\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 {inject, 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 {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\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 tag: undefined,\n title: undefined,\n toggle: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\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 modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nonMounted(() => {\n if (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n }\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n modelValue.value = true\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;AAWT,UAAA,QAAQ,YAAY,QAAQ,YAAY;AAExC,UAAA,aAAaA,SAA0C,SAAA,YAE5D;AAED,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,WAAW;AAE9C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,mBAAmB,MAAM;AAAA,IACzB,EAAA;AAEF,YAAQ,uBAAuB;AAAA,MAC7B,UAAU,SAAS,UAAU;AAAA,MAC7B,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,aAAa,CAAC,OAAe;AAC3B,mBAAW,QAAQ;AAAA,MACrB;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBD,UAAM,EAAC,OAAO,cAAc,GAAG,kBAAiB,SAAS;AAEzD,UAAM,SAAS;AAkBT,UAAA,QAAQ,YAAY,QAAQ,gBAAgB;AAElD,UAAM,OAAO;AAgBP,UAAA,aAAaA,8BAElB;AAEK,UAAA,aAAa,OAAO,uBAAuB,IAAI;AAErD,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAEzD,cAAU,MAAM;AACd,UAAI,WAAW,SAAS,EAAC,yCAAY,KAAK,QAAO;AACnC,iDAAA,YAAY,WAAW;AAAA,MACrC;AACA,UAAI,CAAC,WAAW,UAAS,yCAAY,SAAS,WAAU,WAAW,OAAO;AACxE,mBAAW,QAAQ;AAAA,MACrB;AAAA,IAAA,CACD;AAED;AAAA,MACE,MAAM,yCAAY,SAAS;AAAA,MAC3B,MACG,WAAW,SAAQ,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,KAAK;AAAA,IAAA;AAE7F,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("./BTransition.vue_vue_type_style_index_0_lang-dOw0_NRO.js"),l=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js"),a=require("./useCountdownHover-C90kBVrr.js"),s=require("./useDefaults-DA3S59IE.js"),u=require("./dom-C-F8jHop.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 d=r,c=s.useDefaults(d,"BAlert"),m=i,p=e.useSlots(),v=e.ref(null),f=e.useModel(r,"modelValue"),_=e.computed((()=>!u.isEmptySlot(p.close))),B=e.computed((()=>"boolean"==typeof f.value?0:f.value)),y=e.computed((()=>({[`alert-${c.variant}`]:null!==c.variant,"alert-dismissible":c.dismissible}))),C=e.computed((()=>[c.closeClass,{"btn-close-custom":_.value}])),{isActive:k,pause:b,resume:g,stop:w,isPaused:q,restart:H,value:V}=a.useCountdown(B,c.interval,{immediate:"number"==typeof f.value&&c.immediate});a.useCountdownHover(v,e.computed((()=>({noHoverPause:c.noHoverPause,noResumeOnHoverLeave:c.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof f.value}))),{pause:b,resume:g});const x=e.computed((()=>"boolean"==typeof f.value?f.value:k.value||c.showOnPause&&q.value)),P=e.computed((()=>({variant:_.value?c.closeVariant:void 0,class:C.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const h=()=>{m("close"),"boolean"==typeof f.value?f.value=!1:(f.value=0,w()),m("closed")};return n({pause:b,resume:g,stop:w,restart:H}),(a,s)=>(e.openBlock(),e.createBlock(o._sfc_main,{"no-fade":!e.unref(c).fade,"trans-props":{enterToClass:"show"}},{default:e.withCtx((()=>[x.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"element",ref:v,class:e.normalizeClass(["alert",y.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(a.$slots,"default",{},void 0,!0),e.unref(c).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[_.value||e.unref(c).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},P.value,{onClick:h}),{default:e.withCtx((()=>[e.renderSlot(a.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(c).closeLabel},P.value,{onClick:h}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},8,["no-fade"]))}}),i=r._export_sfc(n,[["__scopeId","data-v-2f3988be"]]);exports.BAlert=i;
2
- //# sourceMappingURL=BAlert-P_IB7iko.js.map
1
+ "use strict";const e=require("vue"),o=require("./BTransition.vue_vue_type_style_index_0_lang-dOw0_NRO.js"),l=require("./BCloseButton.vue_vue_type_script_setup_true_lang-DN7lP-29.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-CE6qvsTI.js"),a=require("./useCountdownHover-C90kBVrr.js"),s=require("./useDefaults-DA3S59IE.js"),u=require("./dom-BUc9qVuq.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 d=r,c=s.useDefaults(d,"BAlert"),m=i,p=e.useSlots(),v=e.ref(null),f=e.useModel(r,"modelValue"),_=e.computed((()=>!u.isEmptySlot(p.close))),B=e.computed((()=>"boolean"==typeof f.value?0:f.value)),y=e.computed((()=>({[`alert-${c.variant}`]:null!==c.variant,"alert-dismissible":c.dismissible}))),C=e.computed((()=>[c.closeClass,{"btn-close-custom":_.value}])),{isActive:k,pause:b,resume:g,stop:w,isPaused:q,restart:H,value:V}=a.useCountdown(B,c.interval,{immediate:"number"==typeof f.value&&c.immediate});a.useCountdownHover(v,e.computed((()=>({noHoverPause:c.noHoverPause,noResumeOnHoverLeave:c.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof f.value}))),{pause:b,resume:g});const h=e.computed((()=>"boolean"==typeof f.value?f.value:k.value||c.showOnPause&&q.value)),x=e.computed((()=>({variant:_.value?c.closeVariant:void 0,class:C.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const P=()=>{m("close"),"boolean"==typeof f.value?f.value=!1:(f.value=0,w()),m("closed")};return n({pause:b,resume:g,stop:w,restart:H}),(a,s)=>(e.openBlock(),e.createBlock(o._sfc_main,{"no-fade":!e.unref(c).fade,"trans-props":{enterToClass:"show"}},{default:e.withCtx((()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"element",ref:v,class:e.normalizeClass(["alert",y.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(a.$slots,"default",{},void 0,!0),e.unref(c).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[_.value||e.unref(c).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},x.value,{onClick:P}),{default:e.withCtx((()=>[e.renderSlot(a.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(c).closeLabel},x.value,{onClick:P}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},8,["no-fade"]))}}),i=r._export_sfc(n,[["__scopeId","data-v-2f3988be"]]);exports.BAlert=i;
2
+ //# sourceMappingURL=BAlert-DsaBZc23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert-P_IB7iko.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <BTransition :no-fade=\"!props.fade\" :trans-props=\"{enterToClass: '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 </BTransition>\n</template>\n\n<script setup lang=\"ts\">\nimport BTransition from '../BTransition.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, ref, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\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 element = ref<HTMLElement | null>(null)\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","element","ref","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":"kjCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAUC,MAAwB,MAElCC,EAAaC,EAAAA,yBAEbC,EAAeC,EAAAA,UAAS,KAAOC,EAAYA,YAAAR,EAAMS,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASX,EAAMiB,WAA8B,OAAlBjB,EAAMiB,QAClC,oBAAqBjB,EAAMkB,gBAGvBC,EAAeR,EAAAA,UAAS,IAAM,CAACX,EAAMoB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBd,EAAM6B,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBf,EAAM8B,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAchC,EAAMgC,aACpBC,qBAAsBjC,EAAMiC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUf,EAAMoC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQf,EAAMsC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLtC,EAAA,kBAAmByB,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACXvC,EAAK,SAE2B,kBAArBM,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,OAIrBb,EAAK,SAAQ,SAGFwC,EAAA,CACXpB,QACAC,SACAC,OACAE"}
1
+ {"version":3,"file":"BAlert-DsaBZc23.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <BTransition :no-fade=\"!props.fade\" :trans-props=\"{enterToClass: '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 </BTransition>\n</template>\n\n<script setup lang=\"ts\">\nimport BTransition from '../BTransition.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, ref, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\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 element = ref<HTMLElement | null>(null)\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","element","ref","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":"kjCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAUC,MAAwB,MAElCC,EAAaC,EAAAA,yBAEbC,EAAeC,EAAAA,UAAS,KAAOC,EAAYA,YAAAR,EAAMS,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASX,EAAMiB,WAA8B,OAAlBjB,EAAMiB,QAClC,oBAAqBjB,EAAMkB,gBAGvBC,EAAeR,EAAAA,UAAS,IAAM,CAACX,EAAMoB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBd,EAAM6B,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBf,EAAM8B,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAchC,EAAMgC,aACpBC,qBAAsBjC,EAAMiC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUf,EAAMoC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQf,EAAMsC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLtC,EAAA,kBAAmByB,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACXvC,EAAK,SAE2B,kBAArBM,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,OAIrBb,EAAK,SAAQ,SAGFwC,EAAA,CACXpB,QACAC,SACAC,OACAE"}
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, mergeModels, useSlots, ref, useModel, computed, watchEffect, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, mergeProps, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { _ as _sfc_main$1 } from "./BTransition.vue_vue_type_style_index_0_lang-X5a8jq3A.mjs";
3
3
  import { _ as _sfc_main$3 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-8cgz9_uq.mjs";
4
- import { _ as _sfc_main$2 } from "./BButton.vue_vue_type_script_setup_true_lang-BdSl6KfQ.mjs";
4
+ import { _ as _sfc_main$2 } from "./BButton.vue_vue_type_script_setup_true_lang-BgQ4EhEV.mjs";
5
5
  import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-CW4HHqec.mjs";
6
6
  import { u as useDefaults } from "./useDefaults-6tLPt05C.mjs";
7
- import { i as isEmptySlot } from "./dom-B-SQyhbA.mjs";
7
+ import { i as isEmptySlot } from "./dom-BUCypNEC.mjs";
8
8
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "BAlert",
@@ -128,4 +128,4 @@ const BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2f3
128
128
  export {
129
129
  BAlert as B
130
130
  };
131
- //# sourceMappingURL=BAlert-DRD6Q3cQ.mjs.map
131
+ //# sourceMappingURL=BAlert-yDDvNnHT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert-DRD6Q3cQ.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <BTransition :no-fade=\"!props.fade\" :trans-props=\"{enterToClass: '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 </BTransition>\n</template>\n\n<script setup lang=\"ts\">\nimport BTransition from '../BTransition.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, ref, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\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 element = ref<HTMLElement | null>(null)\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;AAOR,UAAA,UAAU,IAAwB,IAAI;AAEtC,UAAA,aAAaC,8BAA2E;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IAAA;AAGnD,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAC3B,EAAA;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAM,CAAA,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,IAAA;AAGhB,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IAAA;AAGjD,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IACpB,EAAA;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;MACP;AAEA,WAAK,QAAQ;AAAA,IAAA;AAGF,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BAlert-yDDvNnHT.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <BTransition :no-fade=\"!props.fade\" :trans-props=\"{enterToClass: '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 </BTransition>\n</template>\n\n<script setup lang=\"ts\">\nimport BTransition from '../BTransition.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, ref, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\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 element = ref<HTMLElement | null>(null)\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;AAOR,UAAA,UAAU,IAAwB,IAAI;AAEtC,UAAA,aAAaC,8BAA2E;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IAAA;AAGnD,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAC3B,EAAA;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAM,CAAA,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,IAAA;AAGhB,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IAAA;AAGjD,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IACpB,EAAA;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;MACP;AAEA,WAAK,QAAQ;AAAA,IAAA;AAGF,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,8 +3,8 @@ import { h as avatarGroupInjectionKey } from "./keys-CFfh7DXf.mjs";
3
3
  import { _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-BRxz8_Ki.mjs";
4
4
  import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DYqYye_z.mjs";
5
5
  import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
6
- import { i as isEmptySlot } from "./dom-B-SQyhbA.mjs";
7
- import { u as useNumberishToStyle } from "./useNumberishToStyle-BWrWARZP.mjs";
6
+ import { i as isEmptySlot } from "./dom-BUCypNEC.mjs";
7
+ import { u as useNumberishToStyle } from "./useNumberishToStyle-BaHH1FuW.mjs";
8
8
  import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
9
9
  import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
10
10
  import { u as useDefaults } from "./useDefaults-6tLPt05C.mjs";
@@ -269,4 +269,4 @@ export {
269
269
  _sfc_main$1 as _,
270
270
  _sfc_main as a
271
271
  };
272
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-U1HdwmLV.mjs.map
272
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-Dk7uwBEF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-U1HdwmLV.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'\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 = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst 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-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n 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
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-Dk7uwBEF.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'\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 = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst 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-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n 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-dS8HZUdm.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),o=require("./useBLinkHelper-BxI4evA6.js"),u=require("./dom-C-F8jHop.js"),d=require("./useNumberishToStyle-CUqOYwz3.js"),n=require("./useRadiusElementClasses-D-ydxJLn.js"),r=require("./useColorVariantClasses-CE658Sm0.js"),i=require("./useDefaults-DA3S59IE.js"),v=require("./index-BthPTI3K.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=e.ref(f.src);e.watch((()=>f.src),(e=>{b.value=e}));const g=v,y=e.useSlots(),{computedLink:B,computedLinkProps:S}=o.useBLinkHelper(f),x=e.inject(t.avatarGroupInjectionKey,null),V=["sm",null,"lg"],k=e.computed((()=>!u.isEmptySlot(y.default))),_=e.computed((()=>!u.isEmptySlot(y.badge))),h=e.computed((()=>!!f.badge||""===f.badge||_.value)),N=e.computed((()=>(null==x?void 0:x.square.value)||f.square)),E=d.useNumberishToStyle((()=>f.size)),C=d.useNumberishToStyle((()=>null==x?void 0:x.size.value)),q=e.computed((()=>C.value??E.value)),T=e.computed((()=>(null==x?void 0:x.variant.value)??f.variant)),z=e.computed((()=>(null==x?void 0:x.rounded.value)??f.rounded)),R=e.computed((()=>(null==x?void 0:x.roundedTop.value)??f.roundedTop)),j=e.computed((()=>(null==x?void 0:x.roundedBottom.value)??f.roundedBottom)),$=e.computed((()=>(null==x?void 0:x.roundedStart.value)??f.roundedStart)),w=e.computed((()=>(null==x?void 0:x.roundedEnd.value)??f.roundedEnd)),D=n.useRadiusElementClasses((()=>({rounded:z.value,roundedTop:R.value,roundedBottom:j.value,roundedStart:$.value,roundedEnd:w.value}))),L=e.computed((()=>!0===f.badge?"":f.badge)),O=e.computed((()=>!L.value&&!_.value)),P=r.useColorVariantClasses((()=>({bgVariant:(null==x?void 0:x.bgVariant.value)??f.bgVariant,textVariant:(null==x?void 0:x.textVariant.value)??f.textVariant,variant:T.value}))),H=e.computed((()=>[P.value,!0===N.value?void 0:D.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==V.indexOf(E.value),[`btn-${T.value}`]:!!f.button&&null!==T.value,badge:!f.button&&null!==T.value&&k.value,btn:f.button,"rounded-0":!0===N.value}])),A=e.computed((()=>({fontSize:(-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.4)`:null;return e?{fontSize:e}:{}})),I=e.computed((()=>{var e;const t=(null==(e=null==x?void 0:x.overlapScale)?void 0:e.value)||0,a=q.value&&t?`calc(${q.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),M=e.computed((()=>B.value?a._sfc_main:f.button?"button":"span")),K=e.computed((()=>({...I.value,width:q.value??void 0,height:q.value??void 0}))),W=e=>{f.disabled||!B.value&&!f.button||g("click",e)},F=e=>{b.value=void 0,g("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value),e.mergeProps({class:["b-avatar",H.value],style:K.value},e.unref(S),{type:f.button&&!e.unref(B)?f.buttonType:void 0,disabled:f.disabled||null,variant:null,onClick:W}),{default:e.withCtx((()=>[k.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):b.value?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:b.value,alt:f.alt,onError:F},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),h.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||O.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(A.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.js.map
1
+ "use strict";const e=require("vue"),t=require("./keys-dS8HZUdm.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-BvbUttJ1.js"),o=require("./useBLinkHelper-BxI4evA6.js"),u=require("./dom-BUc9qVuq.js"),d=require("./useNumberishToStyle-CKSSKRiz.js"),n=require("./useRadiusElementClasses-D-ydxJLn.js"),r=require("./useColorVariantClasses-CE658Sm0.js"),i=require("./useDefaults-DA3S59IE.js"),v=require("./index-BthPTI3K.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=e.ref(f.src);e.watch((()=>f.src),(e=>{b.value=e}));const g=v,y=e.useSlots(),{computedLink:B,computedLinkProps:S}=o.useBLinkHelper(f),x=e.inject(t.avatarGroupInjectionKey,null),V=["sm",null,"lg"],k=e.computed((()=>!u.isEmptySlot(y.default))),_=e.computed((()=>!u.isEmptySlot(y.badge))),h=e.computed((()=>!!f.badge||""===f.badge||_.value)),N=e.computed((()=>(null==x?void 0:x.square.value)||f.square)),E=d.useNumberishToStyle((()=>f.size)),C=d.useNumberishToStyle((()=>null==x?void 0:x.size.value)),q=e.computed((()=>C.value??E.value)),T=e.computed((()=>(null==x?void 0:x.variant.value)??f.variant)),z=e.computed((()=>(null==x?void 0:x.rounded.value)??f.rounded)),R=e.computed((()=>(null==x?void 0:x.roundedTop.value)??f.roundedTop)),j=e.computed((()=>(null==x?void 0:x.roundedBottom.value)??f.roundedBottom)),$=e.computed((()=>(null==x?void 0:x.roundedStart.value)??f.roundedStart)),w=e.computed((()=>(null==x?void 0:x.roundedEnd.value)??f.roundedEnd)),D=n.useRadiusElementClasses((()=>({rounded:z.value,roundedTop:R.value,roundedBottom:j.value,roundedStart:$.value,roundedEnd:w.value}))),L=e.computed((()=>!0===f.badge?"":f.badge)),O=e.computed((()=>!L.value&&!_.value)),P=r.useColorVariantClasses((()=>({bgVariant:(null==x?void 0:x.bgVariant.value)??f.bgVariant,textVariant:(null==x?void 0:x.textVariant.value)??f.textVariant,variant:T.value}))),H=e.computed((()=>[P.value,!0===N.value?void 0:D.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==V.indexOf(E.value),[`btn-${T.value}`]:!!f.button&&null!==T.value,badge:!f.button&&null!==T.value&&k.value,btn:f.button,"rounded-0":!0===N.value}])),A=e.computed((()=>({fontSize:(-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.4)`:null;return e?{fontSize:e}:{}})),I=e.computed((()=>{var e;const t=(null==(e=null==x?void 0:x.overlapScale)?void 0:e.value)||0,a=q.value&&t?`calc(${q.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),M=e.computed((()=>B.value?a._sfc_main:f.button?"button":"span")),K=e.computed((()=>({...I.value,width:q.value??void 0,height:q.value??void 0}))),W=e=>{f.disabled||!B.value&&!f.button||g("click",e)},F=e=>{b.value=void 0,g("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value),e.mergeProps({class:["b-avatar",H.value],style:K.value},e.unref(S),{type:f.button&&!e.unref(B)?f.buttonType:void 0,disabled:f.disabled||null,variant:null,onClick:W}),{default:e.withCtx((()=>[k.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):b.value?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:b.value,alt:f.alt,onError:F},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),h.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||O.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(A.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-kYztrVvA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-k3Cvn-sv.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'\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 = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst 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-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n 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","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-kYztrVvA.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'\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 = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst 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-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n 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","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, mergeModels, ref, useModel, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode } from "vue";
2
- import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-DD4fhTVT.mjs";
2
+ import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-BW4_VLJ-.mjs";
3
3
  import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
4
4
  import { u as useLinkClasses, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-BRxz8_Ki.mjs";
5
5
  import { o as onKeyStroke } from "./index-CZE037u_.mjs";
@@ -164,4 +164,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
164
  export {
165
165
  _sfc_main as _
166
166
  };
167
- //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-BdSl6KfQ.mjs.map
167
+ //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-BgQ4EhEV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-BdSl6KfQ.mjs","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <template v-if=\"props.loading\">\n <slot name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n </template>\n <template v-else>\n <slot />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, ref} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = ref<HTMLElement | null>(null)\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value && {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true ? (props.variant?.slice(5) as ColorVariant) : null,\n }),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_useModel","BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,SAAS;AAmCT,UAAA,QAAQ,YAAY,QAAQ,SAAS;AAE3C,UAAM,OAAO;AAIP,UAAA,UAAU,IAAwB,IAAI;AAEtC,UAAA,eAAeA,SAAqC,SAAA,SAA+B;AAEzF,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,WAAW,SAAS,MAAM,OAAO,aAAa,UAAU,SAAS;AACvE,UAAM,WAAW;AAAA,MACf,MAAM,MAAM,QAAQ,YAAY,MAAM,SAAS,UAAa,MAAM,OAAO;AAAA,IAAA;AAE3E,UAAM,UAAU,SAAS,MAAM,MAAM,OAAO,MAAS;AAC/C,UAAA,iBAAiB,SAAS,MAAO,MAAM,SAAS,SAAY,QAAQ,CAAC,SAAS,KAAM;AAEpF,UAAA,YAAY,SAAS,MAAO,QAAQ,QAAQ,kBAAkB,QAAQ,CAAA,CAAG;AACzE,UAAA,uBAAuB,SAAS,MAAM;AAC1C,UAAI,MAAM,SAAS,OAAO,MAAM,SAAiB,QAAA;AAE1C,aAAA,eAAe,QAAQ,MAAM,WAAW;AAAA,IAAA,CAChD;AAEK,UAAA,oBAAoB,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,YAAW;AAAA,KAAK;AAC7E,UAAA,0BAA0B,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,aAAY;AAAA,KAAK;AAC1F,UAAM,mBAAmB;AAAA,MACvB,SAAS,MAAO;;AAAA;AAAA,UACd,GAAI,kBAAkB,SAAS;AAAA,YAC7B,MAAM,MAAM;AAAA,YACZ,SAAS,MAAM;AAAA,YACf,cAAc,MAAM;AAAA,YACpB,iBAAiB,MAAM;AAAA,YACvB,sBAAsB,MAAM;AAAA,YAC5B,kBAAkB,MAAM;AAAA,YACxB,uBAAuB,MAAM;AAAA,YAC7B,kBAAkB,MAAM;AAAA,YACxB,SACE,wBAAwB,UAAU,QAAQ,WAAM,YAAN,mBAAe,MAAM,KAAsB;AAAA,UACzF;AAAA,QAAA;AAAA,OACA;AAAA,IAAA;AAEE,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,kBAAkB,UAAU,QAAQ,aAAa,UAAU,QACvD,iBAAiB,QACjB;AAAA,MACJ,CAAC,OAAO,MAAM,IAAI,EAAE;AAAA,MACpB;AAAA,QACE,CAAC,OAAO,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY,QAAQ,wBAAwB,UAAU;AAAA,QACtF,UAAU,MAAM,UAAU,aAAa;AAAA,QACvC,gBAAgB,MAAM;AAAA,QACtB,aAAa,MAAM;AAAA,QACnB,YAAY,MAAM;AAAA,MACpB;AAAA,IAAA,CACD;AAEK,UAAA,cAAc,SAAS,MAAO,QAAQ,QAAQC,cAAQ,MAAM,OAAO,MAAM,MAAM,GAAI;AAEnF,UAAA,UAAU,CAAC,MAAkC;AACjD,UAAI,MAAM,UAAU;AAClB,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAClB;AAAA,MACF;AACA,WAAK,SAAS,CAAC;AACf,UAAI,SAAS,MAAoB,cAAA,QAAQ,CAAC,aAAa;AAAA,IAAA;AAGzD;AAAA,MACE,CAAC,KAAK,OAAO;AAAA,MACb,CAAC,MAAM;;AACD,YAAA,MAAM,SAAS,KAAK;AACtB,YAAE,eAAe;AACjB,wBAAQ,UAAR,mBAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,EAAC,QAAQ,QAAO;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-BgQ4EhEV.mjs","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <template v-if=\"props.loading\">\n <slot name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n </template>\n <template v-else>\n <slot />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, ref} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = ref<HTMLElement | null>(null)\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value && {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true ? (props.variant?.slice(5) as ColorVariant) : null,\n }),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_useModel","BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,SAAS;AAmCT,UAAA,QAAQ,YAAY,QAAQ,SAAS;AAE3C,UAAM,OAAO;AAIP,UAAA,UAAU,IAAwB,IAAI;AAEtC,UAAA,eAAeA,SAAqC,SAAA,SAA+B;AAEzF,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,WAAW,SAAS,MAAM,OAAO,aAAa,UAAU,SAAS;AACvE,UAAM,WAAW;AAAA,MACf,MAAM,MAAM,QAAQ,YAAY,MAAM,SAAS,UAAa,MAAM,OAAO;AAAA,IAAA;AAE3E,UAAM,UAAU,SAAS,MAAM,MAAM,OAAO,MAAS;AAC/C,UAAA,iBAAiB,SAAS,MAAO,MAAM,SAAS,SAAY,QAAQ,CAAC,SAAS,KAAM;AAEpF,UAAA,YAAY,SAAS,MAAO,QAAQ,QAAQ,kBAAkB,QAAQ,CAAA,CAAG;AACzE,UAAA,uBAAuB,SAAS,MAAM;AAC1C,UAAI,MAAM,SAAS,OAAO,MAAM,SAAiB,QAAA;AAE1C,aAAA,eAAe,QAAQ,MAAM,WAAW;AAAA,IAAA,CAChD;AAEK,UAAA,oBAAoB,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,YAAW;AAAA,KAAK;AAC7E,UAAA,0BAA0B,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,aAAY;AAAA,KAAK;AAC1F,UAAM,mBAAmB;AAAA,MACvB,SAAS,MAAO;;AAAA;AAAA,UACd,GAAI,kBAAkB,SAAS;AAAA,YAC7B,MAAM,MAAM;AAAA,YACZ,SAAS,MAAM;AAAA,YACf,cAAc,MAAM;AAAA,YACpB,iBAAiB,MAAM;AAAA,YACvB,sBAAsB,MAAM;AAAA,YAC5B,kBAAkB,MAAM;AAAA,YACxB,uBAAuB,MAAM;AAAA,YAC7B,kBAAkB,MAAM;AAAA,YACxB,SACE,wBAAwB,UAAU,QAAQ,WAAM,YAAN,mBAAe,MAAM,KAAsB;AAAA,UACzF;AAAA,QAAA;AAAA,OACA;AAAA,IAAA;AAEE,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,kBAAkB,UAAU,QAAQ,aAAa,UAAU,QACvD,iBAAiB,QACjB;AAAA,MACJ,CAAC,OAAO,MAAM,IAAI,EAAE;AAAA,MACpB;AAAA,QACE,CAAC,OAAO,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY,QAAQ,wBAAwB,UAAU;AAAA,QACtF,UAAU,MAAM,UAAU,aAAa;AAAA,QACvC,gBAAgB,MAAM;AAAA,QACtB,aAAa,MAAM;AAAA,QACnB,YAAY,MAAM;AAAA,MACpB;AAAA,IAAA,CACD;AAEK,UAAA,cAAc,SAAS,MAAO,QAAQ,QAAQC,cAAQ,MAAM,OAAO,MAAM,MAAM,GAAI;AAEnF,UAAA,UAAU,CAAC,MAAkC;AACjD,UAAI,MAAM,UAAU;AAClB,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAClB;AAAA,MACF;AACA,WAAK,SAAS,CAAC;AACf,UAAI,SAAS,MAAoB,cAAA,QAAQ,CAAC,aAAa;AAAA,IAAA;AAGzD;AAAA,MACE,CAAC,KAAK,OAAO;AAAA,MACb,CAAC,MAAM;;AACD,YAAA,MAAM,SAAS,KAAK;AACtB,YAAE,eAAe;AACjB,wBAAQ,UAAR,mBAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,EAAC,QAAQ,QAAO;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),l=require("./BSpinner.vue_vue_type_script_setup_true_lang-CnrNxh78.js"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),u=require("./index-CHhN7c8p.js"),n=require("./useDefaults-DA3S59IE.js"),o=e.defineComponent({__name:"BButton",props:e.mergeModels({loading:{type:Boolean,default:!1},loadingFill:{type:Boolean,default:!1},loadingText:{default:"Loading..."},pill:{type:Boolean,default:!1},size:{default:"md"},squared:{type:Boolean,default:!1},tag:{default:"button"},type:{default:"button"},variant:{default:"secondary"},active:{type:Boolean,default:!1},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:!1},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},routerTag:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:null}},{pressed:{type:Boolean,default:void 0},pressedModifiers:{}}),emits:e.mergeModels(["click"],["update:pressed"]),setup(o,{emit:r}){const i=o,d=n.useDefaults(i,"BButton"),s=r,v=e.ref(null),f=e.useModel(o,"pressed"),{computedLink:p,computedLinkProps:c}=t.useBLinkHelper(d,["active-class","exact-active-class","replace","routerComponentName","routerTag"]),m=e.computed((()=>"boolean"==typeof f.value)),y=e.computed((()=>"button"===d.tag&&void 0===d.href&&void 0===d.to)),g=e.computed((()=>void 0!==d.to)),B=e.computed((()=>void 0===d.href&&!y.value)),_=e.computed((()=>g.value?c.value:[])),b=e.computed((()=>!("#"!==d.href||!d.disabled)||(B.value?d.disabled:null))),k=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link"))||!1})),h=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link-"))||!1})),O=a.useLinkClasses(e.computed((()=>{var e;return{...k.value&&{icon:d.icon,opacity:d.opacity,opacityHover:d.opacityHover,underlineOffset:d.underlineOffset,underlineOffsetHover:d.underlineOffsetHover,underlineOpacity:d.underlineOpacity,underlineOpacityHover:d.underlineOpacityHover,underlineVariant:d.underlineVariant,variant:!0===h.value?null==(e=d.variant)?void 0:e.slice(5):null}}}))),H=e.computed((()=>[!0===k.value&&!1===p.value?O.value:void 0,[`btn-${d.size}`],{[`btn-${d.variant}`]:null!==d.variant&&!1===h.value,active:d.active||f.value,"rounded-pill":d.pill,"rounded-0":d.squared,disabled:d.disabled}])),x=e.computed((()=>g.value?a._sfc_main:d.href?"a":d.tag)),C=e=>{if(d.disabled)return e.preventDefault(),void e.stopPropagation();s("click",e),m.value&&(f.value=!f.value)};return u.onKeyStroke([" ","enter"],(e=>{var l;"#"===d.href&&(e.preventDefault(),null==(l=v.value)||l.click())}),{target:v}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),e.mergeProps({ref_key:"element",ref:v,class:"btn"},_.value,{class:H.value,"aria-disabled":b.value,"aria-pressed":m.value?f.value:null,autocomplete:m.value?"off":null,disabled:y.value?e.unref(d).disabled:null,href:e.unref(d).href,rel:e.unref(p)?e.unref(d).rel:null,role:B.value||e.unref(p)?"button":null,target:e.unref(p)?e.unref(d).target:null,type:y.value?e.unref(d).type:null,to:y.value?null:e.unref(d).to,onClick:C}),{default:e.withCtx((()=>[e.unref(d).loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[e.unref(d).loadingFill?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(d).loadingText),1)],64)),e.renderSlot(t.$slots,"loading-spinner",{},(()=>[e.createVNode(l._sfc_main,{small:"lg"!==e.unref(d).size,label:e.unref(d).loadingFill?e.unref(d).loadingText:void 0},null,8,["small","label"])]))])):e.renderSlot(t.$slots,"default",{key:1})])),_:3},16,["class","aria-disabled","aria-pressed","autocomplete","disabled","href","rel","role","target","type","to"]))}});exports._sfc_main=o;
2
- //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-CJw5OVdo.js.map
1
+ "use strict";const e=require("vue"),l=require("./BSpinner.vue_vue_type_script_setup_true_lang-BzFbYl8A.js"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-DMKCmIIu.js"),u=require("./index-CHhN7c8p.js"),n=require("./useDefaults-DA3S59IE.js"),o=e.defineComponent({__name:"BButton",props:e.mergeModels({loading:{type:Boolean,default:!1},loadingFill:{type:Boolean,default:!1},loadingText:{default:"Loading..."},pill:{type:Boolean,default:!1},size:{default:"md"},squared:{type:Boolean,default:!1},tag:{default:"button"},type:{default:"button"},variant:{default:"secondary"},active:{type:Boolean,default:!1},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:!1},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},routerTag:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:null}},{pressed:{type:Boolean,default:void 0},pressedModifiers:{}}),emits:e.mergeModels(["click"],["update:pressed"]),setup(o,{emit:r}){const i=o,d=n.useDefaults(i,"BButton"),s=r,v=e.ref(null),f=e.useModel(o,"pressed"),{computedLink:p,computedLinkProps:c}=t.useBLinkHelper(d,["active-class","exact-active-class","replace","routerComponentName","routerTag"]),m=e.computed((()=>"boolean"==typeof f.value)),y=e.computed((()=>"button"===d.tag&&void 0===d.href&&void 0===d.to)),g=e.computed((()=>void 0!==d.to)),B=e.computed((()=>void 0===d.href&&!y.value)),_=e.computed((()=>g.value?c.value:[])),b=e.computed((()=>!("#"!==d.href||!d.disabled)||(B.value?d.disabled:null))),k=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link"))||!1})),h=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link-"))||!1})),O=a.useLinkClasses(e.computed((()=>{var e;return{...k.value&&{icon:d.icon,opacity:d.opacity,opacityHover:d.opacityHover,underlineOffset:d.underlineOffset,underlineOffsetHover:d.underlineOffsetHover,underlineOpacity:d.underlineOpacity,underlineOpacityHover:d.underlineOpacityHover,underlineVariant:d.underlineVariant,variant:!0===h.value?null==(e=d.variant)?void 0:e.slice(5):null}}}))),H=e.computed((()=>[!0===k.value&&!1===p.value?O.value:void 0,[`btn-${d.size}`],{[`btn-${d.variant}`]:null!==d.variant&&!1===h.value,active:d.active||f.value,"rounded-pill":d.pill,"rounded-0":d.squared,disabled:d.disabled}])),x=e.computed((()=>g.value?a._sfc_main:d.href?"a":d.tag)),C=e=>{if(d.disabled)return e.preventDefault(),void e.stopPropagation();s("click",e),m.value&&(f.value=!f.value)};return u.onKeyStroke([" ","enter"],(e=>{var l;"#"===d.href&&(e.preventDefault(),null==(l=v.value)||l.click())}),{target:v}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),e.mergeProps({ref_key:"element",ref:v,class:"btn"},_.value,{class:H.value,"aria-disabled":b.value,"aria-pressed":m.value?f.value:null,autocomplete:m.value?"off":null,disabled:y.value?e.unref(d).disabled:null,href:e.unref(d).href,rel:e.unref(p)?e.unref(d).rel:null,role:B.value||e.unref(p)?"button":null,target:e.unref(p)?e.unref(d).target:null,type:y.value?e.unref(d).type:null,to:y.value?null:e.unref(d).to,onClick:C}),{default:e.withCtx((()=>[e.unref(d).loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[e.unref(d).loadingFill?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(d).loadingText),1)],64)),e.renderSlot(t.$slots,"loading-spinner",{},(()=>[e.createVNode(l._sfc_main,{small:"lg"!==e.unref(d).size,label:e.unref(d).loadingFill?e.unref(d).loadingText:void 0},null,8,["small","label"])]))])):e.renderSlot(t.$slots,"default",{key:1})])),_:3},16,["class","aria-disabled","aria-pressed","autocomplete","disabled","href","rel","role","target","type","to"]))}});exports._sfc_main=o;
2
+ //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-CE6qvsTI.js.map