bootstrap-vue-next 0.24.14 → 0.24.16

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 (210) hide show
  1. package/dist/{BAlert-CL62oEyH.js → BAlert-Bdp4uj3z.js} +2 -2
  2. package/dist/{BAlert-CL62oEyH.js.map → BAlert-Bdp4uj3z.js.map} +1 -1
  3. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-CJHztvxJ.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs} +2 -2
  4. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-CJHztvxJ.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs.map} +1 -1
  5. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-CyH7wDxA.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js} +2 -2
  6. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-CyH7wDxA.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js.map} +1 -1
  7. package/dist/BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js +2 -0
  8. package/dist/BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js.map +1 -0
  9. package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DvnR6bcm.mjs → BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs} +2 -2
  10. package/dist/BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs.map +1 -0
  11. package/dist/{BCard.vue_vue_type_script_setup_true_lang-TLAEs-XJ.js → BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js} +2 -2
  12. package/dist/{BCard.vue_vue_type_script_setup_true_lang-TLAEs-XJ.js.map → BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js.map} +1 -1
  13. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-By3HWM0l.js +2 -0
  14. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-By3HWM0l.js.map +1 -0
  15. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-B9cMwnBa.mjs → BCarouselSlide.vue_vue_type_script_setup_true_lang-DYd8N2YI.mjs} +6 -4
  16. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-DYd8N2YI.mjs.map +1 -0
  17. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-_LBPdVCX.mjs → BDropdown.vue_vue_type_script_setup_true_lang-DC2pr_pL.mjs} +28 -24
  18. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-DC2pr_pL.mjs.map +1 -0
  19. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-IkrH9BlP.js +2 -0
  20. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-IkrH9BlP.js.map +1 -0
  21. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-5E4ULH73.js +2 -0
  22. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-5E4ULH73.js.map +1 -0
  23. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CuIvx67W.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C50reHb2.mjs} +2 -2
  24. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C50reHb2.mjs.map +1 -0
  25. package/dist/{BFormGroup.vue_vue_type_script_lang-DM4WBgWE.js → BFormGroup.vue_vue_type_script_lang-DpymRUI8.js} +2 -2
  26. package/dist/{BFormGroup.vue_vue_type_script_lang-DM4WBgWE.js.map → BFormGroup.vue_vue_type_script_lang-DpymRUI8.js.map} +1 -1
  27. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5cT1C4w.js +2 -0
  28. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-B5cT1C4w.js.map +1 -0
  29. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-QoekdehU.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang-DJCILOrN.mjs} +2 -2
  30. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-DJCILOrN.mjs.map +1 -0
  31. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Bi-9IRmx.js → BFormSelect.vue_vue_type_script_setup_true_lang-BsACCrmc.js} +2 -2
  32. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Bi-9IRmx.js.map → BFormSelect.vue_vue_type_script_setup_true_lang-BsACCrmc.js.map} +1 -1
  33. package/dist/{BFormSpinbutton.vue_vue_type_script_setup_true_lang-Cpthe9q6.js → BFormSpinbutton.vue_vue_type_script_setup_true_lang-B_ZadCUa.js} +2 -2
  34. package/dist/{BFormSpinbutton.vue_vue_type_script_setup_true_lang-Cpthe9q6.js.map → BFormSpinbutton.vue_vue_type_script_setup_true_lang-B_ZadCUa.js.map} +1 -1
  35. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-Bb7L5aOK.js → BFormTags.vue_vue_type_script_setup_true_lang-CZyXJYzB.js} +2 -2
  36. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-Bb7L5aOK.js.map → BFormTags.vue_vue_type_script_setup_true_lang-CZyXJYzB.js.map} +1 -1
  37. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-C7qeE8yw.js → BFormTextarea.vue_vue_type_script_setup_true_lang-CbYPnGY8.js} +2 -2
  38. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-C7qeE8yw.js.map → BFormTextarea.vue_vue_type_script_setup_true_lang-CbYPnGY8.js.map} +1 -1
  39. package/dist/{BImg.vue_vue_type_script_setup_true_lang-Bg2OW6gi.js → BImg.vue_vue_type_script_setup_true_lang-PsEMJvqR.js} +2 -2
  40. package/dist/{BImg.vue_vue_type_script_setup_true_lang-Bg2OW6gi.js.map → BImg.vue_vue_type_script_setup_true_lang-PsEMJvqR.js.map} +1 -1
  41. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-CaWmwzzo.js +2 -0
  42. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-CaWmwzzo.js.map +1 -0
  43. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-uilLonY3.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DBRcifzN.mjs} +171 -161
  44. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-DBRcifzN.mjs.map +1 -0
  45. package/dist/BNavText.vue_vue_type_script_setup_true_lang-0AcCbocR.js +2 -0
  46. package/dist/BNavText.vue_vue_type_script_setup_true_lang-0AcCbocR.js.map +1 -0
  47. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-Nz10c9se.mjs → BNavText.vue_vue_type_script_setup_true_lang-Exa-2z81.mjs} +3 -2
  48. package/dist/BNavText.vue_vue_type_script_setup_true_lang-Exa-2z81.mjs.map +1 -0
  49. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-CR21XBTk.mjs → BNavbarToggle.vue_vue_type_script_setup_true_lang-BA4V-kOs.mjs} +2 -1
  50. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-CR21XBTk.mjs.map → BNavbarToggle.vue_vue_type_script_setup_true_lang-BA4V-kOs.mjs.map} +1 -1
  51. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-BAbZOahY.js +2 -0
  52. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-yRlMSYbT.js.map → BNavbarToggle.vue_vue_type_script_setup_true_lang-BAbZOahY.js.map} +1 -1
  53. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-DFX-GAqB.mjs → BOffcanvas.vue_vue_type_script_setup_true_lang-B-IYSLNn.mjs} +92 -88
  54. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-B-IYSLNn.mjs.map +1 -0
  55. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-DAD38Fcf.js +2 -0
  56. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-DAD38Fcf.js.map +1 -0
  57. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B6R5Vd0q.js +2 -0
  58. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B6R5Vd0q.js.map +1 -0
  59. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-DlIZeFjt.mjs → BOverlay.vue_vue_type_script_setup_true_lang-QGQlohi6.mjs} +2 -2
  60. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-QGQlohi6.mjs.map +1 -0
  61. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CNFPE1rr.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8YvrW7v6.js} +2 -2
  62. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CNFPE1rr.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-8YvrW7v6.js.map} +1 -1
  63. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-WoLkyjrr.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BTc0M82E.mjs} +2 -2
  64. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-WoLkyjrr.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BTc0M82E.mjs.map} +1 -1
  65. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DAAu6XVH.js → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DgN4zsGz.js} +2 -2
  66. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DAAu6XVH.js.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DgN4zsGz.js.map} +1 -1
  67. package/dist/BTable.vue_vue_type_script_setup_true_lang-By6bmbz7.js +2 -0
  68. package/dist/BTable.vue_vue_type_script_setup_true_lang-By6bmbz7.js.map +1 -0
  69. package/dist/{BTable.vue_vue_type_script_setup_true_lang-CqJmavaJ.mjs → BTable.vue_vue_type_script_setup_true_lang-mZVbjCrV.mjs} +4 -4
  70. package/dist/BTable.vue_vue_type_script_setup_true_lang-mZVbjCrV.mjs.map +1 -0
  71. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-Bi4vXXPB.js +2 -0
  72. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-K7lsVEs_.js.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-Bi4vXXPB.js.map} +1 -1
  73. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Odi16od5.mjs → BToastOrchestrator.vue_vue_type_style_index_0_lang-DVknK6Q7.mjs} +43 -39
  74. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-Odi16od5.mjs.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-DVknK6Q7.mjs.map} +1 -1
  75. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-DWilDKU8.js → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-BBwP_TwQ.js} +2 -2
  76. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-DWilDKU8.js.map → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-BBwP_TwQ.js.map} +1 -1
  77. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-Dcoy_YtZ.mjs → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-CaxgtA6a.mjs} +2 -2
  78. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-Dcoy_YtZ.mjs.map → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-CaxgtA6a.mjs.map} +1 -1
  79. package/dist/ConditionalTeleport.vue_vue_type_script_lang-CBHk9gJ3.mjs +26 -0
  80. package/dist/ConditionalTeleport.vue_vue_type_script_lang-CBHk9gJ3.mjs.map +1 -0
  81. package/dist/ConditionalTeleport.vue_vue_type_script_lang-nP1ZUfLS.js +2 -0
  82. package/dist/ConditionalTeleport.vue_vue_type_script_lang-nP1ZUfLS.js.map +1 -0
  83. package/dist/ConditionalWrapper.vue_vue_type_script_lang-C_5wlT3v.mjs +26 -0
  84. package/dist/ConditionalWrapper.vue_vue_type_script_lang-C_5wlT3v.mjs.map +1 -0
  85. package/dist/ConditionalWrapper.vue_vue_type_script_lang-E5HgRId6.js +2 -0
  86. package/dist/ConditionalWrapper.vue_vue_type_script_lang-E5HgRId6.js.map +1 -0
  87. package/dist/bootstrap-vue-next.css +1 -1
  88. package/dist/bootstrap-vue-next.mjs +19 -19
  89. package/dist/bootstrap-vue-next.umd.js +1 -1
  90. package/dist/floatingUi-CJBfCpXa.js +2 -0
  91. package/dist/{floatingUi-DuqFUobT.js.map → floatingUi-CJBfCpXa.js.map} +1 -1
  92. package/dist/{floatingUi-CKw_RAAk.mjs → floatingUi-gCdP78vZ.mjs} +61 -57
  93. package/dist/{floatingUi-CKw_RAAk.mjs.map → floatingUi-gCdP78vZ.mjs.map} +1 -1
  94. package/dist/{index-CITBZK_Y.mjs → index-0aeDM_Nc.mjs} +17 -17
  95. package/dist/{index-CITBZK_Y.mjs.map → index-0aeDM_Nc.mjs.map} +1 -1
  96. package/dist/{index-C7voPgOJ.mjs → index-BOdW9Hjb.mjs} +2 -2
  97. package/dist/index-BOdW9Hjb.mjs.map +1 -0
  98. package/dist/index-UTnQ2nQu.js +2 -0
  99. package/dist/index-UTnQ2nQu.js.map +1 -0
  100. package/dist/{index-CZM7tYbG.js → index-mVKnXTAA.js} +2 -2
  101. package/dist/index-mVKnXTAA.js.map +1 -0
  102. package/dist/src/components/BAlert/index.umd.js +1 -1
  103. package/dist/src/components/BAvatar/index.mjs +1 -1
  104. package/dist/src/components/BAvatar/index.umd.js +1 -1
  105. package/dist/src/components/BBadge/index.mjs +1 -1
  106. package/dist/src/components/BBadge/index.umd.js +1 -1
  107. package/dist/src/components/BCard/index.umd.js +1 -1
  108. package/dist/src/components/BCarousel/BCarousel.vue.d.mts +1 -0
  109. package/dist/src/components/BCarousel/BCarousel.vue.d.ts +1 -0
  110. package/dist/src/components/BCarousel/index.mjs +1 -1
  111. package/dist/src/components/BCarousel/index.umd.js +1 -1
  112. package/dist/src/components/BDropdown/BDropdown.vue.d.mts +0 -14
  113. package/dist/src/components/BDropdown/BDropdown.vue.d.ts +0 -14
  114. package/dist/src/components/BDropdown/index.mjs +1 -1
  115. package/dist/src/components/BDropdown/index.umd.js +1 -1
  116. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  117. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  118. package/dist/src/components/BFormGroup/BFormGroup.vue.d.mts +1 -1
  119. package/dist/src/components/BFormGroup/BFormGroup.vue.d.ts +1 -1
  120. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  121. package/dist/src/components/BFormRadio/index.mjs +1 -1
  122. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  123. package/dist/src/components/BFormSelect/index.umd.js +1 -1
  124. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  125. package/dist/src/components/BFormTags/index.umd.js +1 -1
  126. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  127. package/dist/src/components/BImg/index.umd.js +1 -1
  128. package/dist/src/components/BModal/BModal.vue.d.mts +3 -2
  129. package/dist/src/components/BModal/BModal.vue.d.ts +3 -2
  130. package/dist/src/components/BModal/index.mjs +1 -1
  131. package/dist/src/components/BModal/index.umd.js +1 -1
  132. package/dist/src/components/BNav/index.mjs +1 -1
  133. package/dist/src/components/BNav/index.umd.js +1 -1
  134. package/dist/src/components/BNavbar/index.mjs +1 -1
  135. package/dist/src/components/BNavbar/index.umd.js +1 -1
  136. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  137. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  138. package/dist/src/components/BOverlay/index.mjs +1 -1
  139. package/dist/src/components/BOverlay/index.umd.js +1 -1
  140. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  141. package/dist/src/components/BPopover/index.mjs +2 -2
  142. package/dist/src/components/BPopover/index.umd.js +1 -1
  143. package/dist/src/components/BTable/BTableLite.vue.d.mts +1 -1
  144. package/dist/src/components/BTable/BTableLite.vue.d.ts +1 -1
  145. package/dist/src/components/BTable/index.mjs +1 -1
  146. package/dist/src/components/BTable/index.umd.js +1 -1
  147. package/dist/src/components/BToast/index.mjs +1 -1
  148. package/dist/src/components/BToast/index.umd.js +1 -1
  149. package/dist/src/components/BTooltip/index.mjs +1 -1
  150. package/dist/src/components/BTooltip/index.umd.js +1 -1
  151. package/dist/src/components/{RenderComponentOrSkip.vue.d.mts → ConditionalTeleport.vue.d.mts} +3 -12
  152. package/dist/src/components/{RenderComponentOrSkip.vue.d.ts → ConditionalTeleport.vue.d.ts} +3 -12
  153. package/dist/src/components/ConditionalWrapper.vue.d.mts +30 -0
  154. package/dist/src/components/ConditionalWrapper.vue.d.ts +30 -0
  155. package/dist/src/components/index.mjs +16 -16
  156. package/dist/src/components/index.umd.js +1 -1
  157. package/dist/src/directives/BPopover/index.mjs +1 -1
  158. package/dist/src/directives/BPopover/index.umd.js +1 -1
  159. package/dist/src/directives/BTooltip/index.mjs +1 -1
  160. package/dist/src/directives/BTooltip/index.umd.js +1 -1
  161. package/dist/src/resolvers/index.mjs +1 -1
  162. package/dist/src/resolvers/index.umd.js +1 -1
  163. package/dist/src/types/BootstrapVueOptions.d.mts +1 -1
  164. package/dist/src/types/BootstrapVueOptions.d.ts +1 -1
  165. package/dist/src/types/ComponentProps.d.mts +1 -0
  166. package/dist/src/types/ComponentProps.d.ts +1 -0
  167. package/dist/src/types/TableTypes.d.mts +1 -1
  168. package/dist/src/types/TableTypes.d.ts +1 -1
  169. package/package.json +1 -1
  170. package/dist/BBadge.vue_vue_type_script_setup_true_lang-D0XJTOKS.js +0 -2
  171. package/dist/BBadge.vue_vue_type_script_setup_true_lang-D0XJTOKS.js.map +0 -1
  172. package/dist/BBadge.vue_vue_type_script_setup_true_lang-DvnR6bcm.mjs.map +0 -1
  173. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-B9cMwnBa.mjs.map +0 -1
  174. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-D9pzRO8R.js +0 -2
  175. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-D9pzRO8R.js.map +0 -1
  176. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-CyYPAMES.js +0 -2
  177. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-CyYPAMES.js.map +0 -1
  178. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-_LBPdVCX.mjs.map +0 -1
  179. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-2Rj7LWFj.js +0 -2
  180. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-2Rj7LWFj.js.map +0 -1
  181. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CuIvx67W.mjs.map +0 -1
  182. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-CQjKHPQM.js +0 -2
  183. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-CQjKHPQM.js.map +0 -1
  184. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-QoekdehU.mjs.map +0 -1
  185. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-DTkIYT9T.js +0 -2
  186. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-DTkIYT9T.js.map +0 -1
  187. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-uilLonY3.mjs.map +0 -1
  188. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DsRBDoqA.js +0 -2
  189. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DsRBDoqA.js.map +0 -1
  190. package/dist/BNavText.vue_vue_type_script_setup_true_lang-Nz10c9se.mjs.map +0 -1
  191. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-yRlMSYbT.js +0 -2
  192. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-BS8m5QFs.js +0 -2
  193. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-BS8m5QFs.js.map +0 -1
  194. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-DFX-GAqB.mjs.map +0 -1
  195. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B-DddNvF.js +0 -2
  196. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B-DddNvF.js.map +0 -1
  197. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-DlIZeFjt.mjs.map +0 -1
  198. package/dist/BTable.vue_vue_type_script_setup_true_lang-CqJmavaJ.mjs.map +0 -1
  199. package/dist/BTable.vue_vue_type_script_setup_true_lang-XAhOu66i.js +0 -2
  200. package/dist/BTable.vue_vue_type_script_setup_true_lang-XAhOu66i.js.map +0 -1
  201. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-K7lsVEs_.js +0 -2
  202. package/dist/RenderComponentOrSkip.vue_vue_type_script_lang-Ceo_5VTw.js +0 -2
  203. package/dist/RenderComponentOrSkip.vue_vue_type_script_lang-Ceo_5VTw.js.map +0 -1
  204. package/dist/RenderComponentOrSkip.vue_vue_type_script_lang-CvaXFCLB.mjs +0 -30
  205. package/dist/RenderComponentOrSkip.vue_vue_type_script_lang-CvaXFCLB.mjs.map +0 -1
  206. package/dist/floatingUi-DuqFUobT.js +0 -2
  207. package/dist/index-C7voPgOJ.mjs.map +0 -1
  208. package/dist/index-CZM7tYbG.js.map +0 -1
  209. package/dist/index-DDTY5-Kx.js +0 -2
  210. package/dist/index-DDTY5-Kx.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),o=require("./BTransition.vue_vue_type_style_index_0_lang-dOw0_NRO.js"),t=require("./BCloseButton.vue_vue_type_script_setup_true_lang-CiJc3utn.js"),l=require("./BButton.vue_vue_type_script_setup_true_lang-Ce8NKGox.js"),a=require("./useCountdownHover-pVk1zcyl.js"),s=require("./useDefaults-Cd8OVIUI.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 c=r,d=s.useDefaults(c,"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-${d.variant}`]:null!==d.variant,"alert-dismissible":d.dismissible}))),C=e.computed((()=>[d.closeClass,{"btn-close-custom":_.value}])),{isActive:k,pause:b,resume:w,stop:g,isPaused:q,restart:x,value:H}=a.useCountdown(B,d.interval,{immediate:"number"==typeof f.value&&d.immediate});a.useCountdownHover(v,e.computed((()=>({noHoverPause:d.noHoverPause,noResumeOnHoverLeave:d.noResumeOnHoverLeave}))),{pause:b,resume:w});const P=e.computed((()=>"boolean"==typeof f.value?f.value:k.value||d.showOnPause&&q.value)),V=e.computed((()=>({variant:_.value?d.closeVariant:void 0,class:C.value})));e.watchEffect((()=>{m("close-countdown",H.value)}));const h=()=>{m("close"),"boolean"==typeof f.value?f.value=!1:(f.value=0,g()),m("closed")};return n({pause:b,resume:w,stop:g,restart:x}),(a,s)=>(e.openBlock(),e.createBlock(o._sfc_main,{"no-fade":!e.unref(d).fade,"trans-props":{enterToClass:"show"}},{default:e.withCtx((()=>[P.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(d).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[_.value||e.unref(d).closeContent?(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps({key:0},V.value,{onClick:h}),{default:e.withCtx((()=>[e.renderSlot(a.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(d).closeLabel},V.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-d1c92ab3"]]);exports.BAlert=i;
2
- //# sourceMappingURL=BAlert-CL62oEyH.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-CiJc3utn.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-Ce8NKGox.js"),a=require("./useCountdownHover-pVk1zcyl.js"),s=require("./useDefaults-Cd8OVIUI.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:x,value:H}=a.useCountdown(B,c.interval,{immediate:"number"==typeof f.value&&c.immediate});a.useCountdownHover(v,e.computed((()=>({noHoverPause:c.noHoverPause,noResumeOnHoverLeave:c.noResumeOnHoverLeave}))),{pause:b,resume:g});const P=e.computed((()=>"boolean"==typeof f.value?f.value:k.value||c.showOnPause&&q.value)),V=e.computed((()=>({variant:_.value?c.closeVariant:void 0,class:C.value})));e.watchEffect((()=>{m("close-countdown",H.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:x}),(a,s)=>(e.openBlock(),e.createBlock(o._sfc_main,{"no-fade":!e.unref(c).fade,"trans-props":{enterToClass:"show"}},{default:e.withCtx((()=>[P.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},V.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},V.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-d1c92ab3"]]);exports.BAlert=i;
2
+ //# sourceMappingURL=BAlert-Bdp4uj3z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert-CL62oEyH.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 })),\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","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,yBAE9B,CAACX,QAAOC,WAGV,MAAMW,EAAiBvB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUf,EAAMmC,aAAeV,EAASV,QAGjDqB,EAAazB,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQf,EAAMqC,kBAAe,EACnDC,MAAOnB,EAAaJ,UAGtBwB,EAAAA,aAAY,KACLrC,EAAA,kBAAmByB,EAAYZ,MAAK,IAG3C,MAAMyB,EAAO,KACXtC,EAAK,SAE2B,kBAArBM,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,OAIrBb,EAAK,SAAQ,SAGFuC,EAAA,CACXnB,QACAC,SACAC,OACAE"}
1
+ {"version":3,"file":"BAlert-Bdp4uj3z.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 })),\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","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,yBAE9B,CAACX,QAAOC,WAGV,MAAMW,EAAiBvB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUf,EAAMmC,aAAeV,EAASV,QAGjDqB,EAAazB,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQf,EAAMqC,kBAAe,EACnDC,MAAOnB,EAAaJ,UAGtBwB,EAAAA,aAAY,KACLrC,EAAA,kBAAmByB,EAAYZ,MAAK,IAG3C,MAAMyB,EAAO,KACXtC,EAAK,SAE2B,kBAArBM,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,OAIrBb,EAAK,SAAQ,SAGFuC,EAAA,CACXnB,QACAC,SACAC,OACAE"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, useSlots, inject, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, createCommentVNode, provide, toRef } from "vue";
2
2
  import { h as avatarGroupInjectionKey } from "./keys-CLEaYsGj.mjs";
3
3
  import { _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-C39-ereM.mjs";
4
- import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DvnR6bcm.mjs";
4
+ import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs";
5
5
  import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
6
6
  import { i as isEmptySlot } from "./dom-B-SQyhbA.mjs";
7
7
  import { u as useNumberishToStyle } from "./useNumberishToStyle-BWrWARZP.mjs";
@@ -262,4 +262,4 @@ export {
262
262
  _sfc_main$1 as _,
263
263
  _sfc_main as a
264
264
  };
265
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-CJHztvxJ.mjs.map
265
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-CJHztvxJ.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-BQCUzNG6.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./keys-BgAe7wbu.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-D0XJTOKS.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-CnrZmyKT.js"),i=require("./useDefaults-Cd8OVIUI.js"),v=require("./index-BInTFWT4.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=v,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=o.useBLinkHelper(f),S=e.inject(t.avatarGroupInjectionKey,null),x=["sm",null,"lg"],V=e.computed((()=>!u.isEmptySlot(g.default))),k=e.computed((()=>!u.isEmptySlot(g.badge))),_=e.computed((()=>!!f.badge||""===f.badge||k.value)),N=e.computed((()=>(null==S?void 0:S.square.value)||f.square)),h=d.useNumberishToStyle((()=>f.size)),E=d.useNumberishToStyle((()=>null==S?void 0:S.size.value)),C=e.computed((()=>E.value??h.value)),q=e.computed((()=>(null==S?void 0:S.variant.value)??f.variant)),T=e.computed((()=>(null==S?void 0:S.rounded.value)??f.rounded)),z=e.computed((()=>(null==S?void 0:S.roundedTop.value)??f.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??f.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??f.roundedStart)),$=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??f.roundedEnd)),w=n.useRadiusElementClasses((()=>({rounded:T.value,roundedTop:z.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:$.value}))),D=e.computed((()=>!0===f.badge?"":f.badge)),L=e.computed((()=>!D.value&&!k.value)),O=e.computed((()=>(null==S?void 0:S.textVariant.value)??f.textVariant)),P=e.computed((()=>(null==S?void 0:S.bgVariant.value)??f.bgVariant)),H=r.useColorVariantClasses((()=>({bgVariant:P.value,textVariant:O.value,variant:q.value}))),A=e.computed((()=>[H.value,!0===N.value?void 0:w.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==x.indexOf(h.value),[`btn-${q.value}`]:!!f.button&&null!==q.value,badge:!f.button&&null!==q.value&&V.value,btn:f.button,"rounded-0":!0===N.value}])),G=e.computed((()=>({fontSize:(-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.27999999999999997)`:"")||""}))),I=e.computed((()=>{const e=-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.4)`:null;return e?{fontSize:e}:{}})),M=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=C.value&&t?`calc(${C.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),K=e.computed((()=>y.value?a._sfc_main:f.button?"button":"span")),W=e.computed((()=>({...M.value,width:C.value??void 0,height:C.value??void 0}))),F=e=>{f.disabled||!y.value&&!f.button||b("click",e)},J=e=>{b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(K.value),e.mergeProps({class:["b-avatar",A.value],style:W.value},e.unref(B),{type:f.button&&!e.unref(y)?f.buttonType:void 0,disabled:f.disabled||null,onClick:F}),{default:e.withCtx((()=>[V.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):f.src?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:f.src,alt:f.alt,onError:J},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(I.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),_.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||L.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(G.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(D.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-CyH7wDxA.js.map
1
+ "use strict";const e=require("vue"),t=require("./keys-BgAe7wbu.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.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-CnrZmyKT.js"),i=require("./useDefaults-Cd8OVIUI.js"),v=require("./index-BInTFWT4.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=v,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=o.useBLinkHelper(f),S=e.inject(t.avatarGroupInjectionKey,null),x=["sm",null,"lg"],V=e.computed((()=>!u.isEmptySlot(g.default))),k=e.computed((()=>!u.isEmptySlot(g.badge))),_=e.computed((()=>!!f.badge||""===f.badge||k.value)),N=e.computed((()=>(null==S?void 0:S.square.value)||f.square)),h=d.useNumberishToStyle((()=>f.size)),E=d.useNumberishToStyle((()=>null==S?void 0:S.size.value)),C=e.computed((()=>E.value??h.value)),q=e.computed((()=>(null==S?void 0:S.variant.value)??f.variant)),T=e.computed((()=>(null==S?void 0:S.rounded.value)??f.rounded)),z=e.computed((()=>(null==S?void 0:S.roundedTop.value)??f.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??f.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??f.roundedStart)),$=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??f.roundedEnd)),w=n.useRadiusElementClasses((()=>({rounded:T.value,roundedTop:z.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:$.value}))),D=e.computed((()=>!0===f.badge?"":f.badge)),L=e.computed((()=>!D.value&&!k.value)),O=e.computed((()=>(null==S?void 0:S.textVariant.value)??f.textVariant)),P=e.computed((()=>(null==S?void 0:S.bgVariant.value)??f.bgVariant)),H=r.useColorVariantClasses((()=>({bgVariant:P.value,textVariant:O.value,variant:q.value}))),A=e.computed((()=>[H.value,!0===N.value?void 0:w.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==x.indexOf(h.value),[`btn-${q.value}`]:!!f.button&&null!==q.value,badge:!f.button&&null!==q.value&&V.value,btn:f.button,"rounded-0":!0===N.value}])),G=e.computed((()=>({fontSize:(-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.27999999999999997)`:"")||""}))),I=e.computed((()=>{const e=-1===x.indexOf(C.value||null)?`calc(${C.value} * 0.4)`:null;return e?{fontSize:e}:{}})),M=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=C.value&&t?`calc(${C.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),K=e.computed((()=>y.value?a._sfc_main:f.button?"button":"span")),W=e.computed((()=>({...M.value,width:C.value??void 0,height:C.value??void 0}))),F=e=>{f.disabled||!y.value&&!f.button||b("click",e)},J=e=>{b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(K.value),e.mergeProps({class:["b-avatar",A.value],style:W.value},e.unref(B),{type:f.button&&!e.unref(y)?f.buttonType:void 0,disabled:f.disabled||null,onClick:F}),{default:e.withCtx((()=>[V.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):f.src?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:f.src,alt:f.alt,onError:J},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(I.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),_.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||L.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(G.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(D.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-CyH7wDxA.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","value","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","computedTextVariant","textVariant","computedBgVariant","bgVariant","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-KyttEVIS.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!props.src\" class=\"b-avatar-img\">\n <img :src=\"props.src\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" /></svg\n ></span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, type StyleValue} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst computedTextVariant = computed(() => parentData?.textVariant.value ?? props.textVariant)\nconst computedBgVariant = computed(() => parentData?.bgVariant.value ?? props.bgVariant)\n\nconst resolvedBackgroundClasses = useColorVariantClasses(() => ({\n bgVariant: computedBgVariant.value,\n textVariant: computedTextVariant.value,\n variant: computedVariant.value,\n}))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","value","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","computedTextVariant","textVariant","computedBgVariant","bgVariant","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./useColorVariantClasses-CnrZmyKT.js"),o=require("./useDefaults-Cd8OVIUI.js"),d=require("./BLink.vue_vue_type_script_setup_true_lang-CGvuLpmP.js"),l=require("./ConditionalWrapper.vue_vue_type_script_lang-E5HgRId6.js"),r=e.defineComponent({__name:"BBadge",props:{dotIndicator:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},placement:{default:void 0},tag:{default:"span"},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null}},setup(r){const i=r,n=o.useDefaults(i,"BBadge"),u=a.useColorVariantClasses(n),{computedLink:s,computedLinkProps:p}=t.useBLinkHelper(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]),c=e.computed((()=>s.value?d._sfc_main:n.tag)),v=e.computed((()=>{const e=n.placement??(n.dotIndicator?"top-end":void 0);return["position-absolute","translate-middle",{"start-0 top-0":"top-start"===e,"start-0 top-50":"start"===e,"start-0 top-100":"bottom-start"===e,"start-50 top-0":"top"===e,"start-50 top-100":"bottom"===e,"start-100 top-0":"top-end"===e,"start-100 top-50":"end"===e,"start-100 top-100":"bottom-end"===e}]})),f=e.computed((()=>[u.value,void 0!==n.placement||!0===n.dotIndicator?v.value:void 0,{active:n.active,disabled:n.disabled,"rounded-pill":n.pill,"p-2 border border-light rounded-circle":n.dotIndicator,"text-decoration-none":s.value}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({class:["badge",f.value]},e.unref(p)),{default:e.withCtx((()=>[e.createVNode(l._sfc_main,e.mergeProps({skip:!0!==e.unref(n).dotIndicator,tag:"span"},e.unref(n).dotIndicator?{class:"visually-hidden"}:{}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["skip"])])),_:3},16,["class"]))}});exports._sfc_main=r;
2
+ //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-DCsuZiB5.js","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["_props","__props","props","useDefaults","resolvedBackgroundClasses","useColorVariantClasses","computedLink","computedLinkProps","useBLinkHelper","computedTag","computed","value","BLink","tag","placementClasses","pos","placement","dotIndicator","computedClasses","active","disabled","pill"],"mappings":"mqCA0BA,MAAMA,EAASC,EAkCTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAA4BC,yBAAuBH,IAEnDI,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeN,EAAO,CAC9D,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAGIO,EAAcC,EAASA,UAAA,IAAOJ,EAAaK,MAAQC,YAAQV,EAAMW,MAEjEC,EAAmBJ,EAAAA,UAAS,KAEhC,MAAMK,EAAMb,EAAMc,YAAcd,EAAMe,aAAe,eAAY,GAC1D,MAAA,CACL,oBACA,mBACA,CACE,gBAAyB,cAARF,EACjB,iBAA0B,UAARA,EAClB,kBAA2B,iBAARA,EACnB,iBAA0B,QAARA,EAClB,mBAA4B,WAARA,EACpB,kBAA2B,YAARA,EACnB,mBAA4B,QAARA,EACpB,oBAA6B,eAARA,GACvB,IAIEG,EAAkBR,EAAAA,UAAS,IAAM,CACrCN,EAA0BO,WACN,IAApBT,EAAMc,YAAkD,IAAvBd,EAAMe,aAAwBH,EAAiBH,WAAQ,EACxF,CACEQ,OAAUjB,EAAMiB,OAChBC,SAAYlB,EAAMkB,SAClB,eAAgBlB,EAAMmB,KACtB,yCAA0CnB,EAAMe,aAChD,uBAAwBX,EAAaK"}
@@ -3,7 +3,7 @@ import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
3
3
  import { u as useColorVariantClasses } from "./useColorVariantClasses-WMXe7khu.mjs";
4
4
  import { u as useDefaults } from "./useDefaults-BYx9NNxn.mjs";
5
5
  import { _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-C39-ereM.mjs";
6
- import { _ as _sfc_main$2 } from "./RenderComponentOrSkip.vue_vue_type_script_lang-CvaXFCLB.mjs";
6
+ import { _ as _sfc_main$2 } from "./ConditionalWrapper.vue_vue_type_script_lang-C_5wlT3v.mjs";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "BBadge",
9
9
  props: {
@@ -111,4 +111,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
111
111
  export {
112
112
  _sfc_main as _
113
113
  };
114
- //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DvnR6bcm.mjs.map
114
+ //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-DEK8-y8e.mjs","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,SAAS;AAkCT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAEpC,UAAA,4BAA4B,uBAAuB,KAAK;AAE9D,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,cAAc,SAAS,MAAO,aAAa,QAAQA,cAAQ,MAAM,GAAI;AAErE,UAAA,mBAAmB,SAAS,MAAM;AAEtC,YAAM,MAAM,MAAM,cAAc,MAAM,eAAe,YAAY;AAC1D,aAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,QAAQ;AAAA,UACzB,kBAAkB,QAAQ;AAAA,UAC1B,mBAAmB,QAAQ;AAAA,UAC3B,kBAAkB,QAAQ;AAAA,UAC1B,oBAAoB,QAAQ;AAAA,UAC5B,mBAAmB,QAAQ;AAAA,UAC3B,oBAAoB,QAAQ;AAAA,UAC5B,qBAAqB,QAAQ;AAAA,QAC/B;AAAA,MAAA;AAAA,IACF,CACD;AAEK,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,0BAA0B;AAAA,MAC1B,MAAM,cAAc,UAAa,MAAM,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,MACxF;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,YAAY,MAAM;AAAA,QAClB,gBAAgB,MAAM;AAAA,QACtB,0CAA0C,MAAM;AAAA,QAChD,wBAAwB,aAAa;AAAA,MACvC;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./dom-C-F8jHop.js"),a=require("./useColorVariantClasses-CnrZmyKT.js"),r=require("./useDefaults-Cd8OVIUI.js"),l=require("./BImg.vue_vue_type_script_setup_true_lang-Bg2OW6gi.js"),o=require("./object-B-6ddRYH.js"),d=require("./index-CnY1um_J.js"),n=e.defineComponent({__name:"BCardImg",props:{placement:{default:"top"},blank:{type:Boolean,default:void 0},blankColor:{default:void 0},block:{type:Boolean,default:void 0},fluid:{type:Boolean,default:void 0},fluidGrow:{type:Boolean,default:void 0},height:{default:void 0},tag:{},lazy:{type:Boolean,default:void 0},sizes:{default:void 0},src:{default:void 0},srcset:{default:void 0},thumbnail:{type:Boolean,default:void 0},width:{default:void 0},rounded:{type:[Boolean,String,Number],default:void 0},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(t){const a=t,d=r.useDefaults(a,"BCardImg"),n=e.computed((()=>({"card-img-top":"top"===d.placement,"card-img-end":"end"===d.placement,"card-img-bottom":"bottom"===d.placement,"card-img-start":"start"===d.placement,"card-img":"overlay"===d.placement}))),i=e.computed((()=>o.omit(d,["placement"])));return(t,a)=>(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps(i.value,{class:n.value}),null,16,["class"]))}}),i=["innerHTML"],u=e.defineComponent({__name:"BCardHeadFoot",props:{borderVariant:{default:null},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(t){const r=t,l=a.useColorVariantClasses(r),o=e.computed((()=>[l.value,{[`border-${r.borderVariant}`]:null!==r.borderVariant}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx((()=>[t.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.html},null,8,i)):e.renderSlot(t.$slots,"default",{key:1},(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]))])),_:3},8,["class"]))}}),s=e.defineComponent({__name:"BCardHeader",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardHeader");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-header"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16))}}),f=e.defineComponent({__name:"BCardTitle",props:{tag:{default:"h4"},text:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardTitle");return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:"card-title"},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3}))}}),c=e.defineComponent({__name:"BCardSubtitle",props:{text:{default:void 0},tag:{default:"h6"},textVariant:{default:"body-secondary"}},setup(t){const a=t,l=r.useDefaults(a,"BCardSubtitle"),o=e.computed((()=>({[`text-${l.textVariant}`]:null!==l.textVariant})));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:e.normalizeClass(["card-subtitle mb-2",o.value])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},8,["class"]))}}),m=e.defineComponent({__name:"BCardBody",props:{overlay:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h4"},subtitleTextVariant:{default:void 0},tag:{default:"div"},text:{default:void 0},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,d=r.useDefaults(o,"BCardBody"),n=e.useSlots(),i=a.useColorVariantClasses(d),u=e.computed((()=>!t.isEmptySlot(n.title))),s=e.computed((()=>!t.isEmptySlot(n.subtitle))),m=e.computed((()=>[i.value,d.overlay?"card-img-overlay":"card-body"]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).tag),{class:e.normalizeClass(m.value)},{default:e.withCtx((()=>[e.unref(d).title||u.value?(e.openBlock(),e.createBlock(f,{key:0,tag:e.unref(d).titleTag},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).title),1)]))])),_:3},8,["tag"])):e.createCommentVNode("",!0),e.unref(d).subtitle||s.value?(e.openBlock(),e.createBlock(c,{key:1,tag:e.unref(d).subtitleTag,"text-variant":e.unref(d).subtitleTextVariant},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"subtitle",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).subtitle),1)]))])),_:3},8,["tag","text-variant"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).text),1)]))])),_:3},8,["class"]))}}),v=e.defineComponent({__name:"BCardFooter",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardFooter");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-footer"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},16))}}),p=e.defineComponent({__name:"BCard",props:{align:{default:void 0},bodyBgVariant:{default:void 0},bodyClass:{default:void 0},bodyTag:{default:"div"},bodyText:{default:""},bodyTextVariant:{default:void 0},borderVariant:{default:null},footer:{default:void 0},footerBgVariant:{default:void 0},footerBorderVariant:{default:void 0},footerClass:{default:void 0},footerHtml:{default:""},footerTag:{default:"div"},footerTextVariant:{default:void 0},footerVariant:{default:null},header:{default:void 0},headerBgVariant:{default:void 0},headerBorderVariant:{default:void 0},headerClass:{default:void 0},headerHtml:{default:""},headerTag:{default:"div"},headerTextVariant:{default:void 0},headerVariant:{default:null},imgAlt:{default:void 0},imgPlacement:{default:"top"},imgHeight:{default:void 0},imgSrc:{default:void 0},imgWidth:{default:void 0},noBody:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h6"},subtitleTextVariant:{default:"body-secondary"},tag:{default:"div"},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,i=r.useDefaults(o,"BCard"),u=e.useSlots(),f=e.computed((()=>!t.isEmptySlot(u.header))),c=e.computed((()=>!t.isEmptySlot(u.footer))),p=a.useColorVariantClasses(i),g=e.computed((()=>[p.value,{[`text-${i.align}`]:void 0!==i.align,[`border-${i.borderVariant}`]:null!==i.borderVariant,"flex-row":"start"===i.imgPlacement,"flex-row-reverse":"end"===i.imgPlacement}])),b=e.computed((()=>({src:i.imgSrc,alt:i.imgAlt,height:i.imgHeight,width:i.imgWidth,placement:i.imgPlacement}))),x=d.createReusableTemplate();return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i).tag),{class:e.normalizeClass(["card",g.value])},{default:e.withCtx((()=>[e.createVNode(e.unref(x).define,null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"img",{},(()=>[e.unref(i).imgSrc?(e.openBlock(),e.createBlock(n,e.normalizeProps(e.mergeProps({key:0},b.value)),null,16)):e.createCommentVNode("",!0)]))])),_:3}),"bottom"!==e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:0})):e.createCommentVNode("",!0),e.unref(i).header||f.value||e.unref(i).headerHtml?(e.openBlock(),e.createBlock(s,{key:1,"bg-variant":e.unref(i).headerBgVariant,variant:e.unref(i).headerVariant,"border-variant":e.unref(i).headerBorderVariant,html:e.unref(i).headerHtml,tag:e.unref(i).headerTag,"text-variant":e.unref(i).headerTextVariant,class:e.normalizeClass(e.unref(i).headerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).header),1)]))])),_:3},8,["bg-variant","variant","border-variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),e.unref(i).noBody?e.renderSlot(t.$slots,"default",{key:3},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)])):(e.openBlock(),e.createBlock(m,{key:2,overlay:"overlay"===e.unref(i).imgPlacement,"bg-variant":e.unref(i).bodyBgVariant,tag:e.unref(i).bodyTag,"text-variant":e.unref(i).bodyTextVariant,subtitle:e.unref(i).subtitle,"subtitle-tag":e.unref(i).subtitleTag,"subtitle-text-variant":e.unref(i).subtitleTextVariant,title:e.unref(i).title,"title-tag":e.unref(i).titleTag,class:e.normalizeClass(e.unref(i).bodyClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)]))])),_:3},8,["overlay","bg-variant","tag","text-variant","subtitle","subtitle-tag","subtitle-text-variant","title","title-tag","class"])),e.unref(i).footer||c.value||e.unref(i).footerHtml?(e.openBlock(),e.createBlock(v,{key:4,"bg-variant":e.unref(i).footerBgVariant,"border-variant":e.unref(i).footerBorderVariant,variant:e.unref(i).footerVariant,html:e.unref(i).footerHtml,tag:e.unref(i).footerTag,"text-variant":e.unref(i).footerTextVariant,class:e.normalizeClass(e.unref(i).footerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).footer),1)]))])),_:3},8,["bg-variant","border-variant","variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),"bottom"===e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:5})):e.createCommentVNode("",!0)])),_:3},8,["class"]))}});exports._sfc_main=p,exports._sfc_main$1=m,exports._sfc_main$2=v,exports._sfc_main$3=s,exports._sfc_main$4=n,exports._sfc_main$5=c,exports._sfc_main$6=f;
2
- //# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-TLAEs-XJ.js.map
1
+ "use strict";const e=require("vue"),t=require("./dom-C-F8jHop.js"),a=require("./useColorVariantClasses-CnrZmyKT.js"),r=require("./useDefaults-Cd8OVIUI.js"),l=require("./BImg.vue_vue_type_script_setup_true_lang-PsEMJvqR.js"),o=require("./object-B-6ddRYH.js"),d=require("./index-CnY1um_J.js"),n=e.defineComponent({__name:"BCardImg",props:{placement:{default:"top"},blank:{type:Boolean,default:void 0},blankColor:{default:void 0},block:{type:Boolean,default:void 0},fluid:{type:Boolean,default:void 0},fluidGrow:{type:Boolean,default:void 0},height:{default:void 0},tag:{},lazy:{type:Boolean,default:void 0},sizes:{default:void 0},src:{default:void 0},srcset:{default:void 0},thumbnail:{type:Boolean,default:void 0},width:{default:void 0},rounded:{type:[Boolean,String,Number],default:void 0},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(t){const a=t,d=r.useDefaults(a,"BCardImg"),n=e.computed((()=>({"card-img-top":"top"===d.placement,"card-img-end":"end"===d.placement,"card-img-bottom":"bottom"===d.placement,"card-img-start":"start"===d.placement,"card-img":"overlay"===d.placement}))),i=e.computed((()=>o.omit(d,["placement"])));return(t,a)=>(e.openBlock(),e.createBlock(l._sfc_main,e.mergeProps(i.value,{class:n.value}),null,16,["class"]))}}),i=["innerHTML"],u=e.defineComponent({__name:"BCardHeadFoot",props:{borderVariant:{default:null},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(t){const r=t,l=a.useColorVariantClasses(r),o=e.computed((()=>[l.value,{[`border-${r.borderVariant}`]:null!==r.borderVariant}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx((()=>[t.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.html},null,8,i)):e.renderSlot(t.$slots,"default",{key:1},(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]))])),_:3},8,["class"]))}}),s=e.defineComponent({__name:"BCardHeader",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardHeader");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-header"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16))}}),f=e.defineComponent({__name:"BCardTitle",props:{tag:{default:"h4"},text:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardTitle");return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:"card-title"},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3}))}}),c=e.defineComponent({__name:"BCardSubtitle",props:{text:{default:void 0},tag:{default:"h6"},textVariant:{default:"body-secondary"}},setup(t){const a=t,l=r.useDefaults(a,"BCardSubtitle"),o=e.computed((()=>({[`text-${l.textVariant}`]:null!==l.textVariant})));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).tag),{class:e.normalizeClass(["card-subtitle mb-2",o.value])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},8,["class"]))}}),m=e.defineComponent({__name:"BCardBody",props:{overlay:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h4"},subtitleTextVariant:{default:void 0},tag:{default:"div"},text:{default:void 0},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,d=r.useDefaults(o,"BCardBody"),n=e.useSlots(),i=a.useColorVariantClasses(d),u=e.computed((()=>!t.isEmptySlot(n.title))),s=e.computed((()=>!t.isEmptySlot(n.subtitle))),m=e.computed((()=>[i.value,d.overlay?"card-img-overlay":"card-body"]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).tag),{class:e.normalizeClass(m.value)},{default:e.withCtx((()=>[e.unref(d).title||u.value?(e.openBlock(),e.createBlock(f,{key:0,tag:e.unref(d).titleTag},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).title),1)]))])),_:3},8,["tag"])):e.createCommentVNode("",!0),e.unref(d).subtitle||s.value?(e.openBlock(),e.createBlock(c,{key:1,tag:e.unref(d).subtitleTag,"text-variant":e.unref(d).subtitleTextVariant},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"subtitle",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).subtitle),1)]))])),_:3},8,["tag","text-variant"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).text),1)]))])),_:3},8,["class"]))}}),v=e.defineComponent({__name:"BCardFooter",props:{borderVariant:{default:void 0},html:{default:void 0},tag:{default:"div"},text:{default:void 0},variant:{default:void 0},bgVariant:{default:void 0},textVariant:{default:void 0}},setup(t){const a=t,l=r.useDefaults(a,"BCardFooter");return(t,a)=>(e.openBlock(),e.createBlock(u,e.mergeProps({class:"card-footer"},e.unref(l)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).text),1)]))])),_:3},16))}}),p=e.defineComponent({__name:"BCard",props:{align:{default:void 0},bodyBgVariant:{default:void 0},bodyClass:{default:void 0},bodyTag:{default:"div"},bodyText:{default:""},bodyTextVariant:{default:void 0},borderVariant:{default:null},footer:{default:void 0},footerBgVariant:{default:void 0},footerBorderVariant:{default:void 0},footerClass:{default:void 0},footerHtml:{default:""},footerTag:{default:"div"},footerTextVariant:{default:void 0},footerVariant:{default:null},header:{default:void 0},headerBgVariant:{default:void 0},headerBorderVariant:{default:void 0},headerClass:{default:void 0},headerHtml:{default:""},headerTag:{default:"div"},headerTextVariant:{default:void 0},headerVariant:{default:null},imgAlt:{default:void 0},imgPlacement:{default:"top"},imgHeight:{default:void 0},imgSrc:{default:void 0},imgWidth:{default:void 0},noBody:{type:Boolean,default:!1},subtitle:{default:void 0},subtitleTag:{default:"h6"},subtitleTextVariant:{default:"body-secondary"},tag:{default:"div"},title:{default:void 0},titleTag:{default:"h4"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null}},setup(l){const o=l,i=r.useDefaults(o,"BCard"),u=e.useSlots(),f=e.computed((()=>!t.isEmptySlot(u.header))),c=e.computed((()=>!t.isEmptySlot(u.footer))),p=a.useColorVariantClasses(i),g=e.computed((()=>[p.value,{[`text-${i.align}`]:void 0!==i.align,[`border-${i.borderVariant}`]:null!==i.borderVariant,"flex-row":"start"===i.imgPlacement,"flex-row-reverse":"end"===i.imgPlacement}])),b=e.computed((()=>({src:i.imgSrc,alt:i.imgAlt,height:i.imgHeight,width:i.imgWidth,placement:i.imgPlacement}))),x=d.createReusableTemplate();return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i).tag),{class:e.normalizeClass(["card",g.value])},{default:e.withCtx((()=>[e.createVNode(e.unref(x).define,null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"img",{},(()=>[e.unref(i).imgSrc?(e.openBlock(),e.createBlock(n,e.normalizeProps(e.mergeProps({key:0},b.value)),null,16)):e.createCommentVNode("",!0)]))])),_:3}),"bottom"!==e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:0})):e.createCommentVNode("",!0),e.unref(i).header||f.value||e.unref(i).headerHtml?(e.openBlock(),e.createBlock(s,{key:1,"bg-variant":e.unref(i).headerBgVariant,variant:e.unref(i).headerVariant,"border-variant":e.unref(i).headerBorderVariant,html:e.unref(i).headerHtml,tag:e.unref(i).headerTag,"text-variant":e.unref(i).headerTextVariant,class:e.normalizeClass(e.unref(i).headerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).header),1)]))])),_:3},8,["bg-variant","variant","border-variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),e.unref(i).noBody?e.renderSlot(t.$slots,"default",{key:3},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)])):(e.openBlock(),e.createBlock(m,{key:2,overlay:"overlay"===e.unref(i).imgPlacement,"bg-variant":e.unref(i).bodyBgVariant,tag:e.unref(i).bodyTag,"text-variant":e.unref(i).bodyTextVariant,subtitle:e.unref(i).subtitle,"subtitle-tag":e.unref(i).subtitleTag,"subtitle-text-variant":e.unref(i).subtitleTextVariant,title:e.unref(i).title,"title-tag":e.unref(i).titleTag,class:e.normalizeClass(e.unref(i).bodyClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).bodyText),1)]))])),_:3},8,["overlay","bg-variant","tag","text-variant","subtitle","subtitle-tag","subtitle-text-variant","title","title-tag","class"])),e.unref(i).footer||c.value||e.unref(i).footerHtml?(e.openBlock(),e.createBlock(v,{key:4,"bg-variant":e.unref(i).footerBgVariant,"border-variant":e.unref(i).footerBorderVariant,variant:e.unref(i).footerVariant,html:e.unref(i).footerHtml,tag:e.unref(i).footerTag,"text-variant":e.unref(i).footerTextVariant,class:e.normalizeClass(e.unref(i).footerClass)},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).footer),1)]))])),_:3},8,["bg-variant","border-variant","variant","html","tag","text-variant","class"])):e.createCommentVNode("",!0),"bottom"===e.unref(i).imgPlacement?(e.openBlock(),e.createBlock(e.unref(x).reuse,{key:5})):e.createCommentVNode("",!0)])),_:3},8,["class"]))}});exports._sfc_main=p,exports._sfc_main$1=m,exports._sfc_main$2=v,exports._sfc_main$3=s,exports._sfc_main$4=n,exports._sfc_main$5=c,exports._sfc_main$6=f;
2
+ //# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-TLAEs-XJ.js","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCard.vue"],"sourcesContent":["<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types/ComponentProps'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_props","__props","props","useDefaults","baseAlignmentClasses","computed","placement","computedImgProps","omit","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","value","borderVariant","textVariant","slots","_useSlots","hasTitleSlot","isEmptySlot","title","hasSubtitleSlot","subtitle","overlay","hasHeaderSlot","header","hasFooterSlot","footer","align","imgPlacement","imgAttr","src","imgSrc","alt","imgAlt","height","imgHeight","width","imgWidth","ReusableImg","createReusableTemplate"],"mappings":"ygCAWA,MAAMA,EAASC,EAsBTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BI,EAAuBC,EAAAA,UAAS,KAAO,CAC3C,eAAoC,QAApBH,EAAMI,UAEtB,eAAoC,QAApBJ,EAAMI,UACtB,kBAAuC,WAApBJ,EAAMI,UAEzB,iBAAsC,UAApBJ,EAAMI,UACxB,WAAgC,YAApBJ,EAAMI,cAGdC,EAAmBF,EAAAA,UAAS,IAAMG,EAAAA,KAAKN,EAAO,CAAC,wXC9BrD,MAAMA,EAAQD,EAiBRQ,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,UAAUV,EAAMW,iBAA0C,OAAxBX,EAAMW,ilBC1B7C,MAAMb,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,uRCVlC,MAAMA,EAASC,EAITC,EAAQC,EAAAA,YAAYH,EAAQ,8YCHlC,MAAMA,EAASC,EAKTC,EAAQC,EAAAA,YAAYH,EAAQ,iBAO5BW,EAAkBN,EAAAA,UAAS,KAAO,CACtC,CAAC,QAAQH,EAAMY,eAAsC,OAAtBZ,EAAMY,4oBCOvC,MAAMd,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,aAE5Be,EAAQC,EAAAA,WASRP,EAA4BC,yBAAuBR,GAEnDe,EAAeZ,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMI,SACjDC,EAAkBf,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMM,YAEpDV,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1BV,EAAMoB,QAAU,mBAAqB,ylCCrDvC,MAAMtB,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,w1CCiDlC,MAAMA,EAASC,EA0CTC,EAAQC,EAAAA,YAAYH,EAAQ,SAE5Be,EAAQC,EAAAA,WAWRO,EAAgBlB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMS,UAClDC,EAAgBpB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMW,UAElDjB,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,QAAQV,EAAMyB,cAA0B,IAAhBzB,EAAMyB,MAC/B,CAAC,UAAUzB,EAAMW,iBAA0C,OAAxBX,EAAMW,cACzC,WAAmC,UAAvBX,EAAM0B,aAClB,mBAA2C,QAAvB1B,EAAM0B,iBAIxBC,EAAUxB,EAAAA,UAAS,KAAO,CAC9ByB,IAAK5B,EAAM6B,OACXC,IAAK9B,EAAM+B,OACXC,OAAQhC,EAAMiC,UACdC,MAAOlC,EAAMmC,SACb/B,UAAWJ,EAAM0B,iBAGbU,EAAcC,EAAAA"}
1
+ {"version":3,"file":"BCard.vue_vue_type_script_setup_true_lang-CKMe2MBp.js","sources":["../src/components/BCard/BCardImg.vue","../src/components/BCard/BCardHeadFoot.vue","../src/components/BCard/BCardHeader.vue","../src/components/BCard/BCardTitle.vue","../src/components/BCard/BCardSubtitle.vue","../src/components/BCard/BCardBody.vue","../src/components/BCard/BCardFooter.vue","../src/components/BCard/BCard.vue"],"sourcesContent":["<template>\n <BImg v-bind=\"computedImgProps\" :class=\"baseAlignmentClasses\" />\n</template>\n\n<script setup lang=\"ts\">\nimport BImg from '../BImg/BImg.vue'\nimport type {BCardImgProps} from '../../types/ComponentProps'\nimport {omit} from '../../utils/object'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardImgProps>(), {\n placement: 'top',\n // BImg props\n blank: undefined,\n blankColor: undefined,\n block: undefined,\n fluid: undefined,\n fluidGrow: undefined,\n height: undefined,\n lazy: undefined,\n rounded: undefined,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n sizes: undefined,\n src: undefined,\n srcset: undefined,\n thumbnail: undefined,\n width: undefined,\n // End BImg props\n})\nconst props = useDefaults(_props, 'BCardImg')\n\nconst baseAlignmentClasses = computed(() => ({\n 'card-img-top': props.placement === 'top',\n // TODO implement this class\n 'card-img-end': props.placement === 'end',\n 'card-img-bottom': props.placement === 'bottom',\n // TODO implement this class\n 'card-img-start': props.placement === 'start',\n 'card-img': props.placement === 'overlay',\n}))\n\nconst computedImgProps = computed(() => omit(props, ['placement']))\n</script>\n","<template>\n <component :is=\"tag\" :class=\"computedClasses\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <div v-if=\"!!html\" v-html=\"html\" />\n <slot v-else>\n {{ text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: null,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n },\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-header\" v-bind=\"props\">\n <slot />\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardHeader')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-title\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardTitleProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BCardTitleProps>(), {\n tag: 'h4',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardTitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-subtitle mb-2\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardSubtitleProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BCardSubtitleProps>(), {\n tag: 'h6',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BCardSubtitle')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedClasses = computed(() => ({\n [`text-${props.textVariant}`]: props.textVariant !== null,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <BCardTitle v-if=\"!!props.title || hasTitleSlot\" :tag=\"props.titleTag\">\n <slot name=\"title\">\n {{ props.title }}\n </slot>\n </BCardTitle>\n\n <BCardSubtitle\n v-if=\"!!props.subtitle || hasSubtitleSlot\"\n :tag=\"props.subtitleTag\"\n :text-variant=\"props.subtitleTextVariant\"\n >\n <slot name=\"subtitle\">\n {{ props.subtitle }}\n </slot>\n </BCardSubtitle>\n\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BCardTitle from './BCardTitle.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport BCardSubtitle from './BCardSubtitle.vue'\nimport type {BCardBodyProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardBodyProps>(), {\n overlay: false,\n subtitle: undefined,\n subtitleTag: 'h4',\n subtitleTextVariant: undefined,\n tag: 'div',\n text: undefined,\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardBody')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n subtitle?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst hasTitleSlot = computed(() => !isEmptySlot(slots.title))\nconst hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle))\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n props.overlay ? 'card-img-overlay' : 'card-body',\n])\n</script>\n","<template>\n <BCardHeadFoot class=\"card-footer\" v-bind=\"props\">\n <slot>\n {{ props.text }}\n </slot>\n </BCardHeadFoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardHeadFootProps} from '../../types/ComponentProps'\nimport BCardHeadFoot from './BCardHeadFoot.vue'\n\nconst _props = withDefaults(defineProps<BCardHeadFootProps>(), {\n borderVariant: undefined,\n html: undefined,\n tag: 'div',\n text: undefined,\n // ColorExtendables props\n bgVariant: undefined,\n textVariant: undefined,\n variant: undefined,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCardFooter')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card\" :class=\"computedClasses\">\n <ReusableImg.define>\n <slot name=\"img\">\n <BCardImg v-if=\"props.imgSrc\" v-bind=\"imgAttr\" />\n </slot>\n </ReusableImg.define>\n\n <ReusableImg.reuse v-if=\"props.imgPlacement !== 'bottom'\" />\n <BCardHeader\n v-if=\"props.header || hasHeaderSlot || props.headerHtml\"\n :bg-variant=\"props.headerBgVariant\"\n :variant=\"props.headerVariant\"\n :border-variant=\"props.headerBorderVariant\"\n :html=\"props.headerHtml\"\n :tag=\"props.headerTag\"\n :text-variant=\"props.headerTextVariant\"\n :class=\"props.headerClass\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </BCardHeader>\n <BCardBody\n v-if=\"!props.noBody\"\n :overlay=\"props.imgPlacement === 'overlay'\"\n :bg-variant=\"props.bodyBgVariant\"\n :tag=\"props.bodyTag\"\n :text-variant=\"props.bodyTextVariant\"\n :subtitle=\"props.subtitle\"\n :subtitle-tag=\"props.subtitleTag\"\n :subtitle-text-variant=\"props.subtitleTextVariant\"\n :title=\"props.title\"\n :title-tag=\"props.titleTag\"\n :class=\"props.bodyClass\"\n >\n <slot>\n {{ props.bodyText }}\n </slot>\n </BCardBody>\n <slot v-else>\n {{ props.bodyText }}\n </slot>\n <BCardFooter\n v-if=\"props.footer || hasFooterSlot || props.footerHtml\"\n :bg-variant=\"props.footerBgVariant\"\n :border-variant=\"props.footerBorderVariant\"\n :variant=\"props.footerVariant\"\n :html=\"props.footerHtml\"\n :tag=\"props.footerTag\"\n :text-variant=\"props.footerTextVariant\"\n :class=\"props.footerClass\"\n >\n <slot name=\"footer\">\n {{ props.footer }}\n </slot>\n </BCardFooter>\n <ReusableImg.reuse v-if=\"props.imgPlacement === 'bottom'\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport {computed} from 'vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BCardImg from './BCardImg.vue'\nimport BCardHeader from './BCardHeader.vue'\nimport BCardBody from './BCardBody.vue'\nimport BCardFooter from './BCardFooter.vue'\nimport {createReusableTemplate} from '@vueuse/core'\n\nconst _props = withDefaults(defineProps<BCardProps>(), {\n align: undefined,\n bodyBgVariant: undefined,\n bodyClass: undefined,\n bodyTag: 'div',\n bodyText: '',\n bodyTextVariant: undefined,\n borderVariant: null,\n footer: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerClass: undefined,\n footerHtml: '',\n footerTag: 'div',\n footerTextVariant: undefined,\n footerVariant: null,\n header: undefined,\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerClass: undefined,\n headerHtml: '',\n headerTag: 'div',\n headerTextVariant: undefined,\n headerVariant: null,\n imgAlt: undefined,\n imgPlacement: 'top',\n imgHeight: undefined,\n imgSrc: undefined,\n imgWidth: undefined,\n noBody: false,\n subtitle: undefined,\n subtitleTag: 'h6',\n subtitleTextVariant: 'body-secondary',\n tag: 'div',\n title: undefined,\n titleTag: 'h4',\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BCard')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n footer?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n header?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n img?: (props: Record<string, never>) => any\n}>()\n\nconst hasHeaderSlot = computed(() => !isEmptySlot(slots.header))\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\n\nconst resolvedBackgroundClasses = useColorVariantClasses(props)\n\nconst computedClasses = computed(() => [\n resolvedBackgroundClasses.value,\n {\n [`text-${props.align}`]: props.align !== undefined,\n [`border-${props.borderVariant}`]: props.borderVariant !== null,\n 'flex-row': props.imgPlacement === 'start',\n 'flex-row-reverse': props.imgPlacement === 'end',\n },\n])\n\nconst imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement,\n}))\n\nconst ReusableImg = createReusableTemplate()\n</script>\n"],"names":["_props","__props","props","useDefaults","baseAlignmentClasses","computed","placement","computedImgProps","omit","resolvedBackgroundClasses","useColorVariantClasses","computedClasses","value","borderVariant","textVariant","slots","_useSlots","hasTitleSlot","isEmptySlot","title","hasSubtitleSlot","subtitle","overlay","hasHeaderSlot","header","hasFooterSlot","footer","align","imgPlacement","imgAttr","src","imgSrc","alt","imgAlt","height","imgHeight","width","imgWidth","ReusableImg","createReusableTemplate"],"mappings":"ygCAWA,MAAMA,EAASC,EAsBTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BI,EAAuBC,EAAAA,UAAS,KAAO,CAC3C,eAAoC,QAApBH,EAAMI,UAEtB,eAAoC,QAApBJ,EAAMI,UACtB,kBAAuC,WAApBJ,EAAMI,UAEzB,iBAAsC,UAApBJ,EAAMI,UACxB,WAAgC,YAApBJ,EAAMI,cAGdC,EAAmBF,EAAAA,UAAS,IAAMG,EAAAA,KAAKN,EAAO,CAAC,wXC9BrD,MAAMA,EAAQD,EAiBRQ,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,UAAUV,EAAMW,iBAA0C,OAAxBX,EAAMW,ilBC1B7C,MAAMb,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,uRCVlC,MAAMA,EAASC,EAITC,EAAQC,EAAAA,YAAYH,EAAQ,8YCHlC,MAAMA,EAASC,EAKTC,EAAQC,EAAAA,YAAYH,EAAQ,iBAO5BW,EAAkBN,EAAAA,UAAS,KAAO,CACtC,CAAC,QAAQH,EAAMY,eAAsC,OAAtBZ,EAAMY,4oBCOvC,MAAMd,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,aAE5Be,EAAQC,EAAAA,WASRP,EAA4BC,yBAAuBR,GAEnDe,EAAeZ,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMI,SACjDC,EAAkBf,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMM,YAEpDV,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1BV,EAAMoB,QAAU,mBAAqB,ylCCrDvC,MAAMtB,EAASC,EAWTC,EAAQC,EAAAA,YAAYH,EAAQ,w1CCiDlC,MAAMA,EAASC,EA0CTC,EAAQC,EAAAA,YAAYH,EAAQ,SAE5Be,EAAQC,EAAAA,WAWRO,EAAgBlB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMS,UAClDC,EAAgBpB,EAAAA,UAAS,KAAOa,EAAYA,YAAAH,EAAMW,UAElDjB,EAA4BC,yBAAuBR,GAEnDS,EAAkBN,EAAAA,UAAS,IAAM,CACrCI,EAA0BG,MAC1B,CACE,CAAC,QAAQV,EAAMyB,cAA0B,IAAhBzB,EAAMyB,MAC/B,CAAC,UAAUzB,EAAMW,iBAA0C,OAAxBX,EAAMW,cACzC,WAAmC,UAAvBX,EAAM0B,aAClB,mBAA2C,QAAvB1B,EAAM0B,iBAIxBC,EAAUxB,EAAAA,UAAS,KAAO,CAC9ByB,IAAK5B,EAAM6B,OACXC,IAAK9B,EAAM+B,OACXC,OAAQhC,EAAMiC,UACdC,MAAOlC,EAAMmC,SACb/B,UAAWJ,EAAM0B,iBAGbU,EAAcC,EAAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),l=require("./classes-CXBJXuVd.js"),t=require("./useId-z7cQCT28.js"),a=require("./index-CnY1um_J.js"),o=require("./useDefaults-Cd8OVIUI.js"),n=require("./keys-BgAe7wbu.js"),r=require("./index-BInTFWT4.js"),u=require("./BImg.vue_vue_type_script_setup_true_lang-PsEMJvqR.js"),i=require("./dom-C-F8jHop.js"),s=["id"],c={key:0,class:"carousel-indicators"},d=["aria-current","aria-label","onClick"],v={class:"visually-hidden"},m={class:"visually-hidden"},f=e.defineComponent({__name:"BCarousel",props:e.mergeModels({background:{default:void 0},controls:{type:Boolean,default:!1},controlsNextText:{default:"Next"},controlsPrevText:{default:"Previous"},fade:{type:Boolean,default:!1},id:{default:void 0},imgHeight:{default:void 0},imgWidth:{default:void 0},indicators:{type:Boolean,default:!1},indicatorsButtonLabel:{default:"Slide"},interval:{default:5e3},keyboard:{type:Boolean,default:!0},noAnimation:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},noTouch:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},ride:{type:[Boolean,String],default:!1},rideReverse:{type:Boolean,default:!1},touchThreshold:{default:50}},{modelValue:{default:0},modelModifiers:{}}),emits:e.mergeModels(["slide","slid","click:prev","click:next"],["update:modelValue"]),setup(u,{expose:i,emit:f}){const p=u,k=o.useDefaults(p,"BCarousel"),g=f,y=e.useSlots(),B=t.useId((()=>k.id),"carousel"),h=e.useModel(u,"modelValue"),b=e.ref(null),x=r.useToNumber((()=>k.touchThreshold)),C=e.ref(null);e.onMounted((()=>{var e,l;C.value=(null==(l=null==(e=b.value)?void 0:e.find((e=>"none"!==e.$el.style.display)))?void 0:l._interval)??null}));const S=r.useToNumber((()=>C.value??k.interval)),_=e.ref(!1),E=e.ref(!1),T=e.ref(!0),V=e.ref(null),w=e.ref(null),H=e.ref(h.value),N=a.useElementHover(w),$=e.computed((()=>`carousel-item carousel-item-${T.value?"prev":"next"} carousel-item-${T.value?"end":"start"}`)),D=e.computed((()=>"carousel-item active carousel-item-"+(T.value?"start":"end"))),{pause:L,resume:j}=r.useIntervalFn((()=>{k.rideReverse?P():R()}),S,{immediate:"carousel"===k.ride}),q=e.computed((()=>!0===k.ride&&!0===E.value||"carousel"===k.ride)),M=e.computed((()=>{return e=y.default,l="BCarouselSlide",((null==e?void 0:e())??[]).reduce(((e,l)=>("symbol"==typeof l.type?e=e.concat(l.children):e.push(l),e)),[]).filter((e=>{var t;return(null==(t=e.type)?void 0:t.__name)===l}));var e,l})),A=e.computed((()=>({"carousel-fade":k.fade}))),W=e=>{var t;return new l.BvCarouselEvent(e,{componentId:B.value,cancelable:!1,target:w.value,direction:T.value?"right":"left",from:H.value,to:h.value,relatedTarget:(null==(t=V.value)?void 0:t.children[h.value])??null})},I=e=>{if(!0!==_.value)if(!0===k.ride&&(E.value=!0),!0===q.value&&j(),T.value=!(e<h.value),e>=M.value.length){if(k.noWrap)return;h.value=0}else if(e<0){if(k.noWrap)return;h.value=M.value.length-1}else H.value=h.value,h.value=e},P=()=>{I(h.value-1)},R=()=>{I(h.value+1)},z=e=>{!1!==k.keyboard&&e()},{lengthX:F}=a.useSwipe(w,{passive:!0,onSwipeStart(){!0!==k.noTouch&&L()},onSwipeEnd(){if(!0===k.noTouch)return;const e=()=>{!1!==q.value&&j()};if(F.value>=x.value)return R(),void e();F.value<=-x.value&&(P(),e())}}),K=()=>{g("slide",W("slide")),_.value=!0},U=()=>{g("slid",W("slid")),_.value=!1},X=e=>{0!==h.value&&e.classList.add("carousel-item")},G=e=>{var l,t;C.value=(null==(t=null==(l=b.value)?void 0:l.find((l=>l.$el===e)))?void 0:t._interval)??null};a.onKeyStroke("ArrowLeft",(()=>{z(P)}),{target:w}),a.onKeyStroke("ArrowRight",(()=>{z(R)}),{target:w}),e.watch((()=>k.ride),(()=>{E.value=!1})),e.watch(N,(e=>{e?k.noHoverPause||L():q.value&&j()}));const J=e=>{g("click:prev",e),e.defaultPrevented||P()},O=e=>{g("click:next",e),e.defaultPrevented||R()};return i({next:R,pause:L,prev:P,resume:j}),e.provide(n.carouselInjectionKey,{background:e.toRef((()=>k.background)),width:e.toRef((()=>k.imgWidth)),height:e.toRef((()=>k.imgHeight))}),(l,t)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(B),ref_key:"element",ref:w,class:e.normalizeClass(["carousel slide pointer-event",A.value])},[e.unref(k).indicators?(e.openBlock(),e.createElementBlock("div",c,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value.length,((l,t)=>(e.openBlock(),e.createElementBlock("button",{key:t,type:"button","data-bs-target":"",class:e.normalizeClass(t===h.value?"active":""),"aria-current":t===h.value||void 0,"aria-label":`${e.unref(k).indicatorsButtonLabel} ${t}`,onClick:e=>I(t)},null,10,d)))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"relatedTarget",ref:V,class:"carousel-inner"},[e.createVNode(e.TransitionGroup,{"enter-from-class":$.value,"enter-active-class":$.value,"enter-to-class":$.value,"leave-from-class":D.value,"leave-active-class":D.value,"leave-to-class":D.value,onBeforeLeave:K,onAfterLeave:U,onAfterEnter:X,onEnter:G},{default:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,((l,t)=>e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(l),{key:t,ref_for:!0,ref_key:"slideValues",ref:b,class:e.normalizeClass({active:t===h.value&&!1===_.value}),style:e.normalizeStyle(e.unref(k).noAnimation&&{transition:"none"})},null,8,["class","style"])),[[e.vShow,t===h.value]]))),128))])),_:1},8,["enter-from-class","enter-active-class","enter-to-class","leave-from-class","leave-active-class","leave-to-class"])],512),e.unref(k).controls?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:"carousel-control-prev",type:"button",onClick:J},[t[0]||(t[0]=e.createElementVNode("span",{class:"carousel-control-prev-icon","aria-hidden":"true"},null,-1)),e.createElementVNode("span",v,e.toDisplayString(e.unref(k).controlsPrevText),1)]),e.createElementVNode("button",{class:"carousel-control-next",type:"button",onClick:O},[t[1]||(t[1]=e.createElementVNode("span",{class:"carousel-control-next-icon","aria-hidden":"true"},null,-1)),e.createElementVNode("span",m,e.toDisplayString(e.unref(k).controlsNextText),1)])],64)):e.createCommentVNode("",!0)],10,s))}}),p=["innerHTML"],k={key:1},g=["innerHTML"],y={key:1},B=e.defineComponent({__name:"BCarouselSlide",props:{background:{default:void 0},caption:{default:void 0},captionHtml:{default:void 0},captionTag:{default:"h3"},contentTag:{default:"div"},contentVisibleUp:{default:void 0},id:{default:void 0},imgAlt:{default:void 0},imgBlank:{type:Boolean,default:!1},imgBlankColor:{default:"transparent"},imgHeight:{default:void 0},imgSrc:{default:void 0},imgSrcset:{default:void 0},imgWidth:{default:void 0},interval:{default:void 0},text:{default:void 0},textHtml:{default:void 0},textTag:{default:"p"}},setup(l,{expose:t}){const a=l,r=o.useDefaults(a,"BCarouselSlide"),s=e.useSlots(),c=e.inject(n.carouselInjectionKey,null),d=e.computed((()=>r.text||r.textHtml||!i.isEmptySlot(s.text))),v=e.computed((()=>r.caption||r.captionHtml||!i.isEmptySlot(s.caption))),m=e.computed((()=>d.value||v.value||!i.isEmptySlot(s.default))),f=e.computed((()=>({background:`${r.background||(null==c?void 0:c.background.value)||"rgb(171, 171, 171)"} none repeat scroll 0% 0%`}))),B=e.computed((()=>({"d-none":void 0!==r.contentVisibleUp,[`d-${r.contentVisibleUp}-block`]:void 0!==r.contentVisibleUp})));return t({_interval:e.toRef((()=>r.interval))}),(l,t)=>(e.openBlock(),e.createElementBlock("div",{class:"carousel-item",style:e.normalizeStyle(f.value)},[e.renderSlot(l.$slots,"img",{},(()=>{var l,t;return[e.createVNode(u._sfc_main,{class:"d-block w-100",alt:e.unref(r).imgAlt,srcset:e.unref(r).imgSrcset,src:e.unref(r).imgSrc,width:e.unref(r).imgWidth||(null==(l=e.unref(c))?void 0:l.width.value),height:e.unref(r).imgHeight||(null==(t=e.unref(c))?void 0:t.height.value),blank:e.unref(r).imgBlank,"blank-color":e.unref(r).imgBlankColor},null,8,["alt","srcset","src","width","height","blank","blank-color"])]})),m.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r).contentTag),{key:0,class:e.normalizeClass(["carousel-caption",B.value])},{default:e.withCtx((()=>[v.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r).captionTag),{key:0},{default:e.withCtx((()=>[e.renderSlot(l.$slots,"caption",{},(()=>[e.unref(r).captionHtml?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:e.unref(r).captionHtml},null,8,p)):(e.openBlock(),e.createElementBlock("span",k,e.toDisplayString(e.unref(r).caption),1))]))])),_:3})):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r).textTag),{key:1},{default:e.withCtx((()=>[e.renderSlot(l.$slots,"text",{},(()=>[e.unref(r).textHtml?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:e.unref(r).textHtml},null,8,g)):(e.openBlock(),e.createElementBlock("span",y,e.toDisplayString(e.unref(r).text),1))]))])),_:3})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")])),_:3},8,["class"])):e.createCommentVNode("",!0)],4))}});exports._sfc_main=f,exports._sfc_main$1=B;
2
+ //# sourceMappingURL=BCarouselSlide.vue_vue_type_script_setup_true_lang-By3HWM0l.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCarouselSlide.vue_vue_type_script_setup_true_lang-By3HWM0l.js","sources":["../src/components/BCarousel/BCarousel.vue","../src/utils/getSlotElements.ts","../src/components/BCarousel/BCarouselSlide.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" ref=\"element\" class=\"carousel slide pointer-event\" :class=\"computedClasses\">\n <div v-if=\"props.indicators\" class=\"carousel-indicators\">\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n @click=\"goToValue(i)\"\n />\n </div>\n\n <div ref=\"relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup\n :enter-from-class=\"enterClasses\"\n :enter-active-class=\"enterClasses\"\n :enter-to-class=\"enterClasses\"\n :leave-from-class=\"leaveClasses\"\n :leave-active-class=\"leaveClasses\"\n :leave-to-class=\"leaveClasses\"\n @before-leave=\"onBeforeLeave\"\n @after-leave=\"onAfterLeave\"\n @after-enter=\"onAfterEnter\"\n @enter=\"onEnter\"\n >\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselProps} from '../../types/ComponentProps'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n // eslint-disable-next-line vue/require-valid-default-prop\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\n\nconst emit = defineEmits<{\n 'slide': [value: BvCarouselEvent]\n 'slid': [value: BvCarouselEvent]\n 'click:prev': [value: MouseEvent]\n 'click:next': [value: MouseEvent]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst computedId = useId(() => props.id, 'carousel')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = ref<null | InstanceType<typeof BCarouselSlide>[]>(null)\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref(true)\nconst relatedTarget = ref<HTMLElement | null>(null)\nconst element = ref<HTMLElement | null>(null)\nconst previousModelValue = ref(modelValue.value)\n\nconst isHovering = useElementHover(element)\n\n// Class carousel-item is a static property\n// If you make it static, the direction can be reversed -- properly (atm it does the carousel-item-${} logic backwards for entering, a weird hack)\n// So all that would be great. However, when you do this, it will break the transition flow. Something about it breaks and I'm not sure why!\n// Try it by removing carousel-item from below and making `!direction.value` => `direction.value` for enter\n// Then reviewing the behavior\nconst enterClasses = computed(\n () =>\n `carousel-item carousel-item-${!direction.value ? 'next' : 'prev'} carousel-item-${\n !direction.value ? 'start' : 'end'\n }`\n)\nconst leaveClasses = computed(\n () => `carousel-item active carousel-item-${direction.value ? 'start' : 'end'}`\n)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n props.rideReverse ? prev() : next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value ? 'right' : 'left',\n from: previousModelValue.value,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nconst goToValue = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n direction.value = value < modelValue.value ? false : true\n if (value >= slides.value.length) {\n if (props.noWrap) return\n modelValue.value = 0\n return\n }\n if (value < 0) {\n if (props.noWrap) return\n modelValue.value = slides.value.length - 1\n return\n }\n previousModelValue.value = modelValue.value\n modelValue.value = value\n}\n\nconst prev = (): void => {\n goToValue(modelValue.value - 1)\n}\nconst next = (): void => {\n goToValue(modelValue.value + 1)\n}\n\nconst onKeydown = (fn: () => void) => {\n if (props.keyboard === false) return\n fn()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch === true) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch === true) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onBeforeLeave = () => {\n emit('slide', buildBvCarouselEvent('slide'))\n isTransitioning.value = true\n}\nconst onAfterLeave = () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n}\n// carousel-item class is removed from the slide during the transition,\n// as is included within enter classes.\n// The first slide recovers carousel-item class,\nconst onAfterEnter = (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n}\nconst onEnter = (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n}\n\nonKeyStroke(\n 'ArrowLeft',\n () => {\n onKeydown(prev)\n },\n {target: element}\n)\nonKeyStroke(\n 'ArrowRight',\n () => {\n onKeydown(next)\n },\n {target: element}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('click:prev', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('click:next', event)\n if (event.defaultPrevented) return\n next()\n}\n\ndefineExpose({\n next,\n pause,\n prev,\n resume,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","import type {Slot, VNode} from 'vue'\n\nexport const getSlotElements = (slot: Slot | undefined, filterBy: string): VNode[] =>\n (slot?.() ?? [])\n .reduce((arr: VNode[], slot: VNode) => {\n if (typeof slot.type === 'symbol') {\n arr = arr.concat(slot.children as unknown as VNode)\n } else {\n arr.push(slot)\n }\n return arr\n }, [])\n .filter((child) => (child.type as {__name: string} | undefined)?.__name === filterBy)\n","<template>\n <div class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-if=\"props.captionHtml\" v-html=\"props.captionHtml\" />\n <span v-else>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-if=\"props.textHtml\" v-html=\"props.textHtml\" />\n <span v-else>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport type {BCarouselSlideProps} from '../../types/ComponentProps'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionHtml: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textHtml: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n caption?: (props: Record<string, never>) => any\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 img?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n text?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || props.textHtml || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || props.captionHtml || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","computedId","useId","id","modelValue","_useModel","slideValues","ref","touchThresholdNumber","useToNumber","touchThreshold","slideInterval","onMounted","value","_b","_a","find","slid","$el","style","display","_interval","intervalNumber","interval","isTransitioning","rideStarted","direction","relatedTarget","element","previousModelValue","isHovering","useElementHover","enterClasses","computed","leaveClasses","pause","resume","useIntervalFn","rideReverse","prev","next","immediate","ride","isRiding","slides","getSlotElements","slot","default","filterBy","reduce","arr","type","concat","children","push","filter","child","__name","computedClasses","fade","buildBvCarouselEvent","event","BvCarouselEvent","componentId","cancelable","target","from","to","goToValue","length","noWrap","onKeydown","fn","keyboard","lengthX","useSwipe","passive","onSwipeStart","noTouch","onSwipeEnd","resumeRiding","onBeforeLeave","onAfterLeave","onAfterEnter","el","classList","add","onEnter","index$1","onKeyStroke","vue","watch","newValue","noHoverPause","onClickPrev","defaultPrevented","onClickNext","__expose","provide","carouselInjectionKey","background","toRef","width","imgWidth","height","imgHeight","parentData","inject","hasText","text","textHtml","isEmptySlot","hasCaption","caption","captionHtml","hasContent","computedStyle","computedContentClasses","contentVisibleUp"],"mappings":"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"}