bootstrap-vue-next 0.26.0 → 0.26.2

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 (367) hide show
  1. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-DGwvrTfm.js → BAccordionItem.vue_vue_type_script_setup_true_lang-CR4QGNxG.js} +2 -2
  2. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-DGwvrTfm.js.map → BAccordionItem.vue_vue_type_script_setup_true_lang-CR4QGNxG.js.map} +1 -1
  3. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-CVVVKs5b.mjs → BAccordionItem.vue_vue_type_script_setup_true_lang-Mqtf0bUM.mjs} +2 -2
  4. package/dist/{BAccordionItem.vue_vue_type_script_setup_true_lang-CVVVKs5b.mjs.map → BAccordionItem.vue_vue_type_script_setup_true_lang-Mqtf0bUM.mjs.map} +1 -1
  5. package/dist/{BAlert-COBpr3sv.mjs → BAlert-BB_bZt_q.mjs} +14 -17
  6. package/dist/BAlert-BB_bZt_q.mjs.map +1 -0
  7. package/dist/BAlert-Bp9pkSfK.js +2 -0
  8. package/dist/BAlert-Bp9pkSfK.js.map +1 -0
  9. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-Dj32ncpo.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-Cb65-bb-.mjs} +2 -2
  10. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-Dj32ncpo.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-Cb65-bb-.mjs.map} +1 -1
  11. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BaX2OeNe.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-DZ3xkS3h.js} +2 -2
  12. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BaX2OeNe.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-DZ3xkS3h.js.map} +1 -1
  13. package/dist/BButton.vue_vue_type_script_setup_true_lang-B4cV85yE.js +2 -0
  14. package/dist/BButton.vue_vue_type_script_setup_true_lang-B4cV85yE.js.map +1 -0
  15. package/dist/{BButton.vue_vue_type_script_setup_true_lang-jzwMHPCL.mjs → BButton.vue_vue_type_script_setup_true_lang-lrwWXcOo.mjs} +4 -5
  16. package/dist/BButton.vue_vue_type_script_setup_true_lang-lrwWXcOo.mjs.map +1 -0
  17. package/dist/{BCard.vue_vue_type_script_setup_true_lang-uuViGYvP.mjs → BCard.vue_vue_type_script_setup_true_lang-BCnS8x6G.mjs} +3 -3
  18. package/dist/{BCard.vue_vue_type_script_setup_true_lang-uuViGYvP.mjs.map → BCard.vue_vue_type_script_setup_true_lang-BCnS8x6G.mjs.map} +1 -1
  19. package/dist/{BCard.vue_vue_type_script_setup_true_lang-C94Ny0_G.js → BCard.vue_vue_type_script_setup_true_lang-CNvlyL3Z.js} +2 -2
  20. package/dist/{BCard.vue_vue_type_script_setup_true_lang-C94Ny0_G.js.map → BCard.vue_vue_type_script_setup_true_lang-CNvlyL3Z.js.map} +1 -1
  21. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-BTxHsxO-.js +2 -0
  22. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-BTxHsxO-.js.map +1 -0
  23. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-BTWNL7bv.mjs → BCarouselSlide.vue_vue_type_script_setup_true_lang-Cirpx-_l.mjs} +17 -19
  24. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-Cirpx-_l.mjs.map +1 -0
  25. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-Dgmxrsug.mjs → BCollapse.vue_vue_type_script_setup_true_lang-BBjRm6fq.mjs} +4 -5
  26. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-BBjRm6fq.mjs.map +1 -0
  27. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-Cfo7uvq0.js +2 -0
  28. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-Cfo7uvq0.js.map +1 -0
  29. package/dist/{BDropdown-CjksY2j0.mjs → BDropdown-BYH3ZAU-.mjs} +14 -20
  30. package/dist/BDropdown-BYH3ZAU-.mjs.map +1 -0
  31. package/dist/BDropdown-CkEaFJIg.js +2 -0
  32. package/dist/BDropdown-CkEaFJIg.js.map +1 -0
  33. package/dist/{BForm.vue_vue_type_script_setup_true_lang-BkJ_oJlm.mjs → BForm.vue_vue_type_script_setup_true_lang-B5bHc7eP.mjs} +3 -4
  34. package/dist/BForm.vue_vue_type_script_setup_true_lang-B5bHc7eP.mjs.map +1 -0
  35. package/dist/BForm.vue_vue_type_script_setup_true_lang-D7vAQtAd.js +2 -0
  36. package/dist/BForm.vue_vue_type_script_setup_true_lang-D7vAQtAd.js.map +1 -0
  37. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-B0eE66-q.js +2 -0
  38. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-B0eE66-q.js.map +1 -0
  39. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DxqJb-gk.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C2eyYb7W.mjs} +6 -8
  40. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C2eyYb7W.mjs.map +1 -0
  41. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-B9EU3pXf.js +2 -0
  42. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-B9EU3pXf.js.map +1 -0
  43. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-C_pOZSjF.mjs → BFormFile.vue_vue_type_script_setup_true_lang-ahAVeycB.mjs} +4 -5
  44. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-ahAVeycB.mjs.map +1 -0
  45. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-C9aNLzoU.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-BOF_9paa.mjs} +10 -13
  46. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BOF_9paa.mjs.map +1 -0
  47. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BYv2AhIY.js +2 -0
  48. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BYv2AhIY.js.map +1 -0
  49. package/dist/{BFormInput.vue_vue_type_script_setup_true_lang-CW2mbEMC.mjs → BFormInput.vue_vue_type_script_setup_true_lang-D77ghldn.mjs} +4 -5
  50. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-D77ghldn.mjs.map +1 -0
  51. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-vwYIMH5-.js +2 -0
  52. package/dist/{BFormInput.vue_vue_type_script_setup_true_lang-CW2mbEMC.mjs.map → BFormInput.vue_vue_type_script_setup_true_lang-vwYIMH5-.js.map} +1 -1
  53. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-9lI-fckK.js +2 -0
  54. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-9lI-fckK.js.map +1 -0
  55. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-Bx613lZi.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang-jWrWxJil.mjs} +6 -8
  56. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-jWrWxJil.mjs.map +1 -0
  57. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Bti_-QrZ.js → BFormSelect.vue_vue_type_script_setup_true_lang-BCh64vO9.js} +2 -2
  58. package/dist/BFormSelect.vue_vue_type_script_setup_true_lang-BCh64vO9.js.map +1 -0
  59. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-CcuEI8B1.mjs → BFormSelect.vue_vue_type_script_setup_true_lang-BudRyG3L.mjs} +5 -6
  60. package/dist/BFormSelect.vue_vue_type_script_setup_true_lang-BudRyG3L.mjs.map +1 -0
  61. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DeGtw7Np.js +2 -0
  62. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DeGtw7Np.js.map +1 -0
  63. package/dist/{BFormSpinbutton.vue_vue_type_script_setup_true_lang-fgdiiWN2.mjs → BFormSpinbutton.vue_vue_type_script_setup_true_lang-Dgg3hDA4.mjs} +5 -6
  64. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-Dgg3hDA4.mjs.map +1 -0
  65. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-B0nneNg9.mjs → BFormTags.vue_vue_type_script_setup_true_lang-BpJRNfak.mjs} +5 -6
  66. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-BpJRNfak.mjs.map +1 -0
  67. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-CyxKiaV-.js +2 -0
  68. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-CyxKiaV-.js.map +1 -0
  69. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-WGrVKcpl.mjs → BFormTextarea.vue_vue_type_script_setup_true_lang-BtBnBQCz.mjs} +5 -6
  70. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-BtBnBQCz.mjs.map +1 -0
  71. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-DTRaZFYd.js +2 -0
  72. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-DTRaZFYd.js.map +1 -0
  73. package/dist/{BImg.vue_vue_type_script_setup_true_lang-DhC2Vk9Z.mjs → BImg.vue_vue_type_script_setup_true_lang-BVN7j33D.mjs} +2 -2
  74. package/dist/{BImg.vue_vue_type_script_setup_true_lang-DhC2Vk9Z.mjs.map → BImg.vue_vue_type_script_setup_true_lang-BVN7j33D.mjs.map} +1 -1
  75. package/dist/{BImg.vue_vue_type_script_setup_true_lang-JB2OX10-.js → BImg.vue_vue_type_script_setup_true_lang-CBaoYZWA.js} +2 -2
  76. package/dist/{BImg.vue_vue_type_script_setup_true_lang-JB2OX10-.js.map → BImg.vue_vue_type_script_setup_true_lang-CBaoYZWA.js.map} +1 -1
  77. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-BXWj7EJY.js +2 -0
  78. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-BXWj7EJY.js.map +1 -0
  79. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dkt9GuHM.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CYXOtT68.mjs} +17 -21
  80. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-CYXOtT68.mjs.map +1 -0
  81. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-_JNKtlRG.mjs → BNavText.vue_vue_type_script_setup_true_lang-BwWo3o9v.mjs} +5 -8
  82. package/dist/BNavText.vue_vue_type_script_setup_true_lang-BwWo3o9v.mjs.map +1 -0
  83. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-CFSY1iCd.js → BNavText.vue_vue_type_script_setup_true_lang-D9qRxSC0.js} +2 -2
  84. package/dist/BNavText.vue_vue_type_script_setup_true_lang-D9qRxSC0.js.map +1 -0
  85. package/dist/BOffcanvas-bQLAzGI5.js +2 -0
  86. package/dist/BOffcanvas-bQLAzGI5.js.map +1 -0
  87. package/dist/{BOffcanvas-DYTUqwmj.mjs → BOffcanvas-jNrNrzFs.mjs} +11 -13
  88. package/dist/BOffcanvas-jNrNrzFs.mjs.map +1 -0
  89. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B_zDf3PL.js +2 -0
  90. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-B_zDf3PL.js.map +1 -0
  91. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-CF8MBpFj.mjs → BOverlay.vue_vue_type_script_setup_true_lang-D5QxBmgl.mjs} +10 -10
  92. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-D5QxBmgl.mjs.map +1 -0
  93. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-DrXb2dtD.js → BPagination.vue_vue_type_script_setup_true_lang-BffhFkrf.js} +2 -2
  94. package/dist/BPagination.vue_vue_type_script_setup_true_lang-BffhFkrf.js.map +1 -0
  95. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-BAqonaXX.mjs → BPagination.vue_vue_type_script_setup_true_lang-FDkSHePk.mjs} +4 -4
  96. package/dist/BPagination.vue_vue_type_script_setup_true_lang-FDkSHePk.mjs.map +1 -0
  97. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C_BFTc8x.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CnpYu99m.js} +2 -2
  98. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-C_BFTc8x.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CnpYu99m.js.map} +1 -1
  99. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DxhRmuRT.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-f9LOZG6Q.mjs} +3 -3
  100. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DxhRmuRT.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-f9LOZG6Q.mjs.map} +1 -1
  101. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DvC2d-V_.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CGcJniB3.mjs} +3 -3
  102. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DvC2d-V_.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CGcJniB3.mjs.map} +1 -1
  103. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-jUAzENYy.js → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Da82UJ3a.js} +2 -2
  104. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-jUAzENYy.js.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Da82UJ3a.js.map} +1 -1
  105. package/dist/{BProgress.vue_vue_type_script_setup_true_lang-DbYSlAZS.mjs → BProgress.vue_vue_type_script_setup_true_lang-BeUxb0jI.mjs} +2 -2
  106. package/dist/{BProgress.vue_vue_type_script_setup_true_lang-DbYSlAZS.mjs.map → BProgress.vue_vue_type_script_setup_true_lang-BeUxb0jI.mjs.map} +1 -1
  107. package/dist/{BProgress.vue_vue_type_script_setup_true_lang-C1MowBF2.js → BProgress.vue_vue_type_script_setup_true_lang-CArs-qZE.js} +2 -2
  108. package/dist/{BProgress.vue_vue_type_script_setup_true_lang-C1MowBF2.js.map → BProgress.vue_vue_type_script_setup_true_lang-CArs-qZE.js.map} +1 -1
  109. package/dist/{BTable.vue_vue_type_script_setup_true_lang-CL7N_k3n.js → BTable.vue_vue_type_script_setup_true_lang-DaAKsobA.js} +2 -2
  110. package/dist/{BTable.vue_vue_type_script_setup_true_lang-CL7N_k3n.js.map → BTable.vue_vue_type_script_setup_true_lang-DaAKsobA.js.map} +1 -1
  111. package/dist/{BTable.vue_vue_type_script_setup_true_lang-B5kHO2QG.mjs → BTable.vue_vue_type_script_setup_true_lang-P65fHW6M.mjs} +2 -2
  112. package/dist/{BTable.vue_vue_type_script_setup_true_lang-B5kHO2QG.mjs.map → BTable.vue_vue_type_script_setup_true_lang-P65fHW6M.mjs.map} +1 -1
  113. package/dist/{BTabs.vue_vue_type_script_setup_true_lang-BVSuBB6u.mjs → BTabs.vue_vue_type_script_setup_true_lang-C1QBQZAw.mjs} +4 -5
  114. package/dist/BTabs.vue_vue_type_script_setup_true_lang-C1QBQZAw.mjs.map +1 -0
  115. package/dist/BTabs.vue_vue_type_script_setup_true_lang-CYJUEEhg.js +2 -0
  116. package/dist/BTabs.vue_vue_type_script_setup_true_lang-CYJUEEhg.js.map +1 -0
  117. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-BfX-wDFF.js +2 -0
  118. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-BfX-wDFF.js.map +1 -0
  119. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-7MSO655C.mjs → BToastOrchestrator.vue_vue_type_style_index_0_lang-CD-aPss7.mjs} +7 -8
  120. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-CD-aPss7.mjs.map +1 -0
  121. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-ChWjwYlI.js → BTooltip.vue_vue_type_script_setup_true_lang-Bg1NpHis.js} +2 -2
  122. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-3PE20_TY.mjs.map → BTooltip.vue_vue_type_script_setup_true_lang-Bg1NpHis.js.map} +1 -1
  123. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-3PE20_TY.mjs → BTooltip.vue_vue_type_script_setup_true_lang-DjQ6vJ-I.mjs} +4 -7
  124. package/dist/BTooltip.vue_vue_type_script_setup_true_lang-DjQ6vJ-I.mjs.map +1 -0
  125. package/dist/bootstrap-vue-next.css +1 -1
  126. package/dist/bootstrap-vue-next.mjs +33 -33
  127. package/dist/bootstrap-vue-next.umd.js +1 -1
  128. package/dist/{floatingUi-CaHdWUtW.mjs → floatingUi-DOXQNrB3.mjs} +29 -24
  129. package/dist/{floatingUi-CaHdWUtW.mjs.map → floatingUi-DOXQNrB3.mjs.map} +1 -1
  130. package/dist/floatingUi-DoSVLDYW.js +2 -0
  131. package/dist/{floatingUi-CDisVIY4.js.map → floatingUi-DoSVLDYW.js.map} +1 -1
  132. package/dist/{index-mh6YsupP.js → index-B1347JUu.js} +2 -2
  133. package/dist/index-B1347JUu.js.map +1 -0
  134. package/dist/{index-DNkIH70v.js → index-BqHkgtNq.js} +2 -2
  135. package/dist/{index-DNkIH70v.js.map → index-BqHkgtNq.js.map} +1 -1
  136. package/dist/{index-BzNnAdg6.js → index-CSe17yC0.js} +2 -2
  137. package/dist/{index-BzNnAdg6.js.map → index-CSe17yC0.js.map} +1 -1
  138. package/dist/index-CWsKyx47.js.map +1 -1
  139. package/dist/{index-BgXbxfV9.mjs → index-Cr5Qd2ql.mjs} +2 -2
  140. package/dist/{index-BgXbxfV9.mjs.map → index-Cr5Qd2ql.mjs.map} +1 -1
  141. package/dist/{index-dpbv1toz.mjs → index-D3jGjWWk.mjs} +64 -3
  142. package/dist/{index-dpbv1toz.mjs.map → index-D3jGjWWk.mjs.map} +1 -1
  143. package/dist/{index-BWVwr4xQ.mjs → index-J1HQO7SU.mjs} +33 -33
  144. package/dist/{index-BWVwr4xQ.mjs.map → index-J1HQO7SU.mjs.map} +1 -1
  145. package/dist/index-sLCKmIWG.mjs.map +1 -1
  146. package/dist/src/components/BAccordion/index.mjs +1 -1
  147. package/dist/src/components/BAccordion/index.umd.js +1 -1
  148. package/dist/src/components/BAlert/BAlert.vue.d.mts +1 -1
  149. package/dist/src/components/BAlert/BAlert.vue.d.ts +1 -1
  150. package/dist/src/components/BAlert/index.mjs +1 -1
  151. package/dist/src/components/BAlert/index.umd.js +1 -1
  152. package/dist/src/components/BAvatar/index.mjs +1 -1
  153. package/dist/src/components/BAvatar/index.umd.js +1 -1
  154. package/dist/src/components/BButton/BButton.vue.d.mts +1 -1
  155. package/dist/src/components/BButton/BButton.vue.d.ts +1 -1
  156. package/dist/src/components/BButton/index.mjs +1 -1
  157. package/dist/src/components/BButton/index.umd.js +1 -1
  158. package/dist/src/components/BCard/index.mjs +1 -1
  159. package/dist/src/components/BCard/index.umd.js +1 -1
  160. package/dist/src/components/BCarousel/BCarousel.vue.d.mts +3 -3
  161. package/dist/src/components/BCarousel/BCarousel.vue.d.ts +3 -3
  162. package/dist/src/components/BCarousel/index.mjs +1 -1
  163. package/dist/src/components/BCarousel/index.umd.js +1 -1
  164. package/dist/src/components/BCollapse/BCollapse.vue.d.mts +1 -1
  165. package/dist/src/components/BCollapse/BCollapse.vue.d.ts +1 -1
  166. package/dist/src/components/BCollapse/index.mjs +1 -1
  167. package/dist/src/components/BCollapse/index.umd.js +1 -1
  168. package/dist/src/components/BDropdown/BDropdown.vue.d.mts +3 -43
  169. package/dist/src/components/BDropdown/BDropdown.vue.d.ts +3 -43
  170. package/dist/src/components/BDropdown/index.mjs +1 -1
  171. package/dist/src/components/BDropdown/index.umd.js +1 -1
  172. package/dist/src/components/BForm/BForm.vue.d.mts +1 -1
  173. package/dist/src/components/BForm/BForm.vue.d.ts +1 -1
  174. package/dist/src/components/BForm/index.mjs +1 -1
  175. package/dist/src/components/BForm/index.umd.js +1 -1
  176. package/dist/src/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -1
  177. package/dist/src/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -1
  178. package/dist/src/components/BFormCheckbox/BFormCheckboxGroup.vue.d.mts +1 -1
  179. package/dist/src/components/BFormCheckbox/BFormCheckboxGroup.vue.d.ts +1 -1
  180. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  181. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  182. package/dist/src/components/BFormFile/BFormFile.vue.d.mts +1 -1
  183. package/dist/src/components/BFormFile/BFormFile.vue.d.ts +1 -1
  184. package/dist/src/components/BFormFile/index.mjs +1 -1
  185. package/dist/src/components/BFormFile/index.umd.js +1 -1
  186. package/dist/src/components/BFormGroup/BFormGroup.vue.d.mts +1 -1
  187. package/dist/src/components/BFormGroup/BFormGroup.vue.d.ts +1 -1
  188. package/dist/src/components/BFormGroup/index.mjs +1 -1
  189. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  190. package/dist/src/components/BFormInput/index.mjs +1 -1
  191. package/dist/src/components/BFormInput/index.umd.js +1 -1
  192. package/dist/src/components/BFormRadio/BFormRadio.vue.d.mts +1 -1
  193. package/dist/src/components/BFormRadio/BFormRadio.vue.d.ts +1 -1
  194. package/dist/src/components/BFormRadio/BFormRadioGroup.vue.d.mts +1 -1
  195. package/dist/src/components/BFormRadio/BFormRadioGroup.vue.d.ts +1 -1
  196. package/dist/src/components/BFormRadio/index.mjs +1 -1
  197. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  198. package/dist/src/components/BFormSelect/index.mjs +1 -1
  199. package/dist/src/components/BFormSelect/index.umd.js +1 -1
  200. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  201. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  202. package/dist/src/components/BFormTags/BFormTags.vue.d.mts +1 -1
  203. package/dist/src/components/BFormTags/BFormTags.vue.d.ts +1 -1
  204. package/dist/src/components/BFormTags/index.mjs +1 -1
  205. package/dist/src/components/BFormTags/index.umd.js +1 -1
  206. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  207. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  208. package/dist/src/components/BImg/index.mjs +1 -1
  209. package/dist/src/components/BImg/index.umd.js +1 -1
  210. package/dist/src/components/BModal/BModal.vue.d.mts +4 -4
  211. package/dist/src/components/BModal/BModal.vue.d.ts +4 -4
  212. package/dist/src/components/BModal/index.mjs +1 -1
  213. package/dist/src/components/BModal/index.umd.js +1 -1
  214. package/dist/src/components/BNav/BNavItemDropdown.vue.d.mts +1 -1
  215. package/dist/src/components/BNav/BNavItemDropdown.vue.d.ts +1 -1
  216. package/dist/src/components/BNav/index.mjs +1 -1
  217. package/dist/src/components/BNav/index.umd.js +1 -1
  218. package/dist/src/components/BOffcanvas/BOffcanvas.vue.d.mts +2 -2
  219. package/dist/src/components/BOffcanvas/BOffcanvas.vue.d.ts +2 -2
  220. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  221. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  222. package/dist/src/components/BOverlay/index.mjs +1 -1
  223. package/dist/src/components/BOverlay/index.umd.js +1 -1
  224. package/dist/src/components/BPagination/index.mjs +1 -1
  225. package/dist/src/components/BPagination/index.umd.js +1 -1
  226. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  227. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  228. package/dist/src/components/BPopover/BPopover.vue.d.mts +6 -4
  229. package/dist/src/components/BPopover/BPopover.vue.d.ts +6 -4
  230. package/dist/src/components/BPopover/index.mjs +2 -2
  231. package/dist/src/components/BPopover/index.umd.js +1 -1
  232. package/dist/src/components/BProgress/index.mjs +1 -1
  233. package/dist/src/components/BProgress/index.umd.js +1 -1
  234. package/dist/src/components/BTable/index.mjs +1 -1
  235. package/dist/src/components/BTable/index.umd.js +1 -1
  236. package/dist/src/components/BTabs/BTab.vue.d.mts +1 -1
  237. package/dist/src/components/BTabs/BTab.vue.d.ts +1 -1
  238. package/dist/src/components/BTabs/index.mjs +1 -1
  239. package/dist/src/components/BTabs/index.umd.js +1 -1
  240. package/dist/src/components/BToast/BToast.vue.d.mts +1 -1
  241. package/dist/src/components/BToast/BToast.vue.d.ts +1 -1
  242. package/dist/src/components/BToast/index.mjs +1 -1
  243. package/dist/src/components/BToast/index.umd.js +1 -1
  244. package/dist/src/components/BTooltip/BTooltip.vue.d.mts +6 -2
  245. package/dist/src/components/BTooltip/BTooltip.vue.d.ts +6 -2
  246. package/dist/src/components/BTooltip/index.mjs +1 -1
  247. package/dist/src/components/BTooltip/index.umd.js +1 -1
  248. package/dist/src/components/index.mjs +32 -32
  249. package/dist/src/components/index.umd.js +1 -1
  250. package/dist/src/composables/useColorMode/index.mjs +1 -1
  251. package/dist/src/composables/useColorMode/index.umd.js +1 -1
  252. package/dist/src/composables/useModal/index.mjs +1 -1
  253. package/dist/src/composables/useModal/index.umd.js +1 -1
  254. package/dist/src/composables/useModalController/index.mjs +1 -1
  255. package/dist/src/composables/useModalController/index.umd.js +1 -1
  256. package/dist/src/composables/useScrollspy/index.mjs +2 -2
  257. package/dist/src/composables/useScrollspy/index.umd.js +1 -1
  258. package/dist/src/composables/useShowHide.d.mts +3 -0
  259. package/dist/src/composables/useShowHide.d.ts +3 -0
  260. package/dist/src/composables/useTransitions.d.mts +10 -0
  261. package/dist/src/composables/useTransitions.d.ts +10 -0
  262. package/dist/src/directives/BPopover/index.mjs +1 -1
  263. package/dist/src/directives/BPopover/index.umd.js +1 -1
  264. package/dist/src/directives/BTooltip/index.mjs +1 -1
  265. package/dist/src/directives/BTooltip/index.umd.js +1 -1
  266. package/dist/src/types/BootstrapVueOptions.d.mts +0 -1
  267. package/dist/src/types/BootstrapVueOptions.d.ts +0 -1
  268. package/dist/{useCountdownHover-plTCHnIW.js → useCountdownHover-DTpNib77.js} +2 -2
  269. package/dist/{useCountdownHover-plTCHnIW.js.map → useCountdownHover-DTpNib77.js.map} +1 -1
  270. package/dist/{useCountdownHover-Bw0qnnAu.mjs → useCountdownHover-GEvDq366.mjs} +2 -2
  271. package/dist/{useCountdownHover-Bw0qnnAu.mjs.map → useCountdownHover-GEvDq366.mjs.map} +1 -1
  272. package/dist/{useFormInput-BM3AwdtB.js → useFormInput-DxcY63jO.js} +2 -2
  273. package/dist/{useFormInput-BM3AwdtB.js.map → useFormInput-DxcY63jO.js.map} +1 -1
  274. package/dist/{useFormInput-NcCbXL42.mjs → useFormInput-gFQXYZ08.mjs} +3 -3
  275. package/dist/{useFormInput-NcCbXL42.mjs.map → useFormInput-gFQXYZ08.mjs.map} +1 -1
  276. package/dist/{useModalManager-BDpG_Juw.mjs → useModalManager-Bdd3CMp-.mjs} +3 -3
  277. package/dist/{useModalManager-BDpG_Juw.mjs.map → useModalManager-Bdd3CMp-.mjs.map} +1 -1
  278. package/dist/{useModalManager-D-rfPB1a.js → useModalManager-i5v49dH9.js} +2 -2
  279. package/dist/{useModalManager-D-rfPB1a.js.map → useModalManager-i5v49dH9.js.map} +1 -1
  280. package/dist/{useSafeScrollLock-CZ1R2erE.mjs → useSafeScrollLock-DUIeABf3.mjs} +3 -3
  281. package/dist/{useSafeScrollLock-CZ1R2erE.mjs.map → useSafeScrollLock-DUIeABf3.mjs.map} +1 -1
  282. package/dist/{useSafeScrollLock-CB9T_57O.js → useSafeScrollLock-KuIWyOZc.js} +2 -2
  283. package/dist/{useSafeScrollLock-CB9T_57O.js.map → useSafeScrollLock-KuIWyOZc.js.map} +1 -1
  284. package/dist/useShowHide-CK93wwAA.js +2 -0
  285. package/dist/useShowHide-CK93wwAA.js.map +1 -0
  286. package/dist/{useShowHide-gK6_viwB.mjs → useShowHide-byhoPIsk.mjs} +16 -5
  287. package/dist/useShowHide-byhoPIsk.mjs.map +1 -0
  288. package/dist/useTransitions-BJccF5e-.mjs +22 -0
  289. package/dist/useTransitions-BJccF5e-.mjs.map +1 -0
  290. package/dist/useTransitions-DhhDSg14.js +2 -0
  291. package/dist/useTransitions-DhhDSg14.js.map +1 -0
  292. package/package.json +1 -1
  293. package/src/styles/styles.scss +10 -0
  294. package/dist/BAlert-BJwBDl-0.js +0 -2
  295. package/dist/BAlert-BJwBDl-0.js.map +0 -1
  296. package/dist/BAlert-COBpr3sv.mjs.map +0 -1
  297. package/dist/BButton.vue_vue_type_script_setup_true_lang-DgEdM3dn.js +0 -2
  298. package/dist/BButton.vue_vue_type_script_setup_true_lang-DgEdM3dn.js.map +0 -1
  299. package/dist/BButton.vue_vue_type_script_setup_true_lang-jzwMHPCL.mjs.map +0 -1
  300. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-BBJZRypO.js +0 -2
  301. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-BBJZRypO.js.map +0 -1
  302. package/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-BTWNL7bv.mjs.map +0 -1
  303. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-DBqf-ejP.js +0 -2
  304. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-DBqf-ejP.js.map +0 -1
  305. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-Dgmxrsug.mjs.map +0 -1
  306. package/dist/BDropdown-CjksY2j0.mjs.map +0 -1
  307. package/dist/BDropdown-DfhycjTK.js +0 -2
  308. package/dist/BDropdown-DfhycjTK.js.map +0 -1
  309. package/dist/BForm.vue_vue_type_script_setup_true_lang-BkJ_oJlm.mjs.map +0 -1
  310. package/dist/BForm.vue_vue_type_script_setup_true_lang-Otfw9l0O.js +0 -2
  311. package/dist/BForm.vue_vue_type_script_setup_true_lang-Otfw9l0O.js.map +0 -1
  312. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-DxqJb-gk.mjs.map +0 -1
  313. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-V4lzHAXh.js +0 -2
  314. package/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-V4lzHAXh.js.map +0 -1
  315. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-C_pOZSjF.mjs.map +0 -1
  316. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-D9jQXmvE.js +0 -2
  317. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-D9jQXmvE.js.map +0 -1
  318. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-C9aNLzoU.mjs.map +0 -1
  319. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-CrVW1ni2.js +0 -2
  320. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-CrVW1ni2.js.map +0 -1
  321. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-DprPjH2_.js +0 -2
  322. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-DprPjH2_.js.map +0 -1
  323. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-Bx613lZi.mjs.map +0 -1
  324. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-CkX_UvVv.js +0 -2
  325. package/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-CkX_UvVv.js.map +0 -1
  326. package/dist/BFormSelect.vue_vue_type_script_setup_true_lang-Bti_-QrZ.js.map +0 -1
  327. package/dist/BFormSelect.vue_vue_type_script_setup_true_lang-CcuEI8B1.mjs.map +0 -1
  328. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-Cc5tnU5U.js +0 -2
  329. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-Cc5tnU5U.js.map +0 -1
  330. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-fgdiiWN2.mjs.map +0 -1
  331. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-B0nneNg9.mjs.map +0 -1
  332. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-DnKihyEX.js +0 -2
  333. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-DnKihyEX.js.map +0 -1
  334. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-D9P-CNL_.js +0 -2
  335. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-D9P-CNL_.js.map +0 -1
  336. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-WGrVKcpl.mjs.map +0 -1
  337. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-D4ERzMiN.js +0 -2
  338. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-D4ERzMiN.js.map +0 -1
  339. package/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dkt9GuHM.mjs.map +0 -1
  340. package/dist/BNavText.vue_vue_type_script_setup_true_lang-CFSY1iCd.js.map +0 -1
  341. package/dist/BNavText.vue_vue_type_script_setup_true_lang-_JNKtlRG.mjs.map +0 -1
  342. package/dist/BOffcanvas-DS06_xgl.js +0 -2
  343. package/dist/BOffcanvas-DS06_xgl.js.map +0 -1
  344. package/dist/BOffcanvas-DYTUqwmj.mjs.map +0 -1
  345. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-CF8MBpFj.mjs.map +0 -1
  346. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-pB5bIPhA.js +0 -2
  347. package/dist/BOverlay.vue_vue_type_script_setup_true_lang-pB5bIPhA.js.map +0 -1
  348. package/dist/BPagination.vue_vue_type_script_setup_true_lang-BAqonaXX.mjs.map +0 -1
  349. package/dist/BPagination.vue_vue_type_script_setup_true_lang-DrXb2dtD.js.map +0 -1
  350. package/dist/BTabs.vue_vue_type_script_setup_true_lang-BVSuBB6u.mjs.map +0 -1
  351. package/dist/BTabs.vue_vue_type_script_setup_true_lang-Dj36aSgI.js +0 -2
  352. package/dist/BTabs.vue_vue_type_script_setup_true_lang-Dj36aSgI.js.map +0 -1
  353. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-7MSO655C.mjs.map +0 -1
  354. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-Bc_82u6h.js +0 -2
  355. package/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-Bc_82u6h.js.map +0 -1
  356. package/dist/BTooltip.vue_vue_type_script_setup_true_lang-ChWjwYlI.js.map +0 -1
  357. package/dist/BTransition.vue_vue_type_style_index_0_lang-X5a8jq3A.mjs +0 -59
  358. package/dist/BTransition.vue_vue_type_style_index_0_lang-X5a8jq3A.mjs.map +0 -1
  359. package/dist/BTransition.vue_vue_type_style_index_0_lang-dOw0_NRO.js +0 -2
  360. package/dist/BTransition.vue_vue_type_style_index_0_lang-dOw0_NRO.js.map +0 -1
  361. package/dist/floatingUi-CDisVIY4.js +0 -2
  362. package/dist/index-mh6YsupP.js.map +0 -1
  363. package/dist/src/components/BTransition.vue.d.mts +0 -50
  364. package/dist/src/components/BTransition.vue.d.ts +0 -50
  365. package/dist/useShowHide-gK6_viwB.mjs.map +0 -1
  366. package/dist/useShowHide-tBlURHfL.js +0 -2
  367. package/dist/useShowHide-tBlURHfL.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),o=require("./keys-DNjuQYyL.js"),l=require("./useId-B5tsy2d5.js"),a=require("./useDefaults-DrxHjHw2.js"),t=require("./BCollapse.vue_vue_type_script_setup_true_lang-DBqf-ejP.js"),n=["id"],d=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0},initialAnimation:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1}},{modelValue:{default:void 0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const d=t,u=a.useDefaults(d,"BAccordion"),i=e.useModel(t,"modelValue"),r=l.useId((()=>u.id),"accordion"),s=e.computed((()=>({"accordion-flush":u.flush})));return e.provide(o.accordionInjectionKey,{openItem:e.readonly(i),free:e.toRef((()=>u.free)),initialAnimation:e.toRef((()=>u.initialAnimation)),lazy:e.toRef((()=>u.lazy)),unmountLazy:e.toRef((()=>u.unmountLazy)),setOpenItem:e=>{i.value=e}}),(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(r),class:e.normalizeClass(["accordion",s.value])},[e.renderSlot(o.$slots,"default")],10,n))}}),u=["aria-expanded","aria-controls","onClick"],i=e.defineComponent({inheritAttrs:!1,__name:"BAccordionItem",props:e.mergeModels({bodyAttrs:{default:void 0},bodyClass:{default:void 0},buttonAttrs:{default:void 0},buttonClass:{default:void 0},collapseClass:{default:void 0},headerAttrs:{default:void 0},headerClass:{default:void 0},headerTag:{default:"h2"},horizontal:{type:Boolean,default:void 0},id:{default:void 0},isNav:{type:Boolean,default:void 0},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},tag:{default:void 0},title:{default:void 0},show:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hidden","hide","hide-prevented","show","show-prevented","shown"],["update:modelValue"]),setup(n,{emit:d}){const{class:i,...r}=e.useAttrs(),s=n,c=a.useDefaults(s,"BAccordionItem"),f=d,v=e.inject(o.accordionInjectionKey,null),p=l.useId((()=>c.id),"accordion_item"),m=e.useModel(n,"modelValue");return m.value=(null==v?void 0:v.openItem.value)===p.value&&!(null==v?void 0:v.initialAnimation.value),m.value&&!(null==v?void 0:v.free.value)&&(null==v||v.setOpenItem(p.value)),e.onMounted((()=>{m.value||(null==v?void 0:v.openItem.value)!==p.value||e.nextTick((()=>{m.value=!0}))})),e.watch((()=>null==v?void 0:v.openItem.value),(()=>m.value=(null==v?void 0:v.openItem.value)===p.value&&!(null==v?void 0:v.free.value))),e.watch(m,(()=>{m.value&&!(null==v?void 0:v.free.value)&&(null==v||v.setOpenItem(p.value))})),(o,l)=>{var a,n;return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"accordion-item"},e.unref(c).wrapperAttrs,{class:e.unref(i)}),[e.createVNode(t._sfc_main,e.mergeProps({id:e.unref(p),modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=e=>m.value=e),class:["accordion-collapse",e.unref(c).collapseClass],"aria-labelledby":`${e.unref(p)}-heading`},r,{tag:e.unref(c).tag,show:e.unref(c).show,horizontal:e.unref(c).horizontal,visible:e.unref(c).visible,"is-nav":e.unref(c).isNav,lazy:e.unref(c).lazy||(null==(a=e.unref(v))?void 0:a.lazy.value),"unmount-lazy":e.unref(c).unmountLazy||(null==(n=e.unref(v))?void 0:n.unmountLazy.value),onShow:l[1]||(l[1]=e=>f("show",e)),onShown:l[2]||(l[2]=e=>f("shown")),onHide:l[3]||(l[3]=e=>f("hide",e)),onHidden:l[4]||(l[4]=e=>f("hidden")),onHidePrevented:l[5]||(l[5]=e=>f("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>f("show-prevented"))}),{header:e.withCtx((({visible:l,toggle:a})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).headerTag),e.mergeProps({id:`${e.unref(p)}-heading`,class:["accordion-header",e.unref(c).headerClass]},e.unref(c).headerAttrs),{default:e.withCtx((()=>[e.createElementVNode("button",e.mergeProps({class:"accordion-button"},e.unref(c).buttonAttrs,{class:[{collapsed:!l},e.unref(c).buttonClass],type:"button","aria-expanded":l?"true":"false","aria-controls":e.unref(p),onClick:a}),[e.renderSlot(o.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).title),1)]))],16,u)])),_:2},1040,["id","class"]))])),default:e.withCtx((()=>[e.createElementVNode("div",e.mergeProps({class:"accordion-body"},e.unref(c).bodyAttrs,{class:e.unref(c).bodyClass}),[e.renderSlot(o.$slots,"default")],16)])),_:3},16,["id","modelValue","class","aria-labelledby","tag","show","horizontal","visible","is-nav","lazy","unmount-lazy"])],16)}}});exports._sfc_main=d,exports._sfc_main$1=i;
2
- //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-DGwvrTfm.js.map
1
+ "use strict";const e=require("vue"),o=require("./keys-DNjuQYyL.js"),l=require("./useId-B5tsy2d5.js"),a=require("./useDefaults-DrxHjHw2.js"),t=require("./BCollapse.vue_vue_type_script_setup_true_lang-Cfo7uvq0.js"),n=["id"],d=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0},initialAnimation:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1}},{modelValue:{default:void 0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const d=t,u=a.useDefaults(d,"BAccordion"),i=e.useModel(t,"modelValue"),r=l.useId((()=>u.id),"accordion"),s=e.computed((()=>({"accordion-flush":u.flush})));return e.provide(o.accordionInjectionKey,{openItem:e.readonly(i),free:e.toRef((()=>u.free)),initialAnimation:e.toRef((()=>u.initialAnimation)),lazy:e.toRef((()=>u.lazy)),unmountLazy:e.toRef((()=>u.unmountLazy)),setOpenItem:e=>{i.value=e}}),(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(r),class:e.normalizeClass(["accordion",s.value])},[e.renderSlot(o.$slots,"default")],10,n))}}),u=["aria-expanded","aria-controls","onClick"],i=e.defineComponent({inheritAttrs:!1,__name:"BAccordionItem",props:e.mergeModels({bodyAttrs:{default:void 0},bodyClass:{default:void 0},buttonAttrs:{default:void 0},buttonClass:{default:void 0},collapseClass:{default:void 0},headerAttrs:{default:void 0},headerClass:{default:void 0},headerTag:{default:"h2"},horizontal:{type:Boolean,default:void 0},id:{default:void 0},isNav:{type:Boolean,default:void 0},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},tag:{default:void 0},title:{default:void 0},show:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hidden","hide","hide-prevented","show","show-prevented","shown"],["update:modelValue"]),setup(n,{emit:d}){const{class:i,...r}=e.useAttrs(),s=n,c=a.useDefaults(s,"BAccordionItem"),f=d,v=e.inject(o.accordionInjectionKey,null),p=l.useId((()=>c.id),"accordion_item"),m=e.useModel(n,"modelValue");return m.value=(null==v?void 0:v.openItem.value)===p.value&&!(null==v?void 0:v.initialAnimation.value),m.value&&!(null==v?void 0:v.free.value)&&(null==v||v.setOpenItem(p.value)),e.onMounted((()=>{m.value||(null==v?void 0:v.openItem.value)!==p.value||e.nextTick((()=>{m.value=!0}))})),e.watch((()=>null==v?void 0:v.openItem.value),(()=>m.value=(null==v?void 0:v.openItem.value)===p.value&&!(null==v?void 0:v.free.value))),e.watch(m,(()=>{m.value&&!(null==v?void 0:v.free.value)&&(null==v||v.setOpenItem(p.value))})),(o,l)=>{var a,n;return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"accordion-item"},e.unref(c).wrapperAttrs,{class:e.unref(i)}),[e.createVNode(t._sfc_main,e.mergeProps({id:e.unref(p),modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=e=>m.value=e),class:["accordion-collapse",e.unref(c).collapseClass],"aria-labelledby":`${e.unref(p)}-heading`},r,{tag:e.unref(c).tag,show:e.unref(c).show,horizontal:e.unref(c).horizontal,visible:e.unref(c).visible,"is-nav":e.unref(c).isNav,lazy:e.unref(c).lazy||(null==(a=e.unref(v))?void 0:a.lazy.value),"unmount-lazy":e.unref(c).unmountLazy||(null==(n=e.unref(v))?void 0:n.unmountLazy.value),onShow:l[1]||(l[1]=e=>f("show",e)),onShown:l[2]||(l[2]=e=>f("shown")),onHide:l[3]||(l[3]=e=>f("hide",e)),onHidden:l[4]||(l[4]=e=>f("hidden")),onHidePrevented:l[5]||(l[5]=e=>f("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>f("show-prevented"))}),{header:e.withCtx((({visible:l,toggle:a})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).headerTag),e.mergeProps({id:`${e.unref(p)}-heading`,class:["accordion-header",e.unref(c).headerClass]},e.unref(c).headerAttrs),{default:e.withCtx((()=>[e.createElementVNode("button",e.mergeProps({class:"accordion-button"},e.unref(c).buttonAttrs,{class:[{collapsed:!l},e.unref(c).buttonClass],type:"button","aria-expanded":l?"true":"false","aria-controls":e.unref(p),onClick:a}),[e.renderSlot(o.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(c).title),1)]))],16,u)])),_:2},1040,["id","class"]))])),default:e.withCtx((()=>[e.createElementVNode("div",e.mergeProps({class:"accordion-body"},e.unref(c).bodyAttrs,{class:e.unref(c).bodyClass}),[e.renderSlot(o.$slots,"default")],16)])),_:3},16,["id","modelValue","class","aria-labelledby","tag","show","horizontal","visible","is-nav","lazy","unmount-lazy"])],16)}}});exports._sfc_main=d,exports._sfc_main$1=i;
2
+ //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-CR4QGNxG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-DGwvrTfm.js","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","modelValue","_useModel","computedId","useId","id","computedClasses","computed","flush","provide","accordionInjectionKey","openItem","readonly","free","toRef","initialAnimation","lazy","unmountLazy","setOpenItem","value","class","wrapperClass","collapseAttrs","useAttrs","emit","__emit","parentData","inject","onMounted","nextTick","vue","watch"],"mappings":"sjBAaA,MAAMA,EAASC,EAcTC,EAAQC,EAAAA,YAAYH,EAAQ,cAE5BI,EAAaC,EAAAA,SAElBJ,EAAA,cAEKK,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,aAEnCC,EAAkBC,EAAAA,UAAS,KAAO,CACtC,kBAAmBR,EAAMS,iBAG3BC,EAAAA,QAAQC,EAAAA,sBAAuB,CAC7BC,SAAUC,WAASX,GACnBY,KAAMC,EAAAA,OAAM,IAAMf,EAAMc,OACxBE,iBAAkBD,EAAAA,OAAM,IAAMf,EAAMgB,mBACpCC,KAAMF,EAAAA,OAAM,IAAMf,EAAMiB,OACxBC,YAAaH,EAAAA,OAAM,IAAMf,EAAMkB,cAC/BC,YAAcb,IACZJ,EAAWkB,MAAQd,CAAA,k/BCiBvB,MAAOe,MAAOC,KAAiBC,GAAiBC,EAAAA,WAE1C1B,EAASC,EAoBTC,EAAQC,EAAAA,YAAYH,EAAQ,kBAE5B2B,EAAOC,EAgBPC,EAAaC,EAAAA,OAAOjB,EAAAA,sBAAuB,MAE3CP,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,kBAEnCJ,EAAaC,EAAAA,SAElBJ,EAAA,qBAEUG,EAAAkB,aACTO,WAAYf,SAASQ,SAAUhB,EAAWgB,eAAUO,WAAYX,iBAAiBI,OAE/ElB,EAAWkB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAC5B,MAAAO,GAAAA,EAAAR,YAAYf,EAAWgB,QAGrCS,EAAAA,WAAU,KACH3B,EAAWkB,cAASO,WAAYf,SAASQ,SAAUhB,EAAWgB,OACjEU,EAAAA,UAAS,KACP5B,EAAWkB,OAAQ,CAAA,GACpB,IAILW,EAAAC,OACE,UAAML,WAAYf,SAASQ,QAC3B,IACGlB,EAAWkB,OAAoB,MAAZO,OAAY,EAAAA,EAAAf,SAASQ,SAAUhB,EAAWgB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAE7FW,EAAAC,MAAM9B,GAAY,KACZA,EAAWkB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAAO,MAAAO,GAAAA,EAAYR,YAAYf,EAAWgB,OAAA"}
1
+ {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-CR4QGNxG.js","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","modelValue","_useModel","computedId","useId","id","computedClasses","computed","flush","provide","accordionInjectionKey","openItem","readonly","free","toRef","initialAnimation","lazy","unmountLazy","setOpenItem","value","class","wrapperClass","collapseAttrs","useAttrs","emit","__emit","parentData","inject","onMounted","nextTick","vue","watch"],"mappings":"sjBAaA,MAAMA,EAASC,EAcTC,EAAQC,EAAAA,YAAYH,EAAQ,cAE5BI,EAAaC,EAAAA,SAElBJ,EAAA,cAEKK,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,aAEnCC,EAAkBC,EAAAA,UAAS,KAAO,CACtC,kBAAmBR,EAAMS,iBAG3BC,EAAAA,QAAQC,EAAAA,sBAAuB,CAC7BC,SAAUC,WAASX,GACnBY,KAAMC,EAAAA,OAAM,IAAMf,EAAMc,OACxBE,iBAAkBD,EAAAA,OAAM,IAAMf,EAAMgB,mBACpCC,KAAMF,EAAAA,OAAM,IAAMf,EAAMiB,OACxBC,YAAaH,EAAAA,OAAM,IAAMf,EAAMkB,cAC/BC,YAAcb,IACZJ,EAAWkB,MAAQd,CAAA,k/BCiBvB,MAAOe,MAAOC,KAAiBC,GAAiBC,EAAAA,WAE1C1B,EAASC,EAoBTC,EAAQC,EAAAA,YAAYH,EAAQ,kBAE5B2B,EAAOC,EAgBPC,EAAaC,EAAAA,OAAOjB,EAAAA,sBAAuB,MAE3CP,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,kBAEnCJ,EAAaC,EAAAA,SAElBJ,EAAA,qBAEUG,EAAAkB,aACTO,WAAYf,SAASQ,SAAUhB,EAAWgB,eAAUO,WAAYX,iBAAiBI,OAE/ElB,EAAWkB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAC5B,MAAAO,GAAAA,EAAAR,YAAYf,EAAWgB,QAGrCS,EAAAA,WAAU,KACH3B,EAAWkB,cAASO,WAAYf,SAASQ,SAAUhB,EAAWgB,OACjEU,EAAAA,UAAS,KACP5B,EAAWkB,OAAQ,CAAA,GACpB,IAILW,EAAAC,OACE,UAAML,WAAYf,SAASQ,QAC3B,IACGlB,EAAWkB,OAAoB,MAAZO,OAAY,EAAAA,EAAAf,SAASQ,SAAUhB,EAAWgB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAE7FW,EAAAC,MAAM9B,GAAY,KACZA,EAAWkB,SAAU,MAAAO,OAAA,EAAAA,EAAYb,KAAKM,SAAO,MAAAO,GAAAA,EAAYR,YAAYf,EAAWgB,OAAA"}
@@ -2,7 +2,7 @@ import { defineComponent, mergeModels, useModel, computed, provide, readonly, to
2
2
  import { e as accordionInjectionKey } from "./keys-CsqIkltC.mjs";
3
3
  import { u as useId } from "./useId-BR0P33VS.mjs";
4
4
  import { u as useDefaults } from "./useDefaults-dJMhLizZ.mjs";
5
- import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-Dgmxrsug.mjs";
5
+ import { _ as _sfc_main$2 } from "./BCollapse.vue_vue_type_script_setup_true_lang-BBjRm6fq.mjs";
6
6
  const _hoisted_1$1 = ["id"];
7
7
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8
8
  __name: "BAccordion",
@@ -168,4 +168,4 @@ export {
168
168
  _sfc_main$1 as _,
169
169
  _sfc_main as a
170
170
  };
171
- //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-CVVVKs5b.mjs.map
171
+ //# sourceMappingURL=BAccordionItem.vue_vue_type_script_setup_true_lang-Mqtf0bUM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-CVVVKs5b.mjs","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAM,SAAS;AAcT,UAAA,QAAQ,YAAY,QAAQ,YAAY;AAExC,UAAA,aAAaA,SAElB,SAAA,YAAA;AAED,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,WAAW;AAE9C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,mBAAmB,MAAM;AAAA,IAAA,EACzB;AAEF,YAAQ,uBAAuB;AAAA,MAC7B,UAAU,SAAS,UAAU;AAAA,MAC7B,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,kBAAkB,MAAM,MAAM,MAAM,gBAAgB;AAAA,MACpD,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,aAAa,MAAM,MAAM,MAAM,WAAW;AAAA,MAC1C,aAAa,CAAC,OAAe;AAC3B,mBAAW,QAAQ;AAAA,MAAA;AAAA,IACrB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACeD,UAAM,EAAC,OAAO,cAAc,GAAG,cAAA,IAAiB,SAAS;AAEzD,UAAM,SAAS;AAoBT,UAAA,QAAQ,YAAY,QAAQ,gBAAgB;AAElD,UAAM,OAAO;AAgBP,UAAA,aAAa,OAAO,uBAAuB,IAAI;AAErD,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAEnD,UAAA,aAAaA,SAElB,SAAA,YAAA;AAEU,eAAA,SACT,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,iBAAiB;AAEnF,QAAI,WAAW,SAAS,EAAC,yCAAY,KAAK,QAAO;AACnC,+CAAA,YAAY,WAAW;AAAA,IAAK;AAG1C,cAAU,MAAM;AACd,UAAI,CAAC,WAAW,UAAS,yCAAY,SAAS,WAAU,WAAW,OAAO;AACxE,iBAAS,MAAM;AACb,qBAAW,QAAQ;AAAA,QAAA,CACpB;AAAA,MAAA;AAAA,IACH,CACD;AAED;AAAA,MACE,MAAM,yCAAY,SAAS;AAAA,MAC3B,MACG,WAAW,SAAQ,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,KAAK;AAAA,IAC7F;AACA,UAAM,YAAY,MAAM;AAClB,UAAA,WAAW,SAAS,EAAC,yCAAY,KAAK,OAAO,0CAAY,YAAY,WAAW;AAAA,IAAK,CAC1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BAccordionItem.vue_vue_type_script_setup_true_lang-Mqtf0bUM.mjs","sources":["../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordionItem.vue"],"sourcesContent":["<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, readonly, toRef} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst props = useDefaults(_props, 'BAccordion')\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n modelValue.value = id\n },\n})\n</script>\n","<template>\n <div class=\"accordion-item\" v-bind=\"props.wrapperAttrs\" :class=\"wrapperClass\">\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {inject, nextTick, onMounted, useAttrs, watch} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BvTriggerableEvent} from '../../utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst {class: wrapperClass, ...collapseAttrs} = useAttrs()\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\n\nconst emit = defineEmits<{\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title?: (props: Record<string, never>) => any\n}>()\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nmodelValue.value =\n parentData?.openItem.value === computedId.value && !parentData?.initialAnimation.value\n\nif (modelValue.value && !parentData?.free.value) {\n parentData?.setOpenItem(computedId.value)\n}\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nwatch(\n () => parentData?.openItem.value,\n () =>\n (modelValue.value = parentData?.openItem.value === computedId.value && !parentData?.free.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !parentData?.free.value) parentData?.setOpenItem(computedId.value)\n})\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,UAAM,SAAS;AAcT,UAAA,QAAQ,YAAY,QAAQ,YAAY;AAExC,UAAA,aAAaA,SAElB,SAAA,YAAA;AAED,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,WAAW;AAE9C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,mBAAmB,MAAM;AAAA,IAAA,EACzB;AAEF,YAAQ,uBAAuB;AAAA,MAC7B,UAAU,SAAS,UAAU;AAAA,MAC7B,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,kBAAkB,MAAM,MAAM,MAAM,gBAAgB;AAAA,MACpD,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,aAAa,MAAM,MAAM,MAAM,WAAW;AAAA,MAC1C,aAAa,CAAC,OAAe;AAC3B,mBAAW,QAAQ;AAAA,MAAA;AAAA,IACrB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACeD,UAAM,EAAC,OAAO,cAAc,GAAG,cAAA,IAAiB,SAAS;AAEzD,UAAM,SAAS;AAoBT,UAAA,QAAQ,YAAY,QAAQ,gBAAgB;AAElD,UAAM,OAAO;AAgBP,UAAA,aAAa,OAAO,uBAAuB,IAAI;AAErD,UAAM,aAAa,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAEnD,UAAA,aAAaA,SAElB,SAAA,YAAA;AAEU,eAAA,SACT,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,iBAAiB;AAEnF,QAAI,WAAW,SAAS,EAAC,yCAAY,KAAK,QAAO;AACnC,+CAAA,YAAY,WAAW;AAAA,IAAK;AAG1C,cAAU,MAAM;AACd,UAAI,CAAC,WAAW,UAAS,yCAAY,SAAS,WAAU,WAAW,OAAO;AACxE,iBAAS,MAAM;AACb,qBAAW,QAAQ;AAAA,QAAA,CACpB;AAAA,MAAA;AAAA,IACH,CACD;AAED;AAAA,MACE,MAAM,yCAAY,SAAS;AAAA,MAC3B,MACG,WAAW,SAAQ,yCAAY,SAAS,WAAU,WAAW,SAAS,EAAC,yCAAY,KAAK;AAAA,IAC7F;AACA,UAAM,YAAY,MAAM;AAClB,UAAA,WAAW,SAAS,EAAC,yCAAY,KAAK,OAAO,0CAAY,YAAY,WAAW;AAAA,IAAK,CAC1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,10 @@
1
- import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, mergeProps, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
- import { _ as _sfc_main$1 } from "./BTransition.vue_vue_type_style_index_0_lang-X5a8jq3A.mjs";
3
- import { _ as _sfc_main$3 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-cwGZUWKt.mjs";
4
- import { _ as _sfc_main$2 } from "./BButton.vue_vue_type_script_setup_true_lang-jzwMHPCL.mjs";
5
- import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-Bw0qnnAu.mjs";
1
+ import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, openBlock, createBlock, Transition, mergeProps, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
+ import { _ as _sfc_main$2 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-cwGZUWKt.mjs";
3
+ import { _ as _sfc_main$1 } from "./BButton.vue_vue_type_script_setup_true_lang-lrwWXcOo.mjs";
4
+ import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-GEvDq366.mjs";
6
5
  import { u as useDefaults } from "./useDefaults-dJMhLizZ.mjs";
7
6
  import { i as isEmptySlot } from "./dom-DSGRrOAo.mjs";
7
+ import { u as useFadeTransition } from "./useTransitions-BJccF5e-.mjs";
8
8
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "BAlert",
@@ -31,7 +31,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  const props = useDefaults(_props, "BAlert");
32
32
  const emit = __emit;
33
33
  const slots = useSlots();
34
- const element = useTemplateRef("element");
34
+ const fadeTransitions = useFadeTransition(() => props.fade);
35
+ const element = useTemplateRef("_element");
35
36
  const modelValue = useModel(__props, "modelValue");
36
37
  const hasCloseSlot = computed(() => !isEmptySlot(slots.close));
37
38
  const countdownLength = computed(
@@ -89,15 +90,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
90
  restart
90
91
  });
91
92
  return (_ctx, _cache) => {
92
- return openBlock(), createBlock(_sfc_main$1, {
93
- "no-fade": !unref(props).fade,
94
- "trans-props": { enterToClass: "show" }
95
- }, {
93
+ return openBlock(), createBlock(Transition, mergeProps(unref(fadeTransitions), { "enter-to-class": "show" }), {
96
94
  default: withCtx(() => [
97
95
  isAlertVisible.value ? (openBlock(), createElementBlock("div", {
98
96
  key: 0,
99
- ref_key: "element",
100
- ref: element,
97
+ ref: "_element",
101
98
  class: normalizeClass(["alert", computedClasses.value]),
102
99
  role: "alert",
103
100
  "aria-live": "polite",
@@ -105,14 +102,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
105
102
  }, [
106
103
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
107
104
  unref(props).dismissible ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
108
- hasCloseSlot.value || unref(props).closeContent ? (openBlock(), createBlock(_sfc_main$2, mergeProps({ key: 0 }, closeAttrs.value, { onClick: hide }), {
105
+ hasCloseSlot.value || unref(props).closeContent ? (openBlock(), createBlock(_sfc_main$1, mergeProps({ key: 0 }, closeAttrs.value, { onClick: hide }), {
109
106
  default: withCtx(() => [
110
107
  renderSlot(_ctx.$slots, "close", {}, () => [
111
108
  createTextVNode(toDisplayString(unref(props).closeContent), 1)
112
109
  ], true)
113
110
  ]),
114
111
  _: 3
115
- }, 16)) : (openBlock(), createBlock(_sfc_main$3, mergeProps({
112
+ }, 16)) : (openBlock(), createBlock(_sfc_main$2, mergeProps({
116
113
  key: 1,
117
114
  "aria-label": unref(props).closeLabel
118
115
  }, closeAttrs.value, { onClick: hide }), null, 16, ["aria-label"]))
@@ -120,12 +117,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
120
117
  ], 2)) : createCommentVNode("", true)
121
118
  ]),
122
119
  _: 3
123
- }, 8, ["no-fade"]);
120
+ }, 16);
124
121
  };
125
122
  }
126
123
  });
127
- const BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-78808092"]]);
124
+ const BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-141c4f93"]]);
128
125
  export {
129
126
  BAlert as B
130
127
  };
131
- //# sourceMappingURL=BAlert-COBpr3sv.mjs.map
128
+ //# sourceMappingURL=BAlert-BB_bZt_q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BAlert-BB_bZt_q.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,OAAO;AAMb,UAAM,QAAQA,SAAA;AAOd,UAAM,kBAAkB,kBAAkB,MAAM,MAAM,IAAI;AAEpD,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,aAAaC,SAA2E,SAAA,YAAA;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IACzD;AAEM,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAAA,EAC3B;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAK,CAAC,CAAC;AAE1F,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACL,IAAA,aAAa,iBAAiB,MAAM,UAAU;AAAA,MAChD,WAAW,OAAO,WAAW,UAAU,YAAY,MAAM;AAAA,IAAA,CAC1D;AACD;AAAA,MACE;AAAA,MACA,SAAS,OAAO;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,sBAAsB,MAAM;AAAA,QAC5B,wBAAwB,OAAO,WAAW,UAAU;AAAA,MAAA,EACpD;AAAA,MACF,EAAC,OAAO,OAAM;AAAA,IAChB;AAEA,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IACvD;AAEM,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IAAA,EACpB;AAEF,gBAAY,MAAM;AACX,WAAA,mBAAmB,YAAY,KAAK;AAAA,IAAA,CAC1C;AAED,UAAM,OAAO,MAAM;AACjB,WAAK,OAAO;AAER,UAAA,OAAO,WAAW,UAAU,WAAW;AACzC,mBAAW,QAAQ;AAAA,MAAA,OACd;AACL,mBAAW,QAAQ;AACd,aAAA;AAAA,MAAA;AAGP,WAAK,QAAQ;AAAA,IACf;AAEa,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-CjS6g5F8.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-B4cV85yE.js"),l=require("./useCountdownHover-DTpNib77.js"),a=require("./useDefaults-DrxHjHw2.js"),s=require("./dom-D5l3V401.js"),u=require("./useTransitions-DhhDSg14.js"),r=require("./_plugin-vue_export-helper-CC_fc8JW.js"),n=e.defineComponent({__name:"BAlert",props:e.mergeModels({closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},interval:{default:"requestAnimationFrame"},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},showOnPause:{type:Boolean,default:!0},variant:{default:"info"}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:e.mergeModels(["close","close-countdown","closed"],["update:modelValue"]),setup(r,{expose:n,emit:i}){const c=r,d=a.useDefaults(c,"BAlert"),m=i,p=e.useSlots(),v=u.useFadeTransition((()=>d.fade)),f=e.useTemplateRef("_element"),_=e.useModel(r,"modelValue"),B=e.computed((()=>!s.isEmptySlot(p.close))),y=e.computed((()=>"boolean"==typeof _.value?0:_.value)),C=e.computed((()=>({[`alert-${d.variant}`]:null!==d.variant,"alert-dismissible":d.dismissible}))),k=e.computed((()=>[d.closeClass,{"btn-close-custom":B.value}])),{isActive:b,pause:g,resume:w,stop:q,isPaused:H,restart:P,value:V}=l.useCountdown(y,d.interval,{immediate:"number"==typeof _.value&&d.immediate});l.useCountdownHover(f,e.computed((()=>({noHoverPause:d.noHoverPause,noResumeOnHoverLeave:d.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof _.value}))),{pause:g,resume:w});const h=e.computed((()=>"boolean"==typeof _.value?_.value:b.value||d.showOnPause&&H.value)),j=e.computed((()=>({variant:B.value?d.closeVariant:void 0,class:k.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const x=()=>{m("close"),"boolean"==typeof _.value?_.value=!1:(_.value=0,q()),m("closed")};return n({pause:g,resume:w,stop:q,restart:P}),(l,a)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps(e.unref(v),{"enter-to-class":"show"}),{default:e.withCtx((()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"_element",class:e.normalizeClass(["alert",C.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(l.$slots,"default",{},void 0,!0),e.unref(d).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[B.value||e.unref(d).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},j.value,{onClick:x}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(o._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(d).closeLabel},j.value,{onClick:x}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},16))}}),i=r._export_sfc(n,[["__scopeId","data-v-141c4f93"]]);exports.BAlert=i;
2
+ //# sourceMappingURL=BAlert-Bp9pkSfK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BAlert-Bp9pkSfK.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","fadeTransitions","useFadeTransition","fade","element","useTemplateRef","modelValue","_useModel","hasCloseSlot","computed","isEmptySlot","close","countdownLength","value","computedClasses","variant","dismissible","closeClasses","closeClass","isActive","pause","resume","stop","isPaused","restart","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","isAlertVisible","showOnPause","closeAttrs","closeVariant","class","watchEffect","hide","__expose"],"mappings":"qhCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAkBC,EAAAA,mBAAkB,IAAMP,EAAMQ,OAEhDC,EAAUC,iBAA4B,YAEtCC,EAAaC,EAAAA,SAA2Eb,EAAA,cAExFc,EAAeC,EAAAA,UAAS,KAAOC,EAAAA,YAAYX,EAAMY,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASd,EAAMoB,WAA8B,OAAlBpB,EAAMoB,QAClC,oBAAqBpB,EAAMqB,gBAGvBC,EAAeR,YAAS,IAAM,CAACd,EAAMuB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBjB,EAAMgC,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBlB,EAAMiC,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAcnC,EAAMmC,aACpBC,qBAAsBpC,EAAMoC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUlB,EAAMuC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQlB,EAAMyC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLzC,EAAA,kBAAmB4B,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACX1C,EAAK,SAE2B,kBAArBS,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,EACdS,KAGPzB,EAAK,SAAQ,SAGF2C,EAAA,CACXpB,QACAC,SACAC,OACAE"}
@@ -8,7 +8,7 @@ import { u as useNumberishToStyle } from "./useNumberishToStyle-BaHH1FuW.mjs";
8
8
  import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
9
9
  import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
10
10
  import { u as useDefaults } from "./useDefaults-dJMhLizZ.mjs";
11
- import { u as useToNumber } from "./index-dpbv1toz.mjs";
11
+ import { u as useToNumber } from "./index-D3jGjWWk.mjs";
12
12
  const _hoisted_1 = {
13
13
  key: 0,
14
14
  class: "b-avatar-custom"
@@ -269,4 +269,4 @@ export {
269
269
  _sfc_main$1 as _,
270
270
  _sfc_main as a
271
271
  };
272
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-Dj32ncpo.mjs.map
272
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-Cb65-bb-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-Dj32ncpo.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-Cb65-bb-.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./keys-DNjuQYyL.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-D6jmfiNf.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-D4I5vJ2p.js"),o=require("./useBLinkHelper-BxI4evA6.js"),u=require("./dom-D5l3V401.js"),d=require("./useNumberishToStyle-CKSSKRiz.js"),n=require("./useRadiusElementClasses-D-ydxJLn.js"),r=require("./useColorVariantClasses-CE658Sm0.js"),i=require("./useDefaults-DrxHjHw2.js"),v=require("./index-DNkIH70v.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=e.ref(f.src);e.watch((()=>f.src),(e=>{b.value=e}));const g=v,y=e.useSlots(),{computedLink:B,computedLinkProps:S}=o.useBLinkHelper(f),x=e.inject(t.avatarGroupInjectionKey,null),V=["sm",null,"lg"],k=e.computed((()=>!u.isEmptySlot(y.default))),_=e.computed((()=>!u.isEmptySlot(y.badge))),h=e.computed((()=>!!f.badge||""===f.badge||_.value)),N=e.computed((()=>(null==x?void 0:x.square.value)||f.square)),E=d.useNumberishToStyle((()=>f.size)),C=d.useNumberishToStyle((()=>null==x?void 0:x.size.value)),q=e.computed((()=>C.value??E.value)),T=e.computed((()=>(null==x?void 0:x.variant.value)??f.variant)),z=e.computed((()=>(null==x?void 0:x.rounded.value)??f.rounded)),R=e.computed((()=>(null==x?void 0:x.roundedTop.value)??f.roundedTop)),j=e.computed((()=>(null==x?void 0:x.roundedBottom.value)??f.roundedBottom)),$=e.computed((()=>(null==x?void 0:x.roundedStart.value)??f.roundedStart)),w=e.computed((()=>(null==x?void 0:x.roundedEnd.value)??f.roundedEnd)),D=n.useRadiusElementClasses((()=>({rounded:z.value,roundedTop:R.value,roundedBottom:j.value,roundedStart:$.value,roundedEnd:w.value}))),L=e.computed((()=>!0===f.badge?"":f.badge)),O=e.computed((()=>!L.value&&!_.value)),P=r.useColorVariantClasses((()=>({bgVariant:(null==x?void 0:x.bgVariant.value)??f.bgVariant,textVariant:(null==x?void 0:x.textVariant.value)??f.textVariant,variant:T.value}))),H=e.computed((()=>[P.value,!0===N.value?void 0:D.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==V.indexOf(E.value),[`btn-${T.value}`]:!!f.button&&null!==T.value,badge:!f.button&&null!==T.value&&k.value,btn:f.button,"rounded-0":!0===N.value}])),A=e.computed((()=>({fontSize:(-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.4)`:null;return e?{fontSize:e}:{}})),I=e.computed((()=>{var e;const t=(null==(e=null==x?void 0:x.overlapScale)?void 0:e.value)||0,a=q.value&&t?`calc(${q.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),M=e.computed((()=>B.value?a._sfc_main:f.button?"button":"span")),K=e.computed((()=>({...I.value,width:q.value??void 0,height:q.value??void 0}))),W=e=>{f.disabled||!B.value&&!f.button||g("click",e)},F=e=>{b.value=void 0,g("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value),e.mergeProps({class:["b-avatar",H.value],style:K.value},e.unref(S),{type:f.button&&!e.unref(B)?f.buttonType:void 0,disabled:f.disabled||null,variant:null,onClick:W}),{default:e.withCtx((()=>[k.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):b.value?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:b.value,alt:f.alt,onError:F},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),h.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||O.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(A.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-BaX2OeNe.js.map
1
+ "use strict";const e=require("vue"),t=require("./keys-DNjuQYyL.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-D6jmfiNf.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-D4I5vJ2p.js"),o=require("./useBLinkHelper-BxI4evA6.js"),u=require("./dom-D5l3V401.js"),d=require("./useNumberishToStyle-CKSSKRiz.js"),n=require("./useRadiusElementClasses-D-ydxJLn.js"),r=require("./useColorVariantClasses-CE658Sm0.js"),i=require("./useDefaults-DrxHjHw2.js"),v=require("./index-BqHkgtNq.js"),s={key:0,class:"b-avatar-custom"},c={key:1,class:"b-avatar-img"},p=["src","alt"],m={key:3,class:"b-avatar-img"},f=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(i,{emit:v}){const f=i,b=e.ref(f.src);e.watch((()=>f.src),(e=>{b.value=e}));const g=v,y=e.useSlots(),{computedLink:B,computedLinkProps:S}=o.useBLinkHelper(f),x=e.inject(t.avatarGroupInjectionKey,null),V=["sm",null,"lg"],k=e.computed((()=>!u.isEmptySlot(y.default))),_=e.computed((()=>!u.isEmptySlot(y.badge))),h=e.computed((()=>!!f.badge||""===f.badge||_.value)),N=e.computed((()=>(null==x?void 0:x.square.value)||f.square)),E=d.useNumberishToStyle((()=>f.size)),C=d.useNumberishToStyle((()=>null==x?void 0:x.size.value)),q=e.computed((()=>C.value??E.value)),T=e.computed((()=>(null==x?void 0:x.variant.value)??f.variant)),z=e.computed((()=>(null==x?void 0:x.rounded.value)??f.rounded)),R=e.computed((()=>(null==x?void 0:x.roundedTop.value)??f.roundedTop)),j=e.computed((()=>(null==x?void 0:x.roundedBottom.value)??f.roundedBottom)),$=e.computed((()=>(null==x?void 0:x.roundedStart.value)??f.roundedStart)),w=e.computed((()=>(null==x?void 0:x.roundedEnd.value)??f.roundedEnd)),D=n.useRadiusElementClasses((()=>({rounded:z.value,roundedTop:R.value,roundedBottom:j.value,roundedStart:$.value,roundedEnd:w.value}))),L=e.computed((()=>!0===f.badge?"":f.badge)),O=e.computed((()=>!L.value&&!_.value)),P=r.useColorVariantClasses((()=>({bgVariant:(null==x?void 0:x.bgVariant.value)??f.bgVariant,textVariant:(null==x?void 0:x.textVariant.value)??f.textVariant,variant:T.value}))),H=e.computed((()=>[P.value,!0===N.value?void 0:D.value,{[`b-avatar-${f.size}`]:!!f.size&&-1!==V.indexOf(E.value),[`btn-${T.value}`]:!!f.button&&null!==T.value,badge:!f.button&&null!==T.value&&k.value,btn:f.button,"rounded-0":!0===N.value}])),A=e.computed((()=>({fontSize:(-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===V.indexOf(q.value||null)?`calc(${q.value} * 0.4)`:null;return e?{fontSize:e}:{}})),I=e.computed((()=>{var e;const t=(null==(e=null==x?void 0:x.overlapScale)?void 0:e.value)||0,a=q.value&&t?`calc(${q.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),M=e.computed((()=>B.value?a._sfc_main:f.button?"button":"span")),K=e.computed((()=>({...I.value,width:q.value??void 0,height:q.value??void 0}))),W=e=>{f.disabled||!B.value&&!f.button||g("click",e)},F=e=>{b.value=void 0,g("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value),e.mergeProps({class:["b-avatar",H.value],style:K.value},e.unref(S),{type:f.button&&!e.unref(B)?f.buttonType:void 0,disabled:f.disabled||null,variant:null,onClick:W}),{default:e.withCtx((()=>[k.value?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(t.$slots,"default")])):b.value?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:b.value,alt:f.alt,onError:F},null,40,p)])):f.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(f.text),5)):(e.openBlock(),e.createElementBlock("span",m,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),h.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:f.badgePill,"dot-indicator":f.badgeDotIndicator||O.value,variant:f.badgeVariant,"bg-variant":f.badgeBgVariant,"text-variant":f.badgeTextVariant,style:e.normalizeStyle(A.value),placement:f.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),b=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=i.useDefaults(l,"BAvatarGroup"),u=v.useToNumber((()=>o.overlap)),n=d.useNumberishToStyle((()=>o.size)),r=e.computed((()=>Math.min(Math.max(u.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${r.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:r,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=f,exports._sfc_main$1=b;
2
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-DZ3xkS3h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-BaX2OeNe.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","localSrc","ref","src","vue","watch","value","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","_sfc_main","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-DZ3xkS3h.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","localSrc","ref","src","vue","watch","value","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","_sfc_main","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),l=require("./BSpinner.vue_vue_type_script_setup_true_lang-BcJV3drv.js"),t=require("./useBLinkHelper-BxI4evA6.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-D6jmfiNf.js"),u=require("./index-CSe17yC0.js"),n=require("./useDefaults-DrxHjHw2.js"),o=e.defineComponent({__name:"BButton",props:e.mergeModels({loading:{type:Boolean,default:!1},loadingFill:{type:Boolean,default:!1},loadingText:{default:"Loading..."},pill:{type:Boolean,default:!1},size:{default:"md"},squared:{type:Boolean,default:!1},tag:{default:"button"},type:{default:"button"},variant:{default:"secondary"},active:{type:Boolean,default:!1},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:!1},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},routerTag:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:null}},{pressed:{type:Boolean,default:void 0},pressedModifiers:{}}),emits:e.mergeModels(["click"],["update:pressed"]),setup(o,{emit:r}){const i=o,d=n.useDefaults(i,"BButton"),s=r,v=e.useTemplateRef("_element"),f=e.useModel(o,"pressed"),{computedLink:p,computedLinkProps:c}=t.useBLinkHelper(d,["active-class","exact-active-class","replace","routerComponentName","routerTag"]),m=e.computed((()=>"boolean"==typeof f.value)),y=e.computed((()=>"button"===d.tag&&void 0===d.href&&void 0===d.to)),g=e.computed((()=>void 0!==d.to)),B=e.computed((()=>void 0===d.href&&!y.value)),_=e.computed((()=>g.value?c.value:[])),b=e.computed((()=>!("#"!==d.href||!d.disabled)||(B.value?d.disabled:null))),k=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link"))||!1})),h=e.computed((()=>{var e;return(null==(e=d.variant)?void 0:e.startsWith("link-"))||!1})),O=a.useLinkClasses(e.computed((()=>{var e;return{...k.value&&{icon:d.icon,opacity:d.opacity,opacityHover:d.opacityHover,underlineOffset:d.underlineOffset,underlineOffsetHover:d.underlineOffsetHover,underlineOpacity:d.underlineOpacity,underlineOpacityHover:d.underlineOpacityHover,underlineVariant:d.underlineVariant,variant:!0===h.value?null==(e=d.variant)?void 0:e.slice(5):null}}}))),H=e.computed((()=>[!0===k.value&&!1===p.value?O.value:void 0,[`btn-${d.size}`],{[`btn-${d.variant}`]:null!==d.variant&&!1===h.value,active:d.active||f.value,"rounded-pill":d.pill,"rounded-0":d.squared,disabled:d.disabled}])),x=e.computed((()=>g.value?a._sfc_main:d.href?"a":d.tag)),C=e=>{if(d.disabled)return e.preventDefault(),void e.stopPropagation();s("click",e),m.value&&(f.value=!f.value)};return u.onKeyStroke([" ","enter"],(e=>{var l;"#"===d.href&&(e.preventDefault(),null==(l=v.value)||l.click())}),{target:v}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),e.mergeProps({ref:"_element",class:"btn"},_.value,{class:H.value,"aria-disabled":b.value,"aria-pressed":m.value?f.value:null,autocomplete:m.value?"off":null,disabled:y.value?e.unref(d).disabled:null,href:e.unref(d).href,rel:e.unref(p)?e.unref(d).rel:null,role:B.value||e.unref(p)?"button":null,target:e.unref(p)?e.unref(d).target:null,type:y.value?e.unref(d).type:null,to:y.value?null:e.unref(d).to,onClick:C}),{default:e.withCtx((()=>[e.unref(d).loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[e.unref(d).loadingFill?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(d).loadingText),1)],64)),e.renderSlot(t.$slots,"loading-spinner",{},(()=>[e.createVNode(l._sfc_main,{small:"lg"!==e.unref(d).size,label:e.unref(d).loadingFill?e.unref(d).loadingText:void 0},null,8,["small","label"])]))])):e.renderSlot(t.$slots,"default",{key:1})])),_:3},16,["class","aria-disabled","aria-pressed","autocomplete","disabled","href","rel","role","target","type","to"]))}});exports._sfc_main=o;
2
+ //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-B4cV85yE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-B4cV85yE.js","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <template v-if=\"props.loading\">\n <slot name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n </template>\n <template v-else>\n <slot />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value && {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true ? (props.variant?.slice(5) as ColorVariant) : null,\n }),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","element","useTemplateRef","pressedValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","isToggle","computed","value","isButton","tag","href","to","isBLink","nonStandardTag","linkProps","computedAriaDisabled","disabled","variantIsLinkType","_a","variant","startsWith","variantIsLinkTypeSubset","linkValueClasses","useLinkClasses","icon","opacity","opacityHover","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","underlineVariant","slice","computedClasses","size","active","pill","squared","computedTag","BLink","clicked","e","preventDefault","stopPropagation","index","onKeyStroke","click","target"],"mappings":"g3CA0DA,MAAMA,EAASC,EAmCTC,EAAQC,EAAAA,YAAYH,EAAQ,WAE5BI,EAAOC,EAIPC,EAAUC,iBAA4B,YAEtCC,EAAeC,EAAAA,SAAoCR,EAAC,YAEpDS,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeV,EAAO,CAC9D,eACA,qBACA,UACA,sBACA,cAGIW,EAAWC,EAAAA,UAAS,IAAoC,kBAAvBN,EAAaO,QAC9CC,EAAWF,EAAAA,UACf,IAAoB,WAAdZ,EAAMe,UAAmC,IAAff,EAAMgB,WAAmC,IAAbhB,EAAMiB,KAE9DC,EAAUN,EAAAA,UAAS,SAAmB,IAAbZ,EAAMiB,KAC/BE,EAAiBP,YAAS,SAAsB,IAAfZ,EAAMgB,OAA8BF,EAASD,QAE9EO,EAAYR,EAAAA,UAAS,IAAOM,EAAQL,MAAQJ,EAAkBI,MAAQ,KACtEQ,EAAuBT,EAAAA,UAAS,MACjB,MAAfZ,EAAMgB,OAAgBhB,EAAMsB,YAEzBH,EAAeN,MAAQb,EAAMsB,SAAW,QAG3CC,EAAoBX,YAAS,WAAY,OAAN,OAAMY,EAAAxB,EAAAyB,cAAS,EAAAD,EAAAE,WAAW,WAAW,CAAA,IACxEC,EAA0Bf,YAAS,WAAY,OAAN,OAAMY,EAAAxB,EAAAyB,cAAS,EAAAD,EAAAE,WAAW,YAAY,CAAA,IAC/EE,EAAmBC,EAAAA,eACvBjB,EAAAA,UAAS,WAAO,MAAA,IACVW,EAAkBV,OAAS,CAC7BiB,KAAM9B,EAAM8B,KACZC,QAAS/B,EAAM+B,QACfC,aAAchC,EAAMgC,aACpBC,gBAAiBjC,EAAMiC,gBACvBC,qBAAsBlC,EAAMkC,qBAC5BC,iBAAkBnC,EAAMmC,iBACxBC,sBAAuBpC,EAAMoC,sBAC7BC,iBAAkBrC,EAAMqC,iBACxBZ,SACoC,IAAlCE,EAAwBd,MAAkB,OAAAW,IAAMC,cAAN,EAAAD,EAAec,MAAM,GAAsB,MACzF,KAGEC,EAAkB3B,EAAAA,UAAS,IAAM,EACT,IAA5BW,EAAkBV,QAAyC,IAAvBL,EAAaK,MAC7Ce,EAAiBf,WACjB,EACJ,CAAC,OAAOb,EAAMwC,QACd,CACE,CAAC,OAAOxC,EAAMyB,WAA8B,OAAlBzB,EAAMyB,UAAsD,IAAlCE,EAAwBd,MAC5E4B,OAAUzC,EAAMyC,QAAUnC,EAAaO,MACvC,eAAgBb,EAAM0C,KACtB,YAAa1C,EAAM2C,QACnBrB,SAAYtB,EAAMsB,aAIhBsB,EAAchC,EAAAA,UAAS,IAAOM,EAAQL,MAAQgC,YAAQ7C,EAAMgB,KAAO,IAAMhB,EAAMe,MAE/E+B,EAAWC,IACf,GAAI/C,EAAMsB,SAGR,OAFAyB,EAAEC,sBACFD,EAAEE,kBAGJ/C,EAAK,QAAS6C,GACVpC,EAASE,QAAoBP,EAAAO,OAASP,EAAaO,MAAA,SAGzDqC,EAAAC,YACE,CAAC,IAAK,UACLJ,UACoB,MAAf/C,EAAMgB,OACR+B,EAAEC,iBACF,OAAAxB,EAAApB,EAAQS,QAAOW,EAAA4B,QAAM,GAGzB,CAACC,OAAQjD"}
@@ -2,7 +2,7 @@ import { defineComponent, mergeModels, useTemplateRef, useModel, computed, openB
2
2
  import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-BVOlIAJ-.mjs";
3
3
  import { u as useBLinkHelper } from "./useBLinkHelper-Bvtov_sk.mjs";
4
4
  import { u as useLinkClasses, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-BB8hwqOG.mjs";
5
- import { o as onKeyStroke } from "./index-BgXbxfV9.mjs";
5
+ import { o as onKeyStroke } from "./index-Cr5Qd2ql.mjs";
6
6
  import { u as useDefaults } from "./useDefaults-dJMhLizZ.mjs";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "BButton",
@@ -46,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  const _props = __props;
47
47
  const props = useDefaults(_props, "BButton");
48
48
  const emit = __emit;
49
- const element = useTemplateRef("element");
49
+ const element = useTemplateRef("_element");
50
50
  const pressedValue = useModel(__props, "pressed");
51
51
  const { computedLink, computedLinkProps } = useBLinkHelper(props, [
52
52
  "active-class",
@@ -126,8 +126,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
126
126
  );
127
127
  return (_ctx, _cache) => {
128
128
  return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({
129
- ref_key: "element",
130
- ref: element,
129
+ ref: "_element",
131
130
  class: "btn"
132
131
  }, linkProps.value, {
133
132
  class: computedClasses.value,
@@ -164,4 +163,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
163
  export {
165
164
  _sfc_main as _
166
165
  };
167
- //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-jzwMHPCL.mjs.map
166
+ //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-lrwWXcOo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BButton.vue_vue_type_script_setup_true_lang-lrwWXcOo.mjs","sources":["../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <template v-if=\"props.loading\">\n <slot name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n </template>\n <template v-else>\n <slot />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport type {BButtonProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ColorVariant} from '../../types/ColorTypes'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'loading-spinner'?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: 'md',\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\n\nconst props = useDefaults(_props, 'BButton')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active-class',\n 'exact-active-class',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value && {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true ? (props.variant?.slice(5) as ColorVariant) : null,\n }),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"names":["_useModel","BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,SAAS;AAmCT,UAAA,QAAQ,YAAY,QAAQ,SAAS;AAE3C,UAAM,OAAO;AAIP,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,eAAeA,SAAoC,SAAC,SAA+B;AAEzF,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,WAAW,SAAS,MAAM,OAAO,aAAa,UAAU,SAAS;AACvE,UAAM,WAAW;AAAA,MACf,MAAM,MAAM,QAAQ,YAAY,MAAM,SAAS,UAAa,MAAM,OAAO;AAAA,IAC3E;AACA,UAAM,UAAU,SAAS,MAAM,MAAM,OAAO,MAAS;AAC/C,UAAA,iBAAiB,SAAS,MAAO,MAAM,SAAS,SAAY,QAAQ,CAAC,SAAS,KAAM;AAEpF,UAAA,YAAY,SAAS,MAAO,QAAQ,QAAQ,kBAAkB,QAAQ,EAAG;AACzE,UAAA,uBAAuB,SAAS,MAAM;AAC1C,UAAI,MAAM,SAAS,OAAO,MAAM,SAAiB,QAAA;AAE1C,aAAA,eAAe,QAAQ,MAAM,WAAW;AAAA,IAAA,CAChD;AAEK,UAAA,oBAAoB,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,YAAW;AAAA,KAAK;AAC7E,UAAA,0BAA0B,SAAS;;AAAM,0BAAM,YAAN,mBAAe,WAAW,aAAY;AAAA,KAAK;AAC1F,UAAM,mBAAmB;AAAA,MACvB,SAAS,MAAO;;AAAA;AAAA,UACd,GAAI,kBAAkB,SAAS;AAAA,YAC7B,MAAM,MAAM;AAAA,YACZ,SAAS,MAAM;AAAA,YACf,cAAc,MAAM;AAAA,YACpB,iBAAiB,MAAM;AAAA,YACvB,sBAAsB,MAAM;AAAA,YAC5B,kBAAkB,MAAM;AAAA,YACxB,uBAAuB,MAAM;AAAA,YAC7B,kBAAkB,MAAM;AAAA,YACxB,SACE,wBAAwB,UAAU,QAAQ,WAAM,YAAN,mBAAe,MAAM,KAAsB;AAAA,UAAA;AAAA,QACzF;AAAA,OACA;AAAA,IACJ;AACM,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,kBAAkB,UAAU,QAAQ,aAAa,UAAU,QACvD,iBAAiB,QACjB;AAAA,MACJ,CAAC,OAAO,MAAM,IAAI,EAAE;AAAA,MACpB;AAAA,QACE,CAAC,OAAO,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY,QAAQ,wBAAwB,UAAU;AAAA,QACtF,UAAU,MAAM,UAAU,aAAa;AAAA,QACvC,gBAAgB,MAAM;AAAA,QACtB,aAAa,MAAM;AAAA,QACnB,YAAY,MAAM;AAAA,MAAA;AAAA,IACpB,CACD;AAEK,UAAA,cAAc,SAAS,MAAO,QAAQ,QAAQC,cAAQ,MAAM,OAAO,MAAM,MAAM,GAAI;AAEnF,UAAA,UAAU,CAAC,MAAkC;AACjD,UAAI,MAAM,UAAU;AAClB,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAClB;AAAA,MAAA;AAEF,WAAK,SAAS,CAAC;AACf,UAAI,SAAS,MAAoB,cAAA,QAAQ,CAAC,aAAa;AAAA,IACzD;AAEA;AAAA,MACE,CAAC,KAAK,OAAO;AAAA,MACb,CAAC,MAAM;;AACD,YAAA,MAAM,SAAS,KAAK;AACtB,YAAE,eAAe;AACjB,wBAAQ,UAAR,mBAAe;AAAA,QAAM;AAAA,MAEzB;AAAA,MACA,EAAC,QAAQ,QAAO;AAAA,IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}