bootstrap-vue-next 0.44.7 → 0.45.1

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 (828) hide show
  1. package/dist/{BAccordion-CJZMsvwP.js → BAccordion-DgXJMqdG.js} +2 -2
  2. package/dist/{BAccordion-CJZMsvwP.js.map → BAccordion-DgXJMqdG.js.map} +1 -1
  3. package/dist/{BAccordion-CNzV6f8e.mjs → BAccordion-Gz2SpRmq.mjs} +2 -2
  4. package/dist/{BAccordion-CNzV6f8e.mjs.map → BAccordion-Gz2SpRmq.mjs.map} +1 -1
  5. package/dist/{BAlert-Qiyqq4rE.mjs → BAlert-BFPBalmr.mjs} +9 -10
  6. package/dist/BAlert-BFPBalmr.mjs.map +1 -0
  7. package/dist/{BAlert-BnT7fF6B.js → BAlert-Dk3rgEOI.js} +9 -10
  8. package/dist/BAlert-Dk3rgEOI.js.map +1 -0
  9. package/dist/{BApp-DJWC2mB8.mjs → BApp-CIu-zI8K.mjs} +2 -2
  10. package/dist/BApp-CIu-zI8K.mjs.map +1 -0
  11. package/dist/{BApp-DaM0UKIg.js → BApp-cBKQc5Dd.js} +2 -2
  12. package/dist/BApp-cBKQc5Dd.js.map +1 -0
  13. package/dist/BAspect-BULTO240.js.map +1 -1
  14. package/dist/BAspect-CwokVvvn.mjs.map +1 -1
  15. package/dist/{BAutocomplete-jAlZC6_t.js → BAutocomplete-B1qC2xDb.js} +114 -65
  16. package/dist/{BAutocomplete-jAlZC6_t.js.map → BAutocomplete-B1qC2xDb.js.map} +1 -1
  17. package/dist/{BAutocomplete-QBIaWPY1.mjs → BAutocomplete-DQjfkhoO.mjs} +115 -66
  18. package/dist/{BAutocomplete-QBIaWPY1.mjs.map → BAutocomplete-DQjfkhoO.mjs.map} +1 -1
  19. package/dist/{BAvatar-lefHkDuG.js → BAvatar-CZn0MQHY.js} +7 -8
  20. package/dist/BAvatar-CZn0MQHY.js.map +1 -0
  21. package/dist/{BAvatar-D7aFEXLH.mjs → BAvatar-DODGnQMY.mjs} +7 -8
  22. package/dist/BAvatar-DODGnQMY.mjs.map +1 -0
  23. package/dist/{BBadge-D5ra3W5R.mjs → BBadge-CZ219I7a.mjs} +5 -5
  24. package/dist/BBadge-CZ219I7a.mjs.map +1 -0
  25. package/dist/{BBadge-BBUcrujj.js → BBadge-DTJcCo9u.js} +5 -5
  26. package/dist/BBadge-DTJcCo9u.js.map +1 -0
  27. package/dist/{BBreadcrumb-BSsiwCNB.js → BBreadcrumb-DFG2Qxl9.js} +2 -2
  28. package/dist/BBreadcrumb-DFG2Qxl9.js.map +1 -0
  29. package/dist/{BBreadcrumb-amkzWyz6.mjs → BBreadcrumb-Dk4ia-9c.mjs} +2 -2
  30. package/dist/BBreadcrumb-Dk4ia-9c.mjs.map +1 -0
  31. package/dist/{BButton-kykTWnBy.js → BButton-BZ9eI3ZX.js} +6 -6
  32. package/dist/BButton-BZ9eI3ZX.js.map +1 -0
  33. package/dist/{BButton-DNmtqoqR.mjs → BButton-C0Ylhonf.mjs} +6 -6
  34. package/dist/BButton-C0Ylhonf.mjs.map +1 -0
  35. package/dist/{BButton-BRvIFnRm.mjs → BButton-D_sCrjpg.mjs} +13 -17
  36. package/dist/BButton-D_sCrjpg.mjs.map +1 -0
  37. package/dist/{BButton-DBRs8Pz_.js → BButton-Dr-RadYQ.js} +13 -17
  38. package/dist/BButton-Dr-RadYQ.js.map +1 -0
  39. package/dist/{BCard-CSyEHz8Z.js → BCard-BjQkY783.js} +2 -2
  40. package/dist/BCard-BjQkY783.js.map +1 -0
  41. package/dist/{BCard-CgbTFn3S.js → BCard-BkvG5Zzw.js} +5 -11
  42. package/dist/BCard-BkvG5Zzw.js.map +1 -0
  43. package/dist/{BCard-C1G8PO5k.mjs → BCard-TS8DtOwm.mjs} +6 -12
  44. package/dist/BCard-TS8DtOwm.mjs.map +1 -0
  45. package/dist/{BCard-CJ822HyH.mjs → BCard-cj8_dIcz.mjs} +2 -2
  46. package/dist/BCard-cj8_dIcz.mjs.map +1 -0
  47. package/dist/{BCarousel-BgT74ryc.js → BCarousel-D23rApAX.js} +3 -3
  48. package/dist/{BCarousel-BgT74ryc.js.map → BCarousel-D23rApAX.js.map} +1 -1
  49. package/dist/{BCarousel-D9Yei1Q4.mjs → BCarousel-VL1gVXpt.mjs} +3 -3
  50. package/dist/{BCarousel-D9Yei1Q4.mjs.map → BCarousel-VL1gVXpt.mjs.map} +1 -1
  51. package/dist/{BCloseButton-CjgbR1Ec.mjs → BCloseButton-CCdRwLDo.mjs} +1 -1
  52. package/dist/BCloseButton-CCdRwLDo.mjs.map +1 -0
  53. package/dist/{BCloseButton-CN__Jjcj.js → BCloseButton-fw5ONnhr.js} +1 -1
  54. package/dist/BCloseButton-fw5ONnhr.js.map +1 -0
  55. package/dist/{BCol-0tZmpOme.js → BCol-CArTYHqb.js} +2 -2
  56. package/dist/BCol-CArTYHqb.js.map +1 -0
  57. package/dist/{BCol-C4v-TOX6.mjs → BCol-VPaTVLsM.mjs} +2 -2
  58. package/dist/BCol-VPaTVLsM.mjs.map +1 -0
  59. package/dist/{BCollapse-D-xTGkX_.mjs → BCollapse-CTvK48kB.mjs} +2 -2
  60. package/dist/BCollapse-CTvK48kB.mjs.map +1 -0
  61. package/dist/{BCollapse-DZ1z2c8U.js → BCollapse-CZlDVTpI.js} +2 -2
  62. package/dist/BCollapse-CZlDVTpI.js.map +1 -0
  63. package/dist/{BContainer-BZUI2qQv.js → BContainer-CNmEk2mi.js} +3 -3
  64. package/dist/BContainer-CNmEk2mi.js.map +1 -0
  65. package/dist/{BContainer-DjIGH6-y.mjs → BContainer-CeHyMYb_.mjs} +3 -3
  66. package/dist/BContainer-CeHyMYb_.mjs.map +1 -0
  67. package/dist/{BDateField-RWwEMIwd.js → BDateField-B4yL8Pju.js} +6 -6
  68. package/dist/BDateField-B4yL8Pju.js.map +1 -0
  69. package/dist/{BDateField-BJIq6gs9.mjs → BDateField-gRWIwMnA.mjs} +6 -6
  70. package/dist/BDateField-gRWIwMnA.mjs.map +1 -0
  71. package/dist/{BDatePicker-DfzZBWjU.mjs → BDatePicker-ZuMpgD91.mjs} +8 -8
  72. package/dist/{BDatePicker-DfzZBWjU.mjs.map → BDatePicker-ZuMpgD91.mjs.map} +1 -1
  73. package/dist/{BDatePicker-BQN6qZXa.js → BDatePicker-m2drV1fl.js} +8 -8
  74. package/dist/{BDatePicker-BQN6qZXa.js.map → BDatePicker-m2drV1fl.js.map} +1 -1
  75. package/dist/{BDropdown-DAHnN54Z.mjs → BDropdown-B2vWJ-u0.mjs} +24 -25
  76. package/dist/BDropdown-B2vWJ-u0.mjs.map +1 -0
  77. package/dist/{BDropdown-C1AxRj81.js → BDropdown-BSCasYDc.js} +24 -25
  78. package/dist/BDropdown-BSCasYDc.js.map +1 -0
  79. package/dist/{BDropdown-CuVOxCzu.js → BDropdown-CL-erjq8.js} +4 -4
  80. package/dist/BDropdown-CL-erjq8.js.map +1 -0
  81. package/dist/{BDropdown-BW_O8vPQ.mjs → BDropdown-D2ep4wKG.mjs} +4 -4
  82. package/dist/BDropdown-D2ep4wKG.mjs.map +1 -0
  83. package/dist/{BForm-Oh6PpdcD.mjs → BForm-CpNuvbIt.mjs} +1 -1
  84. package/dist/BForm-CpNuvbIt.mjs.map +1 -0
  85. package/dist/{BForm-_h0kYDl7.js → BForm-CriVh5cC.js} +5 -5
  86. package/dist/BForm-CriVh5cC.js.map +1 -0
  87. package/dist/{BForm-Bp7SFxiK.js → BForm-K67Ciyza.js} +1 -1
  88. package/dist/BForm-K67Ciyza.js.map +1 -0
  89. package/dist/{BForm-C8I6v7bU.mjs → BForm-__5Chigr.mjs} +5 -5
  90. package/dist/BForm-__5Chigr.mjs.map +1 -0
  91. package/dist/{BFormCheckbox-Bdk2rgVe.js → BFormCheckbox-g7gtIrhy.js} +8 -8
  92. package/dist/BFormCheckbox-g7gtIrhy.js.map +1 -0
  93. package/dist/{BFormCheckbox-CcDK-lh1.mjs → BFormCheckbox-xN7AQw4O.mjs} +8 -8
  94. package/dist/BFormCheckbox-xN7AQw4O.mjs.map +1 -0
  95. package/dist/{BFormFile-BWknj7fW.js → BFormFile-DC-x9wQo.js} +3 -3
  96. package/dist/{BFormFile-BWknj7fW.js.map → BFormFile-DC-x9wQo.js.map} +1 -1
  97. package/dist/{BFormFile-Bf3GMYeX.mjs → BFormFile-DXdAyYmv.mjs} +3 -3
  98. package/dist/{BFormFile-Bf3GMYeX.mjs.map → BFormFile-DXdAyYmv.mjs.map} +1 -1
  99. package/dist/BFormGroup-DZTiChgT.js +505 -0
  100. package/dist/BFormGroup-DZTiChgT.js.map +1 -0
  101. package/dist/BFormGroup-ayltvQts.mjs +499 -0
  102. package/dist/BFormGroup-ayltvQts.mjs.map +1 -0
  103. package/dist/{BFormInput-BuRSGYdY.js → BFormInput-DNuvqbFQ.js} +2 -2
  104. package/dist/BFormInput-DNuvqbFQ.js.map +1 -0
  105. package/dist/{BFormInput-Dg9dbwHp.mjs → BFormInput-NKko58M2.mjs} +2 -2
  106. package/dist/BFormInput-NKko58M2.mjs.map +1 -0
  107. package/dist/{BFormOtp-DYjsPhQN.mjs → BFormOtp-B4al7MJf.mjs} +6 -6
  108. package/dist/{BFormOtp-DYjsPhQN.mjs.map → BFormOtp-B4al7MJf.mjs.map} +1 -1
  109. package/dist/{BFormOtp-C1YJvwN8.js → BFormOtp-UcLR9oFd.js} +6 -6
  110. package/dist/{BFormOtp-C1YJvwN8.js.map → BFormOtp-UcLR9oFd.js.map} +1 -1
  111. package/dist/{BFormRadio-CRDbgMiR.mjs → BFormRadio-DHx68AdL.mjs} +8 -8
  112. package/dist/BFormRadio-DHx68AdL.mjs.map +1 -0
  113. package/dist/{BFormRadio-DuVYw-Vs.js → BFormRadio-DX-gM5Rc.js} +8 -8
  114. package/dist/BFormRadio-DX-gM5Rc.js.map +1 -0
  115. package/dist/{BFormRating-Bb_ACp-9.mjs → BFormRating-BR7RMvZG.mjs} +2 -2
  116. package/dist/BFormRating-BR7RMvZG.mjs.map +1 -0
  117. package/dist/{BFormRating-CNqf91vN.js → BFormRating-CF-x5qkB.js} +2 -2
  118. package/dist/BFormRating-CF-x5qkB.js.map +1 -0
  119. package/dist/{BFormSelect-DIKVsG--.js → BFormSelect-CUkyKBNN.js} +9 -9
  120. package/dist/BFormSelect-CUkyKBNN.js.map +1 -0
  121. package/dist/{BFormSelect-Bb8yE8vz.mjs → BFormSelect-Co-ZU8yY.mjs} +9 -9
  122. package/dist/BFormSelect-Co-ZU8yY.mjs.map +1 -0
  123. package/dist/{BFormSelectOption-O8cyyv3i.mjs → BFormSelectOption-B3BO50XB.mjs} +1 -1
  124. package/dist/BFormSelectOption-B3BO50XB.mjs.map +1 -0
  125. package/dist/{BFormSelectOption-BY4P8HOf.js → BFormSelectOption-CQ3j1Q5j.js} +1 -1
  126. package/dist/BFormSelectOption-CQ3j1Q5j.js.map +1 -0
  127. package/dist/{BFormSpinbutton-BLO0Yf36.mjs → BFormSpinbutton-CPsVUIh9.mjs} +4 -4
  128. package/dist/{BFormSpinbutton-BLO0Yf36.mjs.map → BFormSpinbutton-CPsVUIh9.mjs.map} +1 -1
  129. package/dist/{BFormSpinbutton-BaOTL1k1.js → BFormSpinbutton-DPCXum9q.js} +4 -4
  130. package/dist/{BFormSpinbutton-BaOTL1k1.js.map → BFormSpinbutton-DPCXum9q.js.map} +1 -1
  131. package/dist/{BFormTag-C7B-bX72.js → BFormTag-Bsy6Znok.js} +3 -3
  132. package/dist/BFormTag-Bsy6Znok.js.map +1 -0
  133. package/dist/{BFormTag-BUWEugEC.mjs → BFormTag-Cjg1R-Lj.mjs} +3 -3
  134. package/dist/BFormTag-Cjg1R-Lj.mjs.map +1 -0
  135. package/dist/{BFormTags-BFA6xbr3.js → BFormTags-BIZyBseI.js} +11 -9
  136. package/dist/BFormTags-BIZyBseI.js.map +1 -0
  137. package/dist/{BFormTags-CJb4H67g.mjs → BFormTags-D2Dk598Q.mjs} +11 -9
  138. package/dist/BFormTags-D2Dk598Q.mjs.map +1 -0
  139. package/dist/{BFormTextarea-8c3B3kAI.js → BFormTextarea-CYh47SxL.js} +3 -3
  140. package/dist/BFormTextarea-CYh47SxL.js.map +1 -0
  141. package/dist/{BFormTextarea-BMk05ojJ.mjs → BFormTextarea-M21mholw.mjs} +3 -3
  142. package/dist/BFormTextarea-M21mholw.mjs.map +1 -0
  143. package/dist/{BFormValidFeedback-DvTgwqSe.js → BFormValidFeedback-BhkEhSa0.js} +3 -3
  144. package/dist/BFormValidFeedback-BhkEhSa0.js.map +1 -0
  145. package/dist/{BFormValidFeedback-_Dgzm0Ag.mjs → BFormValidFeedback-DWkakzVO.mjs} +3 -3
  146. package/dist/BFormValidFeedback-DWkakzVO.mjs.map +1 -0
  147. package/dist/{BImg-Dyy0N-WQ.js → BImg-DFiJSy66.js} +7 -7
  148. package/dist/BImg-DFiJSy66.js.map +1 -0
  149. package/dist/{BImg-BQqZfIM9.mjs → BImg-UUMOpbK0.mjs} +7 -7
  150. package/dist/BImg-UUMOpbK0.mjs.map +1 -0
  151. package/dist/{BInputGroup-DpX10xwR.mjs → BInputGroup-3AVRA3U7.mjs} +3 -3
  152. package/dist/BInputGroup-3AVRA3U7.mjs.map +1 -0
  153. package/dist/{BInputGroup-Duk6Jk0v.js → BInputGroup-BAC-B_UM.js} +3 -3
  154. package/dist/BInputGroup-BAC-B_UM.js.map +1 -0
  155. package/dist/{BInputGroup-C7k0tS9j.mjs → BInputGroup-CfELrPhK.mjs} +2 -2
  156. package/dist/BInputGroup-CfELrPhK.mjs.map +1 -0
  157. package/dist/{BInputGroup-BScMw6Zr.js → BInputGroup-CiKwWBSu.js} +2 -2
  158. package/dist/BInputGroup-CiKwWBSu.js.map +1 -0
  159. package/dist/{BLink-Cz5YCsnv.mjs → BLink-CNFWSz0D.mjs} +2 -2
  160. package/dist/{BLink-Cz5YCsnv.mjs.map → BLink-CNFWSz0D.mjs.map} +1 -1
  161. package/dist/{BLink-uemyYKst.js → BLink-uLjtY3bY.js} +2 -2
  162. package/dist/{BLink-uemyYKst.js.map → BLink-uLjtY3bY.js.map} +1 -1
  163. package/dist/{BListGroup-BmtN0xQ3.mjs → BListGroup-CGxa7ZEu.mjs} +2 -2
  164. package/dist/BListGroup-CGxa7ZEu.mjs.map +1 -0
  165. package/dist/{BListGroup-DuyMdAxJ.js → BListGroup-CeXKZio1.js} +2 -2
  166. package/dist/BListGroup-CeXKZio1.js.map +1 -0
  167. package/dist/{BModal-D0LB339D.js → BModal-6hh-azT8.js} +12 -12
  168. package/dist/BModal-6hh-azT8.js.map +1 -0
  169. package/dist/{BModal-Br5xLT0-.mjs → BModal-BEmloby5.mjs} +12 -12
  170. package/dist/BModal-BEmloby5.mjs.map +1 -0
  171. package/dist/{BNav-BRjdHsjC.mjs → BNav-EHHlEg1E.mjs} +7 -6
  172. package/dist/BNav-EHHlEg1E.mjs.map +1 -0
  173. package/dist/{BNav-tYBwz1wU.js → BNav-u9QwSGj3.js} +7 -6
  174. package/dist/BNav-u9QwSGj3.js.map +1 -0
  175. package/dist/{BNavbar-vN3_CMLn.mjs → BNavbar-kgHIo_Gr.mjs} +5 -5
  176. package/dist/BNavbar-kgHIo_Gr.mjs.map +1 -0
  177. package/dist/{BNavbar-s9Ak5PnO.js → BNavbar-s8yvmhyz.js} +5 -5
  178. package/dist/BNavbar-s8yvmhyz.js.map +1 -0
  179. package/dist/{BOffcanvas-jETHbtC3.mjs → BOffcanvas-DaKJOICF.mjs} +9 -9
  180. package/dist/BOffcanvas-DaKJOICF.mjs.map +1 -0
  181. package/dist/{BOffcanvas-D33pEfZe.js → BOffcanvas-mlOkh8T1.js} +9 -9
  182. package/dist/BOffcanvas-mlOkh8T1.js.map +1 -0
  183. package/dist/{BOverlay-B7vJAdHO.js → BOverlay--gZBEMlX.js} +5 -5
  184. package/dist/BOverlay--gZBEMlX.js.map +1 -0
  185. package/dist/{BOverlay-BGxH9JVy.mjs → BOverlay-DSUoseNJ.mjs} +5 -5
  186. package/dist/BOverlay-DSUoseNJ.mjs.map +1 -0
  187. package/dist/{BPagination-CvoSN1He.mjs → BPagination-C7MKOk8h.mjs} +8 -8
  188. package/dist/BPagination-C7MKOk8h.mjs.map +1 -0
  189. package/dist/{BPagination-C0-4NVzW.js → BPagination-D6W1LdgK.js} +8 -8
  190. package/dist/BPagination-D6W1LdgK.js.map +1 -0
  191. package/dist/{BPlaceholder-DYYYuNgR.js → BPlaceholder-Ckvq3tMu.js} +14 -14
  192. package/dist/BPlaceholder-Ckvq3tMu.js.map +1 -0
  193. package/dist/{BPlaceholder-C4AOg29f.mjs → BPlaceholder-D__hNPyQ.mjs} +14 -14
  194. package/dist/BPlaceholder-D__hNPyQ.mjs.map +1 -0
  195. package/dist/{BProgress-BIqo6vLh.mjs → BProgress-I1ucNlpA.mjs} +3 -3
  196. package/dist/BProgress-I1ucNlpA.mjs.map +1 -0
  197. package/dist/{BProgress-Bc3ZSkac.js → BProgress-ySlPjpRn.js} +3 -3
  198. package/dist/BProgress-ySlPjpRn.js.map +1 -0
  199. package/dist/{BRow-tqMEhkZS.js → BRow-CmKiMcMZ.js} +3 -3
  200. package/dist/BRow-CmKiMcMZ.js.map +1 -0
  201. package/dist/{BRow-BCEK3fe6.mjs → BRow-U3L8AcKV.mjs} +3 -3
  202. package/dist/BRow-U3L8AcKV.mjs.map +1 -0
  203. package/dist/{BSpinner-8UMAINYb.js → BSpinner-C1bm8U4-.js} +2 -2
  204. package/dist/BSpinner-C1bm8U4-.js.map +1 -0
  205. package/dist/{BSpinner-BpnwONvx.mjs → BSpinner-CAo-XD04.mjs} +2 -2
  206. package/dist/BSpinner-CAo-XD04.mjs.map +1 -0
  207. package/dist/{BTable-CjHMx8Yv.mjs → BTable-DYS8Lftg.mjs} +7 -7
  208. package/dist/BTable-DYS8Lftg.mjs.map +1 -0
  209. package/dist/{BTable-Btzu1IJ_.js → BTable-G-Pjvx68.js} +7 -7
  210. package/dist/BTable-G-Pjvx68.js.map +1 -0
  211. package/dist/{BTableSimple-C901Z5V9.mjs → BTableSimple-CThwYBVl.mjs} +3 -3
  212. package/dist/BTableSimple-CThwYBVl.mjs.map +1 -0
  213. package/dist/{BTableSimple-BcdizuDm.js → BTableSimple-pyz_6D4s.js} +3 -3
  214. package/dist/BTableSimple-pyz_6D4s.js.map +1 -0
  215. package/dist/{BTabs-DiYaJi22.js → BTabs-C8rUY0Lx.js} +41 -13
  216. package/dist/BTabs-C8rUY0Lx.js.map +1 -0
  217. package/dist/{BTabs-DZEF9kgT.mjs → BTabs-Krs_Lv-R.mjs} +42 -14
  218. package/dist/BTabs-Krs_Lv-R.mjs.map +1 -0
  219. package/dist/{BTimeField-DSWZeGYP.mjs → BTimeField-DSf4cMpN.mjs} +5 -5
  220. package/dist/{BTimeField-DSWZeGYP.mjs.map → BTimeField-DSf4cMpN.mjs.map} +1 -1
  221. package/dist/{BTimeField-VTrtxGkI.js → BTimeField-W2LqGCjB.js} +5 -5
  222. package/dist/{BTimeField-VTrtxGkI.js.map → BTimeField-W2LqGCjB.js.map} +1 -1
  223. package/dist/{BToast-DCSZYXIi.js → BToast-DZuxMDbe.js} +10 -11
  224. package/dist/BToast-DZuxMDbe.js.map +1 -0
  225. package/dist/{BToast-B2rFKhLD.mjs → BToast-Dcfnqbxt.mjs} +10 -11
  226. package/dist/BToast-Dcfnqbxt.mjs.map +1 -0
  227. package/dist/{BTooltip-CryTO-SM.js → BTooltip-BGTjsV1z.js} +2 -2
  228. package/dist/BTooltip-BGTjsV1z.js.map +1 -0
  229. package/dist/{BTooltip-DtpjIEBu.mjs → BTooltip-BWij0hjE.mjs} +2 -2
  230. package/dist/BTooltip-BWij0hjE.mjs.map +1 -0
  231. package/dist/{BootstrapVueOptions-DbXZtoXX.js → BootstrapVueOptions-DeViqxoD.js} +1 -1
  232. package/dist/{BootstrapVueOptions-DbXZtoXX.js.map → BootstrapVueOptions-DeViqxoD.js.map} +1 -1
  233. package/dist/{BootstrapVueOptions-D3flIVqU.mjs → BootstrapVueOptions-Dt1TQdih.mjs} +1 -1
  234. package/dist/{BootstrapVueOptions-D3flIVqU.mjs.map → BootstrapVueOptions-Dt1TQdih.mjs.map} +1 -1
  235. package/dist/{ConditionalTeleport-BNsziElf.mjs → ConditionalTeleport-B4KYZIM6.mjs} +1 -1
  236. package/dist/ConditionalTeleport-B4KYZIM6.mjs.map +1 -0
  237. package/dist/{ConditionalTeleport-BJZk6HAx.js → ConditionalTeleport-BDWcebyD.js} +1 -1
  238. package/dist/ConditionalTeleport-BDWcebyD.js.map +1 -0
  239. package/dist/{ConditionalWrapper-Cc7EIszd.js → ConditionalWrapper-DZH_VSwb.js} +1 -1
  240. package/dist/{ConditionalWrapper-Cc7EIszd.js.map → ConditionalWrapper-DZH_VSwb.js.map} +1 -1
  241. package/dist/{ConditionalWrapper-D9ovtbHB.mjs → ConditionalWrapper-Dbc_O6qe.mjs} +1 -1
  242. package/dist/{ConditionalWrapper-D9ovtbHB.mjs.map → ConditionalWrapper-Dbc_O6qe.mjs.map} +1 -1
  243. package/dist/{DateRangeFieldInput-DiVuhf4Y.mjs → DateRangeFieldInput-B86VEz0H.mjs} +5 -5
  244. package/dist/{DateRangeFieldInput-DiVuhf4Y.mjs.map → DateRangeFieldInput-B86VEz0H.mjs.map} +1 -1
  245. package/dist/{DateRangeFieldInput-Ce7PM3PJ.js → DateRangeFieldInput-HvvI2You.js} +5 -5
  246. package/dist/{DateRangeFieldInput-Ce7PM3PJ.js.map → DateRangeFieldInput-HvvI2You.js.map} +1 -1
  247. package/dist/{PopperContent-CSwv2Fih.js → PopperContent-BS_eKjzD.js} +6 -6
  248. package/dist/{PopperContent-CSwv2Fih.js.map → PopperContent-BS_eKjzD.js.map} +1 -1
  249. package/dist/{PopperContent-BTUvv6Tu.mjs → PopperContent-DmSgsjSC.mjs} +6 -6
  250. package/dist/{PopperContent-BTUvv6Tu.mjs.map → PopperContent-DmSgsjSC.mjs.map} +1 -1
  251. package/dist/{VisuallyHidden-Bbwok8oL.mjs → VisuallyHidden-C4sXnc-k.mjs} +2 -2
  252. package/dist/{VisuallyHidden-Bbwok8oL.mjs.map → VisuallyHidden-C4sXnc-k.mjs.map} +1 -1
  253. package/dist/{VisuallyHidden-DaN947I0.js → VisuallyHidden-Cx0phlXT.js} +2 -2
  254. package/dist/{VisuallyHidden-DaN947I0.js.map → VisuallyHidden-Cx0phlXT.js.map} +1 -1
  255. package/dist/{VisuallyHiddenInput-Biq4Qv5j.js → VisuallyHiddenInput-BNrInt6d.js} +2 -2
  256. package/dist/{VisuallyHiddenInput-Biq4Qv5j.js.map → VisuallyHiddenInput-BNrInt6d.js.map} +1 -1
  257. package/dist/{VisuallyHiddenInput-D1SjTCVH.mjs → VisuallyHiddenInput-DKIzxsQR.mjs} +2 -2
  258. package/dist/{VisuallyHiddenInput-D1SjTCVH.mjs.map → VisuallyHiddenInput-DKIzxsQR.mjs.map} +1 -1
  259. package/dist/bootstrap-vue-next.css +56 -1
  260. package/dist/bootstrap-vue-next.mjs +60 -60
  261. package/dist/bootstrap-vue-next.umd.js +60 -60
  262. package/dist/components/BAccordion/BAccordionItem.vue.d.mts +1 -2
  263. package/dist/components/BAccordion/BAccordionItem.vue.d.ts +1 -2
  264. package/dist/components/BAlert/BAlert.vue.d.mts +1 -1
  265. package/dist/components/BAlert/BAlert.vue.d.ts +1 -1
  266. package/dist/components/BApp/BApp.vue.d.mts +1 -1
  267. package/dist/components/BApp/BApp.vue.d.ts +1 -1
  268. package/dist/components/BApp/BOrchestrator.vue.d.mts +1 -1
  269. package/dist/components/BApp/BOrchestrator.vue.d.ts +1 -1
  270. package/dist/components/BAspect/BAspect.vue.d.mts +2 -4
  271. package/dist/components/BAspect/BAspect.vue.d.ts +2 -4
  272. package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +266 -6
  273. package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +266 -6
  274. package/dist/components/BAvatar/BAvatar.vue.d.mts +1 -2
  275. package/dist/components/BAvatar/BAvatar.vue.d.ts +1 -2
  276. package/dist/components/BAvatar/BAvatarGroup.vue.d.mts +1 -2
  277. package/dist/components/BAvatar/BAvatarGroup.vue.d.ts +1 -2
  278. package/dist/components/BBadge/BBadge.vue.d.mts +1 -2
  279. package/dist/components/BBadge/BBadge.vue.d.ts +1 -2
  280. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.mts +1 -2
  281. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.ts +1 -2
  282. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.mts +1 -2
  283. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.ts +1 -2
  284. package/dist/components/BButton/BButton.vue.d.mts +1 -3
  285. package/dist/components/BButton/BButton.vue.d.ts +1 -3
  286. package/dist/components/BButton/BButtonGroup.vue.d.mts +1 -2
  287. package/dist/components/BButton/BButtonGroup.vue.d.ts +1 -2
  288. package/dist/components/BButton/BCloseButton.vue.d.mts +1 -1
  289. package/dist/components/BButton/BCloseButton.vue.d.ts +1 -1
  290. package/dist/components/BCard/BCard.vue.d.mts +1 -2
  291. package/dist/components/BCard/BCard.vue.d.ts +1 -2
  292. package/dist/components/BCard/BCardBody.vue.d.mts +1 -2
  293. package/dist/components/BCard/BCardBody.vue.d.ts +1 -2
  294. package/dist/components/BCard/BCardGroup.vue.d.mts +1 -2
  295. package/dist/components/BCard/BCardGroup.vue.d.ts +1 -2
  296. package/dist/components/BCard/BCardHeader.vue.d.mts +1 -1
  297. package/dist/components/BCard/BCardHeader.vue.d.ts +1 -1
  298. package/dist/components/BCard/BCardImg.vue.d.mts +1 -1
  299. package/dist/components/BCard/BCardImg.vue.d.ts +1 -1
  300. package/dist/components/BCard/BCardSubtitle.vue.d.mts +1 -2
  301. package/dist/components/BCard/BCardSubtitle.vue.d.ts +1 -2
  302. package/dist/components/BCard/BCardText.vue.d.mts +1 -2
  303. package/dist/components/BCard/BCardText.vue.d.ts +1 -2
  304. package/dist/components/BCard/BCardTitle.vue.d.mts +1 -2
  305. package/dist/components/BCard/BCardTitle.vue.d.ts +1 -2
  306. package/dist/components/BCardHeadFoot.vue.d.mts +1 -2
  307. package/dist/components/BCardHeadFoot.vue.d.ts +1 -2
  308. package/dist/components/BCarousel/BCarousel.vue.d.mts +1 -1
  309. package/dist/components/BCarousel/BCarousel.vue.d.ts +1 -1
  310. package/dist/components/BCarousel/BCarouselSlide.vue.d.mts +1 -2
  311. package/dist/components/BCarousel/BCarouselSlide.vue.d.ts +1 -2
  312. package/dist/components/BCollapse/BCollapse.vue.d.mts +1 -2
  313. package/dist/components/BCollapse/BCollapse.vue.d.ts +1 -2
  314. package/dist/components/BContainer/BCol.vue.d.mts +2 -3
  315. package/dist/components/BContainer/BCol.vue.d.ts +2 -3
  316. package/dist/components/BContainer/BContainer.vue.d.mts +1 -2
  317. package/dist/components/BContainer/BContainer.vue.d.ts +1 -2
  318. package/dist/components/BContainer/BRow.vue.d.mts +1 -2
  319. package/dist/components/BContainer/BRow.vue.d.ts +1 -2
  320. package/dist/components/BDateField/BDateField.vue.d.mts +2 -3
  321. package/dist/components/BDateField/BDateField.vue.d.ts +2 -3
  322. package/dist/components/BDateField/BDateRangeField.vue.d.mts +2 -3
  323. package/dist/components/BDateField/BDateRangeField.vue.d.ts +2 -3
  324. package/dist/components/BDateField/BTimeRangeField.vue.d.mts +5 -6
  325. package/dist/components/BDateField/BTimeRangeField.vue.d.ts +5 -6
  326. package/dist/components/BDatePicker/BDatePicker.vue.d.mts +3 -4
  327. package/dist/components/BDatePicker/BDatePicker.vue.d.ts +3 -4
  328. package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +3 -4
  329. package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +3 -4
  330. package/dist/components/BDropdown/BDropdown.vue.d.mts +1 -0
  331. package/dist/components/BDropdown/BDropdown.vue.d.ts +1 -0
  332. package/dist/components/BDropdown/BDropdownDivider.vue.d.mts +1 -1
  333. package/dist/components/BDropdown/BDropdownDivider.vue.d.ts +1 -1
  334. package/dist/components/BDropdown/BDropdownForm.vue.d.mts +1 -2
  335. package/dist/components/BDropdown/BDropdownForm.vue.d.ts +1 -2
  336. package/dist/components/BDropdown/BDropdownGroup.vue.d.mts +1 -2
  337. package/dist/components/BDropdown/BDropdownGroup.vue.d.ts +1 -2
  338. package/dist/components/BDropdown/BDropdownHeader.vue.d.mts +1 -2
  339. package/dist/components/BDropdown/BDropdownHeader.vue.d.ts +1 -2
  340. package/dist/components/BDropdown/BDropdownItem.vue.d.mts +1 -2
  341. package/dist/components/BDropdown/BDropdownItem.vue.d.ts +1 -2
  342. package/dist/components/BDropdown/BDropdownItemButton.vue.d.mts +1 -2
  343. package/dist/components/BDropdown/BDropdownItemButton.vue.d.ts +1 -2
  344. package/dist/components/BDropdown/BDropdownText.vue.d.mts +1 -2
  345. package/dist/components/BDropdown/BDropdownText.vue.d.ts +1 -2
  346. package/dist/components/BForm/BForm.vue.d.mts +1 -2
  347. package/dist/components/BForm/BForm.vue.d.ts +1 -2
  348. package/dist/components/BForm/BFormDatalist.vue.d.mts +1 -2
  349. package/dist/components/BForm/BFormDatalist.vue.d.ts +1 -2
  350. package/dist/components/BForm/BFormDatalistBase.vue.d.mts +1 -1
  351. package/dist/components/BForm/BFormDatalistBase.vue.d.ts +1 -1
  352. package/dist/components/BForm/BFormFloatingLabel.vue.d.mts +1 -2
  353. package/dist/components/BForm/BFormFloatingLabel.vue.d.ts +1 -2
  354. package/dist/components/BForm/BFormRow.vue.d.mts +1 -2
  355. package/dist/components/BForm/BFormRow.vue.d.ts +1 -2
  356. package/dist/components/BForm/BFormText.vue.d.mts +1 -2
  357. package/dist/components/BForm/BFormText.vue.d.ts +1 -2
  358. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -3
  359. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -3
  360. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.mts +1 -2
  361. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.ts +1 -2
  362. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.mts +1 -2
  363. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.ts +1 -2
  364. package/dist/components/BFormGroup/BFormGroup.vue.d.mts +3 -3
  365. package/dist/components/BFormGroup/BFormGroup.vue.d.ts +3 -3
  366. package/dist/components/BFormGroupContent.vue.d.mts +35 -0
  367. package/dist/components/BFormGroupContent.vue.d.ts +35 -0
  368. package/dist/components/BFormGroupLabel.vue.d.mts +35 -0
  369. package/dist/components/BFormGroupLabel.vue.d.ts +35 -0
  370. package/dist/components/BFormInput/BFormInput.vue.d.mts +2 -2
  371. package/dist/components/BFormInput/BFormInput.vue.d.ts +2 -2
  372. package/dist/components/BFormRadio/BFormRadio.vue.d.mts +1 -3
  373. package/dist/components/BFormRadio/BFormRadio.vue.d.ts +1 -3
  374. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.mts +1 -2
  375. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.ts +1 -2
  376. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.mts +1 -2
  377. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.ts +1 -2
  378. package/dist/components/BFormSelect/BFormSelect.vue.d.mts +1 -3
  379. package/dist/components/BFormSelect/BFormSelect.vue.d.ts +1 -3
  380. package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +1 -1
  381. package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +1 -1
  382. package/dist/components/BFormSelect/BFormSelectOption.vue.d.mts +1 -2
  383. package/dist/components/BFormSelect/BFormSelectOption.vue.d.ts +1 -2
  384. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.mts +1 -2
  385. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.ts +1 -2
  386. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.mts +3 -3
  387. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.ts +3 -3
  388. package/dist/components/BFormTags/BFormTag.vue.d.mts +1 -2
  389. package/dist/components/BFormTags/BFormTag.vue.d.ts +1 -2
  390. package/dist/components/BFormTags/BFormTags.vue.d.mts +4 -3
  391. package/dist/components/BFormTags/BFormTags.vue.d.ts +4 -3
  392. package/dist/components/BFormTextarea/BFormTextarea.vue.d.mts +2 -2
  393. package/dist/components/BFormTextarea/BFormTextarea.vue.d.ts +2 -2
  394. package/dist/components/BImg/BImg.vue.d.mts +1 -1
  395. package/dist/components/BImg/BImg.vue.d.ts +1 -1
  396. package/dist/components/BInputGroup/BInputGroup.vue.d.mts +1 -2
  397. package/dist/components/BInputGroup/BInputGroup.vue.d.ts +1 -2
  398. package/dist/components/BInputGroup/BInputGroupText.vue.d.mts +1 -2
  399. package/dist/components/BInputGroup/BInputGroupText.vue.d.ts +1 -2
  400. package/dist/components/BListGroup/BListGroup.vue.d.mts +1 -2
  401. package/dist/components/BListGroup/BListGroup.vue.d.ts +1 -2
  402. package/dist/components/BListGroup/BListGroupItem.vue.d.mts +1 -2
  403. package/dist/components/BListGroup/BListGroupItem.vue.d.ts +1 -2
  404. package/dist/components/BModal/BModal.vue.d.mts +2 -2
  405. package/dist/components/BModal/BModal.vue.d.ts +2 -2
  406. package/dist/components/BNav/BNav.vue.d.mts +1 -2
  407. package/dist/components/BNav/BNav.vue.d.ts +1 -2
  408. package/dist/components/BNav/BNavForm.vue.d.mts +1 -2
  409. package/dist/components/BNav/BNavForm.vue.d.ts +1 -2
  410. package/dist/components/BNav/BNavItem.vue.d.mts +1 -2
  411. package/dist/components/BNav/BNavItem.vue.d.ts +1 -2
  412. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +14 -4
  413. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +14 -4
  414. package/dist/components/BNav/BNavText.vue.d.mts +1 -2
  415. package/dist/components/BNav/BNavText.vue.d.ts +1 -2
  416. package/dist/components/BNavbar/BNavbar.vue.d.mts +1 -2
  417. package/dist/components/BNavbar/BNavbar.vue.d.ts +1 -2
  418. package/dist/components/BNavbar/BNavbarBrand.vue.d.mts +1 -2
  419. package/dist/components/BNavbar/BNavbarBrand.vue.d.ts +1 -2
  420. package/dist/components/BNavbar/BNavbarNav.vue.d.mts +1 -2
  421. package/dist/components/BNavbar/BNavbarNav.vue.d.ts +1 -2
  422. package/dist/components/BNavbar/BNavbarToggle.vue.d.mts +1 -2
  423. package/dist/components/BNavbar/BNavbarToggle.vue.d.ts +1 -2
  424. package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +1 -2
  425. package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +1 -2
  426. package/dist/components/BOverlay/BOverlay.vue.d.mts +1 -2
  427. package/dist/components/BOverlay/BOverlay.vue.d.ts +1 -2
  428. package/dist/components/BPagination/BPagination.vue.d.mts +1 -1
  429. package/dist/components/BPagination/BPagination.vue.d.ts +1 -1
  430. package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +1 -1
  431. package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +1 -1
  432. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +1 -1
  433. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +1 -1
  434. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.mts +1 -2
  435. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.ts +1 -2
  436. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.mts +1 -2
  437. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.ts +1 -2
  438. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.mts +1 -2
  439. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.ts +1 -2
  440. package/dist/components/BPopover/BPopover.vue.d.mts +1 -1
  441. package/dist/components/BPopover/BPopover.vue.d.ts +1 -1
  442. package/dist/components/BProgress/BProgress.vue.d.mts +1 -2
  443. package/dist/components/BProgress/BProgress.vue.d.ts +1 -2
  444. package/dist/components/BProgress/BProgressBar.vue.d.mts +1 -2
  445. package/dist/components/BProgress/BProgressBar.vue.d.ts +1 -2
  446. package/dist/components/BSpinner/BSpinner.vue.d.mts +1 -2
  447. package/dist/components/BSpinner/BSpinner.vue.d.ts +1 -2
  448. package/dist/components/BTable/BTableLite.vue.d.mts +1 -2
  449. package/dist/components/BTable/BTableLite.vue.d.ts +1 -2
  450. package/dist/components/BTable/BTableSimple.vue.d.mts +1 -2
  451. package/dist/components/BTable/BTableSimple.vue.d.ts +1 -2
  452. package/dist/components/BTable/BTbody.vue.d.mts +1 -2
  453. package/dist/components/BTable/BTbody.vue.d.ts +1 -2
  454. package/dist/components/BTable/BTd.vue.d.mts +1 -2
  455. package/dist/components/BTable/BTd.vue.d.ts +1 -2
  456. package/dist/components/BTable/BTfoot.vue.d.mts +1 -2
  457. package/dist/components/BTable/BTfoot.vue.d.ts +1 -2
  458. package/dist/components/BTable/BTh.vue.d.mts +1 -2
  459. package/dist/components/BTable/BTh.vue.d.ts +1 -2
  460. package/dist/components/BTable/BThead.vue.d.mts +1 -2
  461. package/dist/components/BTable/BThead.vue.d.ts +1 -2
  462. package/dist/components/BTable/BTr.vue.d.mts +1 -2
  463. package/dist/components/BTable/BTr.vue.d.ts +1 -2
  464. package/dist/components/BTabs/BTabs.vue.d.mts +2 -0
  465. package/dist/components/BTabs/BTabs.vue.d.ts +2 -0
  466. package/dist/components/BTabsTabContent.vue.d.mts +27 -0
  467. package/dist/components/BTabsTabContent.vue.d.ts +27 -0
  468. package/dist/components/BTimeField/BTimeField.vue.d.mts +2 -3
  469. package/dist/components/BTimeField/BTimeField.vue.d.ts +2 -3
  470. package/dist/components/BToast/BToast.vue.d.mts +1 -2
  471. package/dist/components/BToast/BToast.vue.d.ts +1 -2
  472. package/dist/components/BTooltip/BTooltip.vue.d.mts +1 -1
  473. package/dist/components/BTooltip/BTooltip.vue.d.ts +1 -1
  474. package/dist/composables/useAriaInvalid.d.mts +3 -2
  475. package/dist/composables/useAriaInvalid.d.ts +3 -2
  476. package/dist/composables/useFormInput.d.mts +1 -1
  477. package/dist/composables/useFormInput.d.ts +1 -1
  478. package/dist/{constants-hccBP09R.js → constants-BLIvvaat.js} +1 -1
  479. package/dist/{constants-hccBP09R.js.map → constants-BLIvvaat.js.map} +1 -1
  480. package/dist/{constants-BSIK14yA.mjs → constants-Ba9iJn2H.mjs} +1 -1
  481. package/dist/{constants-BSIK14yA.mjs.map → constants-Ba9iJn2H.mjs.map} +1 -1
  482. package/dist/{debounce-C-5Oukxb.js → debounce-D6kifS6w.js} +1 -1
  483. package/dist/{debounce-C-5Oukxb.js.map → debounce-D6kifS6w.js.map} +1 -1
  484. package/dist/{debounce-C_wjWVGH.mjs → debounce-DHxNfjan.mjs} +1 -1
  485. package/dist/{debounce-C_wjWVGH.mjs.map → debounce-DHxNfjan.mjs.map} +1 -1
  486. package/dist/{dist-BJ15ThEs.js → dist-DiXKLh_W.js} +2 -66
  487. package/dist/{dist-BJ15ThEs.js.map → dist-DiXKLh_W.js.map} +1 -1
  488. package/dist/{dist-B10a-gZ8.mjs → dist-Dk9C_HFS.mjs} +4 -62
  489. package/dist/dist-Dk9C_HFS.mjs.map +1 -0
  490. package/dist/{floating-ui.vue-CAMaNcqI.mjs → floating-ui.vue-CH2o_mZU.mjs} +1 -1
  491. package/dist/{floating-ui.vue-CAMaNcqI.mjs.map → floating-ui.vue-CH2o_mZU.mjs.map} +1 -1
  492. package/dist/{floating-ui.vue-GXIS2sFG.js → floating-ui.vue-DDOIU2nS.js} +1 -1
  493. package/dist/{floating-ui.vue-GXIS2sFG.js.map → floating-ui.vue-DDOIU2nS.js.map} +1 -1
  494. package/dist/{floatingUi-DHMrP__c.mjs → floatingUi-8xXp54zf.mjs} +21 -13
  495. package/dist/floatingUi-8xXp54zf.mjs.map +1 -0
  496. package/dist/{floatingUi-Cs4rDXmO.js → floatingUi-9SWu8BgZ.js} +26 -12
  497. package/dist/floatingUi-9SWu8BgZ.js.map +1 -0
  498. package/dist/{getClasses-qqI6x4f4.js → getClasses-8P0iBind.js} +1 -1
  499. package/dist/{getClasses-qqI6x4f4.js.map → getClasses-8P0iBind.js.map} +1 -1
  500. package/dist/{getClasses-DaWzwT2S.mjs → getClasses-COokMI60.mjs} +1 -1
  501. package/dist/{getClasses-DaWzwT2S.mjs.map → getClasses-COokMI60.mjs.map} +1 -1
  502. package/dist/{getElement-0_htvrFw.mjs → getElement-D2Jr1cbp.mjs} +1 -1
  503. package/dist/{getElement-0_htvrFw.mjs.map → getElement-D2Jr1cbp.mjs.map} +1 -1
  504. package/dist/{getElement-CxWWOx3K.js → getElement-DWGFJn0w.js} +1 -1
  505. package/dist/{getElement-CxWWOx3K.js.map → getElement-DWGFJn0w.js.map} +1 -1
  506. package/dist/keys-CQKrwmvN.mjs.map +1 -1
  507. package/dist/keys-durSVUrO.js.map +1 -1
  508. package/dist/{registryAccess-D-YxwQJq.js → registryAccess-B9QDQwV8.js} +1 -1
  509. package/dist/{registryAccess-D-YxwQJq.js.map → registryAccess-B9QDQwV8.js.map} +1 -1
  510. package/dist/{registryAccess-C1Ti_nxW.mjs → registryAccess-BkJDdh-3.mjs} +1 -1
  511. package/dist/{registryAccess-C1Ti_nxW.mjs.map → registryAccess-BkJDdh-3.mjs.map} +1 -1
  512. package/dist/src/components/BAccordion/index.mjs +1 -1
  513. package/dist/src/components/BAccordion/index.umd.js +1 -1
  514. package/dist/src/components/BAlert/index.mjs +1 -1
  515. package/dist/src/components/BAlert/index.umd.js +1 -1
  516. package/dist/src/components/BApp/index.mjs +1 -1
  517. package/dist/src/components/BApp/index.umd.js +1 -1
  518. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  519. package/dist/src/components/BAutocomplete/index.umd.js +1 -1
  520. package/dist/src/components/BAvatar/index.mjs +1 -1
  521. package/dist/src/components/BAvatar/index.umd.js +1 -1
  522. package/dist/src/components/BBadge/index.mjs +1 -1
  523. package/dist/src/components/BBadge/index.umd.js +1 -1
  524. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  525. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  526. package/dist/src/components/BButton/index.mjs +3 -3
  527. package/dist/src/components/BButton/index.umd.js +3 -3
  528. package/dist/src/components/BCard/index.mjs +2 -2
  529. package/dist/src/components/BCard/index.umd.js +2 -2
  530. package/dist/src/components/BCarousel/index.mjs +1 -1
  531. package/dist/src/components/BCarousel/index.umd.js +1 -1
  532. package/dist/src/components/BCol/index.mjs +1 -1
  533. package/dist/src/components/BCol/index.umd.js +1 -1
  534. package/dist/src/components/BCollapse/index.mjs +1 -1
  535. package/dist/src/components/BCollapse/index.umd.js +1 -1
  536. package/dist/src/components/BContainer/index.mjs +3 -3
  537. package/dist/src/components/BContainer/index.umd.js +3 -3
  538. package/dist/src/components/BDateField/index.mjs +1 -1
  539. package/dist/src/components/BDateField/index.umd.js +1 -1
  540. package/dist/src/components/BDatePicker/index.mjs +1 -1
  541. package/dist/src/components/BDatePicker/index.umd.js +1 -1
  542. package/dist/src/components/BDropdown/index.mjs +2 -2
  543. package/dist/src/components/BDropdown/index.umd.js +2 -2
  544. package/dist/src/components/BForm/index.mjs +3 -3
  545. package/dist/src/components/BForm/index.umd.js +3 -3
  546. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  547. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  548. package/dist/src/components/BFormFile/index.mjs +1 -1
  549. package/dist/src/components/BFormFile/index.umd.js +1 -1
  550. package/dist/src/components/BFormGroup/index.mjs +1 -1
  551. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  552. package/dist/src/components/BFormInput/index.mjs +1 -1
  553. package/dist/src/components/BFormInput/index.umd.js +1 -1
  554. package/dist/src/components/BFormOtp/index.mjs +1 -1
  555. package/dist/src/components/BFormOtp/index.umd.js +1 -1
  556. package/dist/src/components/BFormRadio/index.mjs +1 -1
  557. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  558. package/dist/src/components/BFormRating/index.mjs +1 -1
  559. package/dist/src/components/BFormRating/index.umd.js +1 -1
  560. package/dist/src/components/BFormSelect/index.mjs +2 -2
  561. package/dist/src/components/BFormSelect/index.umd.js +2 -2
  562. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  563. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  564. package/dist/src/components/BFormTags/index.mjs +2 -2
  565. package/dist/src/components/BFormTags/index.umd.js +2 -2
  566. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  567. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  568. package/dist/src/components/BImg/index.mjs +1 -1
  569. package/dist/src/components/BImg/index.umd.js +1 -1
  570. package/dist/src/components/BInputGroup/index.mjs +2 -2
  571. package/dist/src/components/BInputGroup/index.umd.js +2 -2
  572. package/dist/src/components/BLink/index.mjs +1 -1
  573. package/dist/src/components/BLink/index.umd.js +1 -1
  574. package/dist/src/components/BListGroup/index.mjs +1 -1
  575. package/dist/src/components/BListGroup/index.umd.js +1 -1
  576. package/dist/src/components/BModal/index.mjs +1 -1
  577. package/dist/src/components/BModal/index.umd.js +1 -1
  578. package/dist/src/components/BNav/index.mjs +1 -1
  579. package/dist/src/components/BNav/index.umd.js +1 -1
  580. package/dist/src/components/BNavbar/index.mjs +1 -1
  581. package/dist/src/components/BNavbar/index.umd.js +1 -1
  582. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  583. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  584. package/dist/src/components/BOverlay/index.mjs +1 -1
  585. package/dist/src/components/BOverlay/index.umd.js +1 -1
  586. package/dist/src/components/BPagination/index.mjs +1 -1
  587. package/dist/src/components/BPagination/index.umd.js +1 -1
  588. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  589. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  590. package/dist/src/components/BPopover/index.mjs +1 -1
  591. package/dist/src/components/BPopover/index.umd.js +1 -1
  592. package/dist/src/components/BProgress/index.mjs +1 -1
  593. package/dist/src/components/BProgress/index.umd.js +1 -1
  594. package/dist/src/components/BRow/index.mjs +1 -1
  595. package/dist/src/components/BRow/index.umd.js +1 -1
  596. package/dist/src/components/BSpinner/index.mjs +1 -1
  597. package/dist/src/components/BSpinner/index.umd.js +1 -1
  598. package/dist/src/components/BTable/index.mjs +2 -2
  599. package/dist/src/components/BTable/index.umd.js +2 -2
  600. package/dist/src/components/BTabs/index.mjs +1 -1
  601. package/dist/src/components/BTabs/index.umd.js +1 -1
  602. package/dist/src/components/BTimeField/index.mjs +1 -1
  603. package/dist/src/components/BTimeField/index.umd.js +1 -1
  604. package/dist/src/components/BToast/index.mjs +1 -1
  605. package/dist/src/components/BToast/index.umd.js +1 -1
  606. package/dist/src/components/BTooltip/index.mjs +1 -1
  607. package/dist/src/components/BTooltip/index.umd.js +1 -1
  608. package/dist/src/components/index.mjs +58 -58
  609. package/dist/src/components/index.umd.js +58 -58
  610. package/dist/src/composables/useColorMode/index.mjs +1 -1
  611. package/dist/src/composables/useColorMode/index.umd.js +1 -1
  612. package/dist/src/composables/useModal/index.mjs +1 -1
  613. package/dist/src/composables/useModal/index.umd.js +1 -1
  614. package/dist/src/composables/usePopover/index.mjs +2 -2
  615. package/dist/src/composables/usePopover/index.umd.js +2 -2
  616. package/dist/src/composables/useScrollLock/index.mjs +1 -1
  617. package/dist/src/composables/useScrollLock/index.umd.js +1 -1
  618. package/dist/src/composables/useScrollspy/index.mjs +2 -2
  619. package/dist/src/composables/useScrollspy/index.umd.js +2 -2
  620. package/dist/src/composables/useToast/index.mjs +1 -1
  621. package/dist/src/composables/useToast/index.umd.js +1 -1
  622. package/dist/src/composables/useToggle/index.mjs +1 -1
  623. package/dist/src/composables/useToggle/index.umd.js +1 -1
  624. package/dist/src/directives/BPopover/index.mjs +2 -2
  625. package/dist/src/directives/BPopover/index.umd.js +2 -2
  626. package/dist/src/directives/BScrollspy/index.mjs +1 -1
  627. package/dist/src/directives/BScrollspy/index.umd.js +1 -1
  628. package/dist/src/directives/BToggle/index.mjs +3 -3
  629. package/dist/src/directives/BToggle/index.umd.js +3 -3
  630. package/dist/src/directives/BTooltip/index.mjs +2 -2
  631. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  632. package/dist/src/resolvers/index.mjs +1 -1
  633. package/dist/src/resolvers/index.umd.js +1 -1
  634. package/dist/src/types/index.mjs +1 -1
  635. package/dist/src/types/index.umd.js +1 -1
  636. package/dist/{stringUtils-BwKOASdU.js → stringUtils-68ZN_GRt.js} +2 -2
  637. package/dist/{stringUtils-BwKOASdU.js.map → stringUtils-68ZN_GRt.js.map} +1 -1
  638. package/dist/{stringUtils-CslYpDTt.mjs → stringUtils-D4eEDlt1.mjs} +2 -2
  639. package/dist/{stringUtils-CslYpDTt.mjs.map → stringUtils-D4eEDlt1.mjs.map} +1 -1
  640. package/dist/types/AriaInvalid.d.mts +1 -0
  641. package/dist/types/AriaInvalid.d.ts +1 -0
  642. package/dist/types/ComponentEmits.d.mts +5 -0
  643. package/dist/types/ComponentEmits.d.ts +5 -0
  644. package/dist/types/ComponentProps.d.mts +4 -0
  645. package/dist/types/ComponentProps.d.ts +4 -0
  646. package/dist/types/ComponentSlots.d.mts +25 -1
  647. package/dist/types/ComponentSlots.d.ts +25 -1
  648. package/dist/types/Size.d.mts +0 -1
  649. package/dist/types/Size.d.ts +0 -1
  650. package/dist/{useAlignment-BiCREohQ.mjs → useAlignment-DuR8ymKI.mjs} +1 -1
  651. package/dist/{useAlignment-BiCREohQ.mjs.map → useAlignment-DuR8ymKI.mjs.map} +1 -1
  652. package/dist/{useAlignment-D5xKBRez.js → useAlignment-oKolnDpb.js} +1 -1
  653. package/dist/{useAlignment-D5xKBRez.js.map → useAlignment-oKolnDpb.js.map} +1 -1
  654. package/dist/useAriaInvalid-CHHPHNLU.js.map +1 -1
  655. package/dist/useAriaInvalid-apOwgexm.mjs.map +1 -1
  656. package/dist/{useColorVariantClasses-B6Me_Kx6.mjs → useColorVariantClasses-CqeXHjRh.mjs} +1 -1
  657. package/dist/{useColorVariantClasses-B6Me_Kx6.mjs.map → useColorVariantClasses-CqeXHjRh.mjs.map} +1 -1
  658. package/dist/{useColorVariantClasses-CEfOwjPv.js → useColorVariantClasses-Dq0sOYDL.js} +1 -1
  659. package/dist/{useColorVariantClasses-CEfOwjPv.js.map → useColorVariantClasses-Dq0sOYDL.js.map} +1 -1
  660. package/dist/{useCountdownHover-t9O7DHoK.mjs → useCountdownHover-C3NXiAaF.mjs} +2 -2
  661. package/dist/{useCountdownHover-t9O7DHoK.mjs.map → useCountdownHover-C3NXiAaF.mjs.map} +1 -1
  662. package/dist/{useCountdownHover-8bwLWYoN.js → useCountdownHover-DbVhE-N0.js} +2 -2
  663. package/dist/{useCountdownHover-8bwLWYoN.js.map → useCountdownHover-DbVhE-N0.js.map} +1 -1
  664. package/dist/{useDateField-DmmXa0_5.mjs → useDateField-CJKgollJ.mjs} +3 -3
  665. package/dist/{useDateField-DmmXa0_5.mjs.map → useDateField-CJKgollJ.mjs.map} +1 -1
  666. package/dist/{useDateField-COTiu3aN.js → useDateField-DWv3600o.js} +3 -3
  667. package/dist/{useDateField-COTiu3aN.js.map → useDateField-DWv3600o.js.map} +1 -1
  668. package/dist/{useFormCheck-CJvIDxcO.mjs → useFormCheck-BKXrwS3g.mjs} +4 -4
  669. package/dist/useFormCheck-BKXrwS3g.mjs.map +1 -0
  670. package/dist/{useFormCheck-UHNy_iZ0.js → useFormCheck-DYjLG4WA.js} +4 -4
  671. package/dist/useFormCheck-DYjLG4WA.js.map +1 -0
  672. package/dist/{useFormInput-BgJCT9k_.mjs → useFormInput-CA4FYoV7.mjs} +4 -4
  673. package/dist/{useFormInput-BgJCT9k_.mjs.map → useFormInput-CA4FYoV7.mjs.map} +1 -1
  674. package/dist/{useFormInput-CsR38QR6.js → useFormInput-D31FCDxr.js} +4 -4
  675. package/dist/{useFormInput-CsR38QR6.js.map → useFormInput-D31FCDxr.js.map} +1 -1
  676. package/dist/{useFormSelect-D3gVO4jJ.mjs → useFormSelect-C0nvno12.mjs} +1 -1
  677. package/dist/{useFormSelect-D3gVO4jJ.mjs.map → useFormSelect-C0nvno12.mjs.map} +1 -1
  678. package/dist/{useFormSelect-CiIMUolC.js → useFormSelect-CjAziZpu.js} +1 -1
  679. package/dist/{useFormSelect-CiIMUolC.js.map → useFormSelect-CjAziZpu.js.map} +1 -1
  680. package/dist/{useForwardExpose-DrJOy0jY.js → useForwardExpose-BpZJluPs.js} +2 -2
  681. package/dist/{useForwardExpose-DrJOy0jY.js.map → useForwardExpose-BpZJluPs.js.map} +1 -1
  682. package/dist/{useForwardExpose-4OUimdPL.mjs → useForwardExpose-Cob6LlGd.mjs} +2 -2
  683. package/dist/{useForwardExpose-4OUimdPL.mjs.map → useForwardExpose-Cob6LlGd.mjs.map} +1 -1
  684. package/dist/{useKbd-IZRktImL.mjs → useKbd-DfmgFov6.mjs} +1 -1
  685. package/dist/{useKbd-IZRktImL.mjs.map → useKbd-DfmgFov6.mjs.map} +1 -1
  686. package/dist/{useKbd-ZZushx7D.js → useKbd-sqDCJtXL.js} +1 -1
  687. package/dist/{useKbd-ZZushx7D.js.map → useKbd-sqDCJtXL.js.map} +1 -1
  688. package/dist/{useNumberishToStyle-DFf9fokb.js → useNumberishToStyle-BtMa0R27.js} +2 -2
  689. package/dist/{useNumberishToStyle-DFf9fokb.js.map → useNumberishToStyle-BtMa0R27.js.map} +1 -1
  690. package/dist/{useNumberishToStyle-DEqGK1UH.mjs → useNumberishToStyle-DgS1slD3.mjs} +2 -2
  691. package/dist/{useNumberishToStyle-DEqGK1UH.mjs.map → useNumberishToStyle-DgS1slD3.mjs.map} +1 -1
  692. package/dist/{useRadiusElementClasses-BlrN-T6U.mjs → useRadiusElementClasses-BW832F7F.mjs} +1 -1
  693. package/dist/{useRadiusElementClasses-BlrN-T6U.mjs.map → useRadiusElementClasses-BW832F7F.mjs.map} +1 -1
  694. package/dist/{useRadiusElementClasses-C13_PhPM.js → useRadiusElementClasses-DWiUVgex.js} +1 -1
  695. package/dist/{useRadiusElementClasses-C13_PhPM.js.map → useRadiusElementClasses-DWiUVgex.js.map} +1 -1
  696. package/dist/{useRtl-DXAooTrl.js → useRtl-DDPRnA7g.js} +1 -1
  697. package/dist/{useRtl-DXAooTrl.js.map → useRtl-DDPRnA7g.js.map} +1 -1
  698. package/dist/{useRtl-DpwU_RM8.mjs → useRtl-VR3M2Txg.mjs} +1 -1
  699. package/dist/{useRtl-DpwU_RM8.mjs.map → useRtl-VR3M2Txg.mjs.map} +1 -1
  700. package/dist/{useSafeScrollLock-Bm9RxDoY.js → useSafeScrollLock-7wmPH_Hy.js} +2 -2
  701. package/dist/{useSafeScrollLock-Bm9RxDoY.js.map → useSafeScrollLock-7wmPH_Hy.js.map} +1 -1
  702. package/dist/{useSafeScrollLock-D62o8jto.mjs → useSafeScrollLock-Me5LyqjD.mjs} +2 -2
  703. package/dist/{useSafeScrollLock-D62o8jto.mjs.map → useSafeScrollLock-Me5LyqjD.mjs.map} +1 -1
  704. package/dist/{useShowHide-BTCaeU5j.js → useShowHide-BhdrR1wG.js} +2 -2
  705. package/dist/{useShowHide-BTCaeU5j.js.map → useShowHide-BhdrR1wG.js.map} +1 -1
  706. package/dist/{useShowHide-yAK5dhPT.mjs → useShowHide-DKdljnpv.mjs} +2 -2
  707. package/dist/{useShowHide-yAK5dhPT.mjs.map → useShowHide-DKdljnpv.mjs.map} +1 -1
  708. package/dist/{useStateClass-CJ24hpkn.js → useStateClass-CXK3nCg9.js} +1 -1
  709. package/dist/{useStateClass-CJ24hpkn.js.map → useStateClass-CXK3nCg9.js.map} +1 -1
  710. package/dist/{useStateClass-CdmlbrGn.mjs → useStateClass-DxlL_m2E.mjs} +1 -1
  711. package/dist/{useStateClass-CdmlbrGn.mjs.map → useStateClass-DxlL_m2E.mjs.map} +1 -1
  712. package/dist/utils/floatingUi.d.mts +1 -0
  713. package/dist/utils/floatingUi.d.ts +1 -0
  714. package/dist/utils/keys.d.mts +2 -2
  715. package/dist/utils/keys.d.ts +2 -2
  716. package/dist/{utils-CaC78Zdk.js → utils-BTPjS0XS.js} +3 -4
  717. package/dist/utils-BTPjS0XS.js.map +1 -0
  718. package/dist/{utils-CgwCsk6U.mjs → utils-Dgz9Trtl.mjs} +3 -4
  719. package/dist/utils-Dgz9Trtl.mjs.map +1 -0
  720. package/package.json +1 -1
  721. package/src/components/BAutocomplete/_autocomplete.scss +69 -1
  722. package/dist/BAlert-BnT7fF6B.js.map +0 -1
  723. package/dist/BAlert-Qiyqq4rE.mjs.map +0 -1
  724. package/dist/BApp-DJWC2mB8.mjs.map +0 -1
  725. package/dist/BApp-DaM0UKIg.js.map +0 -1
  726. package/dist/BAvatar-D7aFEXLH.mjs.map +0 -1
  727. package/dist/BAvatar-lefHkDuG.js.map +0 -1
  728. package/dist/BBadge-BBUcrujj.js.map +0 -1
  729. package/dist/BBadge-D5ra3W5R.mjs.map +0 -1
  730. package/dist/BBreadcrumb-BSsiwCNB.js.map +0 -1
  731. package/dist/BBreadcrumb-amkzWyz6.mjs.map +0 -1
  732. package/dist/BButton-BRvIFnRm.mjs.map +0 -1
  733. package/dist/BButton-DBRs8Pz_.js.map +0 -1
  734. package/dist/BButton-DNmtqoqR.mjs.map +0 -1
  735. package/dist/BButton-kykTWnBy.js.map +0 -1
  736. package/dist/BCard-C1G8PO5k.mjs.map +0 -1
  737. package/dist/BCard-CJ822HyH.mjs.map +0 -1
  738. package/dist/BCard-CSyEHz8Z.js.map +0 -1
  739. package/dist/BCard-CgbTFn3S.js.map +0 -1
  740. package/dist/BCloseButton-CN__Jjcj.js.map +0 -1
  741. package/dist/BCloseButton-CjgbR1Ec.mjs.map +0 -1
  742. package/dist/BCol-0tZmpOme.js.map +0 -1
  743. package/dist/BCol-C4v-TOX6.mjs.map +0 -1
  744. package/dist/BCollapse-D-xTGkX_.mjs.map +0 -1
  745. package/dist/BCollapse-DZ1z2c8U.js.map +0 -1
  746. package/dist/BContainer-BZUI2qQv.js.map +0 -1
  747. package/dist/BContainer-DjIGH6-y.mjs.map +0 -1
  748. package/dist/BDateField-BJIq6gs9.mjs.map +0 -1
  749. package/dist/BDateField-RWwEMIwd.js.map +0 -1
  750. package/dist/BDropdown-BW_O8vPQ.mjs.map +0 -1
  751. package/dist/BDropdown-C1AxRj81.js.map +0 -1
  752. package/dist/BDropdown-CuVOxCzu.js.map +0 -1
  753. package/dist/BDropdown-DAHnN54Z.mjs.map +0 -1
  754. package/dist/BForm-Bp7SFxiK.js.map +0 -1
  755. package/dist/BForm-C8I6v7bU.mjs.map +0 -1
  756. package/dist/BForm-Oh6PpdcD.mjs.map +0 -1
  757. package/dist/BForm-_h0kYDl7.js.map +0 -1
  758. package/dist/BFormCheckbox-Bdk2rgVe.js.map +0 -1
  759. package/dist/BFormCheckbox-CcDK-lh1.mjs.map +0 -1
  760. package/dist/BFormGroup--38dFj0X.mjs +0 -381
  761. package/dist/BFormGroup--38dFj0X.mjs.map +0 -1
  762. package/dist/BFormGroup-BwO1BZD1.js +0 -387
  763. package/dist/BFormGroup-BwO1BZD1.js.map +0 -1
  764. package/dist/BFormInput-BuRSGYdY.js.map +0 -1
  765. package/dist/BFormInput-Dg9dbwHp.mjs.map +0 -1
  766. package/dist/BFormRadio-CRDbgMiR.mjs.map +0 -1
  767. package/dist/BFormRadio-DuVYw-Vs.js.map +0 -1
  768. package/dist/BFormRating-Bb_ACp-9.mjs.map +0 -1
  769. package/dist/BFormRating-CNqf91vN.js.map +0 -1
  770. package/dist/BFormSelect-Bb8yE8vz.mjs.map +0 -1
  771. package/dist/BFormSelect-DIKVsG--.js.map +0 -1
  772. package/dist/BFormSelectOption-BY4P8HOf.js.map +0 -1
  773. package/dist/BFormSelectOption-O8cyyv3i.mjs.map +0 -1
  774. package/dist/BFormTag-BUWEugEC.mjs.map +0 -1
  775. package/dist/BFormTag-C7B-bX72.js.map +0 -1
  776. package/dist/BFormTags-BFA6xbr3.js.map +0 -1
  777. package/dist/BFormTags-CJb4H67g.mjs.map +0 -1
  778. package/dist/BFormTextarea-8c3B3kAI.js.map +0 -1
  779. package/dist/BFormTextarea-BMk05ojJ.mjs.map +0 -1
  780. package/dist/BFormValidFeedback-DvTgwqSe.js.map +0 -1
  781. package/dist/BFormValidFeedback-_Dgzm0Ag.mjs.map +0 -1
  782. package/dist/BImg-BQqZfIM9.mjs.map +0 -1
  783. package/dist/BImg-Dyy0N-WQ.js.map +0 -1
  784. package/dist/BInputGroup-BScMw6Zr.js.map +0 -1
  785. package/dist/BInputGroup-C7k0tS9j.mjs.map +0 -1
  786. package/dist/BInputGroup-DpX10xwR.mjs.map +0 -1
  787. package/dist/BInputGroup-Duk6Jk0v.js.map +0 -1
  788. package/dist/BListGroup-BmtN0xQ3.mjs.map +0 -1
  789. package/dist/BListGroup-DuyMdAxJ.js.map +0 -1
  790. package/dist/BModal-Br5xLT0-.mjs.map +0 -1
  791. package/dist/BModal-D0LB339D.js.map +0 -1
  792. package/dist/BNav-BRjdHsjC.mjs.map +0 -1
  793. package/dist/BNav-tYBwz1wU.js.map +0 -1
  794. package/dist/BNavbar-s9Ak5PnO.js.map +0 -1
  795. package/dist/BNavbar-vN3_CMLn.mjs.map +0 -1
  796. package/dist/BOffcanvas-D33pEfZe.js.map +0 -1
  797. package/dist/BOffcanvas-jETHbtC3.mjs.map +0 -1
  798. package/dist/BOverlay-B7vJAdHO.js.map +0 -1
  799. package/dist/BOverlay-BGxH9JVy.mjs.map +0 -1
  800. package/dist/BPagination-C0-4NVzW.js.map +0 -1
  801. package/dist/BPagination-CvoSN1He.mjs.map +0 -1
  802. package/dist/BPlaceholder-C4AOg29f.mjs.map +0 -1
  803. package/dist/BPlaceholder-DYYYuNgR.js.map +0 -1
  804. package/dist/BProgress-BIqo6vLh.mjs.map +0 -1
  805. package/dist/BProgress-Bc3ZSkac.js.map +0 -1
  806. package/dist/BRow-BCEK3fe6.mjs.map +0 -1
  807. package/dist/BRow-tqMEhkZS.js.map +0 -1
  808. package/dist/BSpinner-8UMAINYb.js.map +0 -1
  809. package/dist/BSpinner-BpnwONvx.mjs.map +0 -1
  810. package/dist/BTable-Btzu1IJ_.js.map +0 -1
  811. package/dist/BTable-CjHMx8Yv.mjs.map +0 -1
  812. package/dist/BTableSimple-BcdizuDm.js.map +0 -1
  813. package/dist/BTableSimple-C901Z5V9.mjs.map +0 -1
  814. package/dist/BTabs-DZEF9kgT.mjs.map +0 -1
  815. package/dist/BTabs-DiYaJi22.js.map +0 -1
  816. package/dist/BToast-B2rFKhLD.mjs.map +0 -1
  817. package/dist/BToast-DCSZYXIi.js.map +0 -1
  818. package/dist/BTooltip-CryTO-SM.js.map +0 -1
  819. package/dist/BTooltip-DtpjIEBu.mjs.map +0 -1
  820. package/dist/ConditionalTeleport-BJZk6HAx.js.map +0 -1
  821. package/dist/ConditionalTeleport-BNsziElf.mjs.map +0 -1
  822. package/dist/dist-B10a-gZ8.mjs.map +0 -1
  823. package/dist/floatingUi-Cs4rDXmO.js.map +0 -1
  824. package/dist/floatingUi-DHMrP__c.mjs.map +0 -1
  825. package/dist/useFormCheck-CJvIDxcO.mjs.map +0 -1
  826. package/dist/useFormCheck-UHNy_iZ0.js.map +0 -1
  827. package/dist/utils-CaC78Zdk.js.map +0 -1
  828. package/dist/utils-CgwCsk6U.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BCarousel-BgT74ryc.js","names":[],"sources":["../src/utils/getSlotElements.ts","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarouselSlide.vue","../src/components/BCarousel/BCarouselSlide.vue"],"sourcesContent":["import type {Slot, VNode} from 'vue'\n\nexport const getSlotElements = (slot: Slot | undefined, filterBy: string): VNode[] =>\n (slot?.() ?? [])\n .reduce((arr: VNode[], slot: VNode) => {\n if (typeof slot.type === 'symbol') {\n arr = arr.concat(slot.children as unknown as VNode)\n } else {\n arr.push(slot)\n }\n return arr\n }, [])\n .filter((child) => (child.type as {__name: string} | undefined)?.__name === filterBy)\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport type {BCarouselSlideProps} from '../../types/ComponentProps'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport type {BCarouselSlideProps} from '../../types/ComponentProps'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BCarousel-D23rApAX.js","names":[],"sources":["../src/utils/getSlotElements.ts","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarouselSlide.vue","../src/components/BCarousel/BCarouselSlide.vue"],"sourcesContent":["import type {Slot, VNode} from 'vue'\n\nexport const getSlotElements = (slot: Slot | undefined, filterBy: string): VNode[] =>\n (slot?.() ?? [])\n .reduce((arr: VNode[], slot: VNode) => {\n if (typeof slot.type === 'symbol') {\n arr = arr.concat(slot.children as unknown as VNode)\n } else {\n arr.push(slot)\n }\n return arr\n }, [])\n .filter((child) => (child.type as {__name: string} | undefined)?.__name === filterBy)\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideProps, BCarouselSlideSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideProps, BCarouselSlideSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { o as carouselInjectionKey } from "./keys-CQKrwmvN.mjs";
2
- import { L as useIntervalFn, f as useElementHover, o as onKeyStroke, x as useSwipe, z as useToNumber } from "./dist-B10a-gZ8.mjs";
2
+ import { I as useIntervalFn, R as useToNumber, a as onKeyStroke, b as useSwipe, d as useElementHover } from "./dist-Dk9C_HFS.mjs";
3
3
  import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
4
4
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
5
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
6
  import { t as BvCarouselEvent } from "./classes-B0E5Y78Y.mjs";
7
- import { t as BImg_default } from "./BImg-BQqZfIM9.mjs";
7
+ import { t as BImg_default } from "./BImg-UUMOpbK0.mjs";
8
8
  import { Fragment, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, inject, mergeModels, normalizeClass, normalizeProps, normalizeStyle, onMounted, openBlock, provide, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, toRef, unref, useModel, useSlots, useTemplateRef, vShow, watch, withCtx, withDirectives } from "vue";
9
9
  //#region src/utils/getSlotElements.ts
10
10
  var getSlotElements = (slot, filterBy) => (slot?.() ?? []).reduce((arr, slot) => {
@@ -412,4 +412,4 @@ var BCarouselSlide_default = /* @__PURE__ */ defineComponent({
412
412
  //#endregion
413
413
  export { BCarousel_default as n, BCarouselSlide_default as t };
414
414
 
415
- //# sourceMappingURL=BCarousel-D9Yei1Q4.mjs.map
415
+ //# sourceMappingURL=BCarousel-VL1gVXpt.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BCarousel-D9Yei1Q4.mjs","names":[],"sources":["../src/utils/getSlotElements.ts","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarouselSlide.vue","../src/components/BCarousel/BCarouselSlide.vue"],"sourcesContent":["import type {Slot, VNode} from 'vue'\n\nexport const getSlotElements = (slot: Slot | undefined, filterBy: string): VNode[] =>\n (slot?.() ?? [])\n .reduce((arr: VNode[], slot: VNode) => {\n if (typeof slot.type === 'symbol') {\n arr = arr.concat(slot.children as unknown as VNode)\n } else {\n arr.push(slot)\n }\n return arr\n }, [])\n .filter((child) => (child.type as {__name: string} | undefined)?.__name === filterBy)\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport type {BCarouselSlideProps} from '../../types/ComponentProps'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport type {BCarouselSlideProps} from '../../types/ComponentProps'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BCarousel-VL1gVXpt.mjs","names":[],"sources":["../src/utils/getSlotElements.ts","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarousel.vue","../src/components/BCarousel/BCarouselSlide.vue","../src/components/BCarousel/BCarouselSlide.vue"],"sourcesContent":["import type {Slot, VNode} from 'vue'\n\nexport const getSlotElements = (slot: Slot | undefined, filterBy: string): VNode[] =>\n (slot?.() ?? [])\n .reduce((arr: VNode[], slot: VNode) => {\n if (typeof slot.type === 'symbol') {\n arr = arr.concat(slot.children as unknown as VNode)\n } else {\n arr.push(slot)\n }\n return arr\n }, [])\n .filter((child) => (child.type as {__name: string} | undefined)?.__name === filterBy)\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div\n :id=\"computedId\"\n ref=\"_element\"\n class=\"carousel slide pointer-event\"\n :class=\"computedClasses\"\n >\n <div\n v-if=\"props.indicators\"\n class=\"carousel-indicators\"\n :aria-label=\"props.labelIndicators\"\n :aria-owns=\"buttonOwnership\"\n >\n <!-- :data-bs-target=\"`#${computedId}`\" is required since the classes target elems with that attr -->\n <button\n v-for=\"(_, i) in slides.length\"\n :key=\"i\"\n type=\"button\"\n data-bs-target=\"\"\n :class=\"i === modelValue ? 'active' : ''\"\n :aria-current=\"i === modelValue ? true : undefined\"\n :aria-label=\"`${props.indicatorsButtonLabel} ${i}`\"\n :aria-controls=\"buttonOwnership\"\n :aria-describedby=\"slideValues?.[i]?._id\"\n @click=\"slideTo(i)\"\n />\n </div>\n\n <div ref=\"_relatedTarget\" class=\"carousel-inner\">\n <TransitionGroup v-bind=\"transitionGroupProps\">\n <component\n :is=\"slide\"\n v-for=\"(slide, i) in slides\"\n v-show=\"i === modelValue\"\n :key=\"i\"\n ref=\"_slideValues\"\n :class=\"{active: i === modelValue && isTransitioning === false}\"\n :style=\"props.noAnimation && {transition: 'none'}\"\n />\n </TransitionGroup>\n </div>\n\n <template v-if=\"props.controls\">\n <button class=\"carousel-control-prev\" type=\"button\" @click=\"onClickPrev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsPrevText }}</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" @click=\"onClickNext\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\" />\n <span class=\"visually-hidden\">{{ props.controlsNextText }}</span>\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvCarouselEvent} from '../../utils'\nimport {computed, onMounted, provide, ref, toRef, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {onKeyStroke, useElementHover, useIntervalFn, useSwipe, useToNumber} from '@vueuse/core'\nimport type BCarouselSlide from './BCarouselSlide.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {Numberish} from '../../types/CommonTypes'\nimport {getSlotElements} from '../../utils/getSlotElements'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport type {BCarouselEmits, BCarouselProps, BCarouselSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BCarouselProps, 'modelValue'>>(), {\n background: undefined,\n controls: false,\n controlsNextText: 'Next',\n controlsPrevText: 'Previous',\n fade: false,\n id: undefined,\n imgHeight: undefined,\n imgWidth: undefined,\n indicators: false,\n indicatorsButtonLabel: 'Slide',\n interval: 5000,\n labelIndicators: 'Select a slide to display',\n keyboard: true,\n noAnimation: false,\n noHoverPause: false,\n noTouch: false,\n noWrap: false,\n ride: false,\n rideReverse: false,\n touchThreshold: 50,\n})\nconst props = useDefaults(_props, 'BCarousel')\nconst emit = defineEmits<BCarouselEmits>()\nconst slots = defineSlots<BCarouselSlots>()\n\nconst computedId = useId(() => props.id, 'carousel')\nconst buttonOwnership = useId(undefined, 'carousel-button-ownership')\n\nconst modelValue = defineModel<Exclude<BCarouselProps['modelValue'], undefined>>({default: 0})\n\nconst slideValues = useTemplateRef<InstanceType<typeof BCarouselSlide>[]>('_slideValues')\n\nconst touchThresholdNumber = useToNumber(() => props.touchThreshold)\nconst slideInterval = ref<Numberish | null>(null)\nonMounted(() => {\n slideInterval.value =\n slideValues.value?.find((slid) => slid.$el.style.display !== 'none')?._interval ?? null\n})\nconst intervalNumber = useToNumber(() => slideInterval.value ?? props.interval)\n\nconst isTransitioning = ref(false)\nconst rideStarted = ref(false)\nconst direction = ref<'start' | 'end'>('start')\nconst relatedTarget = useTemplateRef('_relatedTarget')\nconst element = useTemplateRef('_element')\n\nlet previousModelValue = modelValue.value\nlet isInternalChange = false\n\nconst isHovering = useElementHover(element)\n\nconst {pause, resume} = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev()\n return\n }\n next()\n },\n intervalNumber,\n {immediate: props.ride === 'carousel'}\n)\n\nconst isRiding = computed(\n () => (props.ride === true && rideStarted.value === true) || props.ride === 'carousel'\n)\nconst slides = computed(() => getSlotElements(slots.default, 'BCarouselSlide'))\nconst computedClasses = computed(() => ({'carousel-fade': props.fade}))\n\nconst buildBvCarouselEvent = (event: 'slid' | 'slide') =>\n new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value === 'start' ? 'right' : 'left',\n from: previousModelValue,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null,\n })\n\nwatch(modelValue, (newValue, oldValue) => {\n if (!isInternalChange) {\n // External v-model change: determine direction from the new/old values\n const lastIndex = slides.value.length - 1\n const wrappedForward = oldValue === lastIndex && newValue === 0\n const wrappedBackward = oldValue === 0 && newValue === lastIndex\n if (wrappedForward) {\n direction.value = 'start'\n } else if (wrappedBackward) {\n direction.value = 'end'\n } else {\n direction.value = newValue > oldValue ? 'start' : 'end'\n }\n }\n isInternalChange = false\n // If one ever thinks to change the transitions dependence on modelValue and thinks it is appropriate to remove this isTransitioning line, be careful\n // This directly effects how transitions are applied. The watch is for if you have an external change to modelValue, and doesn't directly call slideTo\n isTransitioning.value = true\n})\nconst slideTo = (value: number): void => {\n if (isTransitioning.value === true) return\n\n if (props.ride === true) {\n rideStarted.value = true\n }\n if (isRiding.value === true) {\n resume()\n }\n let nextValue = value\n if (nextValue >= slides.value.length) {\n if (props.noWrap) return\n nextValue = 0\n }\n if (nextValue < 0) {\n if (props.noWrap) return\n nextValue = slides.value.length - 1\n }\n if (nextValue === modelValue.value) return\n // Set direction based on the original requested value (before wrapping) so that\n // next() always animates forward and prev() always animates backward, regardless\n // of how many slides there are. This fixes the 2-slide case where wrap-detection\n // heuristics in the watcher would otherwise produce the wrong direction.\n // Note: `value` is the raw index passed by the caller (e.g. modelValue+1 for next()),\n // while `nextValue` is the resolved/wrapped index that becomes the new modelValue.\n direction.value = value > modelValue.value ? 'start' : 'end'\n // Mark as internal so the modelValue watcher skips its direction heuristics.\n // A race condition here is not possible because the isTransitioning guard above\n // ensures slideTo cannot be called again until the current transition completes.\n isInternalChange = true\n isTransitioning.value = true\n previousModelValue = modelValue.value\n modelValue.value = nextValue\n}\n\nconst prev = (): void => {\n slideTo(modelValue.value - 1)\n}\nconst next = (): void => {\n slideTo(modelValue.value + 1)\n}\n\nconst {lengthX} = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch) return\n pause()\n },\n onSwipeEnd() {\n if (props.noTouch) return\n const resumeRiding = () => {\n if (isRiding.value === false) return\n resume()\n }\n if (lengthX.value >= touchThresholdNumber.value) {\n next()\n resumeRiding()\n return\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev()\n resumeRiding()\n }\n },\n})\n\nconst onClickPrev = (event: MouseEvent) => {\n emit('prev-click', event)\n if (event.defaultPrevented) return\n prev()\n}\nconst onClickNext = (event: MouseEvent) => {\n emit('next-click', event)\n if (event.defaultPrevented) return\n next()\n}\n\nconst onMouseEnter = () => {\n if (props.noHoverPause) return\n pause()\n}\nconst onMouseLeave = () => {\n if (!isRiding.value) return\n resume()\n}\nwatch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter()\n return\n }\n onMouseLeave()\n})\nonKeyStroke(\n ['ArrowLeft', 'ArrowRight'],\n (event) => {\n if (!props.keyboard) return\n if (event.key === 'ArrowLeft') {\n prev()\n } else {\n next()\n }\n },\n {target: element, passive: true}\n)\n\nwatch(\n () => props.ride,\n () => {\n rideStarted.value = false\n }\n)\n\nconst enterDirectionClass = computed(\n () => `carousel-item-${direction.value === 'start' ? 'next' : 'prev'}`\n)\nconst orderDirectionClass = computed(() => `carousel-item-${direction.value}`)\nconst transitionGroupProps = computed(() => ({\n enterFromClass: `carousel-item ${enterDirectionClass.value}`,\n enterActiveClass: `carousel-item ${enterDirectionClass.value}`,\n enterToClass: `carousel-item ${enterDirectionClass.value} ${orderDirectionClass.value}`,\n leaveFromClass: 'carousel-item active',\n leaveActiveClass: 'carousel-item active',\n leaveToClass: `carousel-item active ${orderDirectionClass.value}`,\n onBeforeLeave: () => {\n emit('slide', buildBvCarouselEvent('slide'))\n },\n onAfterLeave: () => {\n emit('slid', buildBvCarouselEvent('slid'))\n isTransitioning.value = false\n },\n // carousel-item class is removed from the slide during the transition,\n // as is included within enter classes.\n // The first slide recovers carousel-item class,\n onAfterEnter: (el: Readonly<Element>) => {\n if (modelValue.value !== 0) {\n el.classList.add('carousel-item')\n }\n },\n onEnter: (el: Readonly<Element>) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null\n },\n}))\n\ndefineExpose({\n resume,\n pause,\n next,\n prev,\n slideTo,\n})\n\nprovide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight),\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideProps, BCarouselSlideSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"carousel-item\" :style=\"computedStyle\">\n <slot name=\"img\">\n <BImg\n class=\"d-block w-100\"\n :alt=\"props.imgAlt\"\n :srcset=\"props.imgSrcset\"\n :src=\"props.imgSrc\"\n :width=\"props.imgWidth || parentData?.width.value\"\n :height=\"props.imgHeight || parentData?.height.value\"\n :blank=\"props.imgBlank\"\n :blank-color=\"props.imgBlankColor\"\n />\n </slot>\n <component\n :is=\"props.contentTag\"\n v-if=\"hasContent\"\n class=\"carousel-caption\"\n :class=\"computedContentClasses\"\n >\n <component :is=\"props.captionTag\" v-if=\"hasCaption\">\n <slot name=\"caption\">\n <span>{{ props.caption }}</span>\n </slot>\n </component>\n <component :is=\"props.textTag\" v-if=\"hasText\">\n <slot name=\"text\">\n <span>{{ props.text }}</span>\n </slot>\n </component>\n <slot />\n </component>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties, inject, toRef} from 'vue'\nimport {carouselInjectionKey} from '../../utils/keys'\nimport BImg from '../BImg/BImg.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useId} from '../../composables/useId'\nimport type {BCarouselSlideProps, BCarouselSlideSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCarouselSlideProps>(), {\n background: undefined,\n caption: undefined,\n captionTag: 'h3',\n contentTag: 'div',\n contentVisibleUp: undefined,\n id: undefined,\n imgAlt: undefined,\n imgBlank: false,\n imgBlankColor: 'transparent',\n imgHeight: undefined,\n imgSrc: undefined,\n imgSrcset: undefined,\n imgWidth: undefined,\n interval: undefined,\n text: undefined,\n textTag: 'p',\n})\nconst props = useDefaults(_props, 'BCarouselSlide')\nconst slots = defineSlots<BCarouselSlideSlots>()\n\nconst computedId = useId(() => props.id, 'carousel-slide')\nconst parentData = inject(carouselInjectionKey, null)\n\nconst hasText = computed(() => props.text || !isEmptySlot(slots.text))\nconst hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption))\nconst hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n background: `${\n props.background || parentData?.background.value || 'rgb(171, 171, 171)'\n } none repeat scroll 0% 0%`,\n}))\n\nconst computedContentClasses = computed(() => ({\n 'd-none': props.contentVisibleUp !== undefined,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== undefined,\n}))\n\ndefineExpose({\n _interval: toRef(() => props.interval),\n _id: computedId,\n})\n</script>\n"],"mappings":"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"}
@@ -36,4 +36,4 @@ var BCloseButton_default = /* @__PURE__ */ defineComponent({
36
36
  //#endregion
37
37
  export { BCloseButton_default as t };
38
38
 
39
- //# sourceMappingURL=BCloseButton-CjgbR1Ec.mjs.map
39
+ //# sourceMappingURL=BCloseButton-CCdRwLDo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCloseButton-CCdRwLDo.mjs","names":[],"sources":["../src/components/BButton/BCloseButton.vue","../src/components/BButton/BCloseButton.vue"],"sourcesContent":["<template>\n <button\n :type=\"props.type\"\n class=\"btn-close\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n @click=\"emit('click', $event)\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCloseButtonEmits, BCloseButtonProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCloseButtonProps>(), {\n ariaLabel: 'Close',\n disabled: false,\n type: 'button',\n})\nconst props = useDefaults(_props, 'BCloseButton')\nconst emit = defineEmits<BCloseButtonEmits>()\n</script>\n","<template>\n <button\n :type=\"props.type\"\n class=\"btn-close\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n @click=\"emit('click', $event)\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCloseButtonEmits, BCloseButtonProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCloseButtonProps>(), {\n ariaLabel: 'Close',\n disabled: false,\n type: 'button',\n})\nconst props = useDefaults(_props, 'BCloseButton')\nconst emit = defineEmits<BCloseButtonEmits>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ,YALC,SAKmB,eAAc;EAChD,MAAM,OAAO;;uBAnBX,mBAME,UAAA;IALC,MAAM,MAAA,MAAK,CAAC;IACb,OAAM;IACL,UAAU,MAAA,MAAK,CAAC;IAChB,cAAY,MAAA,MAAK,CAAC;IAClB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,OAAM"}
@@ -42,4 +42,4 @@ Object.defineProperty(exports, "BCloseButton_default", {
42
42
  }
43
43
  });
44
44
 
45
- //# sourceMappingURL=BCloseButton-CN__Jjcj.js.map
45
+ //# sourceMappingURL=BCloseButton-fw5ONnhr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCloseButton-fw5ONnhr.js","names":[],"sources":["../src/components/BButton/BCloseButton.vue","../src/components/BButton/BCloseButton.vue"],"sourcesContent":["<template>\n <button\n :type=\"props.type\"\n class=\"btn-close\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n @click=\"emit('click', $event)\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCloseButtonEmits, BCloseButtonProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCloseButtonProps>(), {\n ariaLabel: 'Close',\n disabled: false,\n type: 'button',\n})\nconst props = useDefaults(_props, 'BCloseButton')\nconst emit = defineEmits<BCloseButtonEmits>()\n</script>\n","<template>\n <button\n :type=\"props.type\"\n class=\"btn-close\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n @click=\"emit('click', $event)\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCloseButtonEmits, BCloseButtonProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCloseButtonProps>(), {\n ariaLabel: 'Close',\n disabled: false,\n type: 'button',\n})\nconst props = useDefaults(_props, 'BCloseButton')\nconst emit = defineEmits<BCloseButtonEmits>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ,oBAAA,YALC,SAKmB,eAAc;EAChD,MAAM,OAAO;;4DAbT,UAAA;IALC,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACb,OAAM;IACL,WAAA,GAAA,IAAA,OAAU,MAAK,CAAC;IAChB,eAAA,GAAA,IAAA,OAAY,MAAK,CAAC;IAClB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,OAAM"}
@@ -1,6 +1,6 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
2
  const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
3
- const require_getClasses = require("./getClasses-qqI6x4f4.js");
3
+ const require_getClasses = require("./getClasses-8P0iBind.js");
4
4
  let vue = require("vue");
5
5
  //#endregion
6
6
  //#region src/components/BContainer/BCol.vue
@@ -137,4 +137,4 @@ Object.defineProperty(exports, "BCol_default", {
137
137
  }
138
138
  });
139
139
 
140
- //# sourceMappingURL=BCol-0tZmpOme.js.map
140
+ //# sourceMappingURL=BCol-CArTYHqb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCol-CArTYHqb.js","names":[],"sources":["../src/components/BContainer/BCol.vue","../src/components/BContainer/BCol.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BColProps, BColSlots} from '../../types'\nimport {getClasses} from '../../utils/getClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BColProps>(), {\n alignSelf: undefined,\n col: false,\n cols: undefined,\n offset: undefined,\n order: undefined,\n tag: 'div',\n lg: false,\n md: false,\n sm: false,\n xl: false,\n xxl: false,\n offsetLg: undefined,\n offsetMd: undefined,\n offsetSm: undefined,\n offsetXl: undefined,\n offsetXxl: undefined,\n orderLg: undefined,\n orderMd: undefined,\n orderSm: undefined,\n orderXl: undefined,\n orderXxl: undefined,\n})\nconst props = useDefaults(_props, 'BCol')\ndefineSlots<BColSlots>()\n\nconst classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl,\n },\n ['sm', 'md', 'lg', 'xl', 'xxl'],\n 'col'\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl,\n },\n ['order', 'orderLg', 'orderMd', 'orderSm', 'orderXl', 'orderXxl'],\n 'order'\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl,\n },\n ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXxl'],\n 'offset'\n ),\n])\n\nconst computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || (!classList.value.some((v) => v.startsWith('col-')) && !props.cols),\n [`col-${props.cols}`]: props.cols !== undefined,\n [`offset-${props.offset}`]: props.offset !== undefined,\n [`order-${props.order}`]: props.order !== undefined,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== undefined,\n },\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BColProps, BColSlots} from '../../types'\nimport {getClasses} from '../../utils/getClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BColProps>(), {\n alignSelf: undefined,\n col: false,\n cols: undefined,\n offset: undefined,\n order: undefined,\n tag: 'div',\n lg: false,\n md: false,\n sm: false,\n xl: false,\n xxl: false,\n offsetLg: undefined,\n offsetMd: undefined,\n offsetSm: undefined,\n offsetXl: undefined,\n offsetXxl: undefined,\n orderLg: undefined,\n orderMd: undefined,\n orderSm: undefined,\n orderXl: undefined,\n orderXxl: undefined,\n})\nconst props = useDefaults(_props, 'BCol')\ndefineSlots<BColSlots>()\n\nconst classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl,\n },\n ['sm', 'md', 'lg', 'xl', 'xxl'],\n 'col'\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl,\n },\n ['order', 'orderLg', 'orderMd', 'orderSm', 'orderXl', 'orderXxl'],\n 'order'\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl,\n },\n ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXxl'],\n 'offset'\n ),\n])\n\nconst computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || (!classList.value.some((v) => v.startsWith('col-')) && !props.cols),\n [`col-${props.cols}`]: props.cols !== undefined,\n [`offset-${props.offset}`]: props.offset !== undefined,\n [`order-${props.order}`]: props.order !== undefined,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== undefined,\n },\n])\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCA,MAAM,QAAQ,oBAAA,YAvBC,SAuBmB,OAAM;EAGxC,MAAM,aAAA,GAAA,IAAA,gBAA2B;GAC/B,GAAG,mBAAA,WACD;IACE,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,MAAM;IACV,KAAK,MAAM;IACZ,EACD;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM,EAC/B,MACD;GACD,GAAG,mBAAA,WACD;IACE,OAAO,MAAM;IACb,SAAS,MAAM;IACf,SAAS,MAAM;IACf,SAAS,MAAM;IACf,SAAS,MAAM;IACf,UAAU,MAAM;IACjB,EACD;IAAC;IAAS;IAAW;IAAW;IAAW;IAAW;IAAW,EACjE,QACD;GACD,GAAG,mBAAA,WACD;IACE,QAAQ,MAAM;IACd,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,WAAW,MAAM;IAClB,EACD;IAAC;IAAU;IAAY;IAAY;IAAY;IAAY;IAAY,EACvE,SAAA;GAEH,CAAA;EAED,MAAM,mBAAA,GAAA,IAAA,gBAAiC,CACrC,UAAU,OACV;GACE,KAAK,MAAM,OAAQ,CAAC,UAAU,MAAM,MAAM,MAAM,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,MAAM;IAC/E,OAAO,MAAM,SAAS,MAAM,SAAS,KAAA;IACrC,UAAU,MAAM,WAAW,MAAM,WAAW,KAAA;IAC5C,SAAS,MAAM,UAAU,MAAM,UAAU,KAAA;IACzC,cAAc,MAAM,cAAc,MAAM,cAAc,KAAA;GACxD,CACF,CAAA;;qGApFiB,MAAK,CAAC,IAAG,EAAA,EAAG,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAe,EAAA,EAAA;oCACxC,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
2
- import { t as getClasses } from "./getClasses-DaWzwT2S.mjs";
2
+ import { t as getClasses } from "./getClasses-COokMI60.mjs";
3
3
  import { computed, createBlock, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
4
4
  //#endregion
5
5
  //#region src/components/BContainer/BCol.vue
@@ -131,4 +131,4 @@ var BCol_default = /* @__PURE__ */ defineComponent({
131
131
  //#endregion
132
132
  export { BCol_default as t };
133
133
 
134
- //# sourceMappingURL=BCol-C4v-TOX6.mjs.map
134
+ //# sourceMappingURL=BCol-VPaTVLsM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCol-VPaTVLsM.mjs","names":[],"sources":["../src/components/BContainer/BCol.vue","../src/components/BContainer/BCol.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BColProps, BColSlots} from '../../types'\nimport {getClasses} from '../../utils/getClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BColProps>(), {\n alignSelf: undefined,\n col: false,\n cols: undefined,\n offset: undefined,\n order: undefined,\n tag: 'div',\n lg: false,\n md: false,\n sm: false,\n xl: false,\n xxl: false,\n offsetLg: undefined,\n offsetMd: undefined,\n offsetSm: undefined,\n offsetXl: undefined,\n offsetXxl: undefined,\n orderLg: undefined,\n orderMd: undefined,\n orderSm: undefined,\n orderXl: undefined,\n orderXxl: undefined,\n})\nconst props = useDefaults(_props, 'BCol')\ndefineSlots<BColSlots>()\n\nconst classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl,\n },\n ['sm', 'md', 'lg', 'xl', 'xxl'],\n 'col'\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl,\n },\n ['order', 'orderLg', 'orderMd', 'orderSm', 'orderXl', 'orderXxl'],\n 'order'\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl,\n },\n ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXxl'],\n 'offset'\n ),\n])\n\nconst computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || (!classList.value.some((v) => v.startsWith('col-')) && !props.cols),\n [`col-${props.cols}`]: props.cols !== undefined,\n [`offset-${props.offset}`]: props.offset !== undefined,\n [`order-${props.order}`]: props.order !== undefined,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== undefined,\n },\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BColProps, BColSlots} from '../../types'\nimport {getClasses} from '../../utils/getClasses'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BColProps>(), {\n alignSelf: undefined,\n col: false,\n cols: undefined,\n offset: undefined,\n order: undefined,\n tag: 'div',\n lg: false,\n md: false,\n sm: false,\n xl: false,\n xxl: false,\n offsetLg: undefined,\n offsetMd: undefined,\n offsetSm: undefined,\n offsetXl: undefined,\n offsetXxl: undefined,\n orderLg: undefined,\n orderMd: undefined,\n orderSm: undefined,\n orderXl: undefined,\n orderXxl: undefined,\n})\nconst props = useDefaults(_props, 'BCol')\ndefineSlots<BColSlots>()\n\nconst classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl,\n },\n ['sm', 'md', 'lg', 'xl', 'xxl'],\n 'col'\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl,\n },\n ['order', 'orderLg', 'orderMd', 'orderSm', 'orderXl', 'orderXxl'],\n 'order'\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl,\n },\n ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXxl'],\n 'offset'\n ),\n])\n\nconst computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || (!classList.value.some((v) => v.startsWith('col-')) && !props.cols),\n [`col-${props.cols}`]: props.cols !== undefined,\n [`offset-${props.offset}`]: props.offset !== undefined,\n [`order-${props.order}`]: props.order !== undefined,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== undefined,\n },\n])\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCA,MAAM,QAAQ,YAvBC,SAuBmB,OAAM;EAGxC,MAAM,YAAY,eAAe;GAC/B,GAAG,WACD;IACE,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,MAAM;IACV,KAAK,MAAM;IACZ,EACD;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM,EAC/B,MACD;GACD,GAAG,WACD;IACE,OAAO,MAAM;IACb,SAAS,MAAM;IACf,SAAS,MAAM;IACf,SAAS,MAAM;IACf,SAAS,MAAM;IACf,UAAU,MAAM;IACjB,EACD;IAAC;IAAS;IAAW;IAAW;IAAW;IAAW;IAAW,EACjE,QACD;GACD,GAAG,WACD;IACE,QAAQ,MAAM;IACd,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,WAAW,MAAM;IAClB,EACD;IAAC;IAAU;IAAY;IAAY;IAAY;IAAY;IAAY,EACvE,SAAA;GAEH,CAAA;EAED,MAAM,kBAAkB,eAAe,CACrC,UAAU,OACV;GACE,KAAK,MAAM,OAAQ,CAAC,UAAU,MAAM,MAAM,MAAM,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,MAAM;IAC/E,OAAO,MAAM,SAAS,MAAM,SAAS,KAAA;IACrC,UAAU,MAAM,WAAW,MAAM,WAAW,KAAA;IAC5C,SAAS,MAAM,UAAU,MAAM,UAAU,KAAA;IACzC,cAAc,MAAM,cAAc,MAAM,cAAc,KAAA;GACxD,CACF,CAAA;;uBApFC,YAEY,wBAFI,MAAA,MAAK,CAAC,IAAG,EAAA,EAAG,OAAK,eAAE,gBAAA,MAAe,EAAA,EAAA;2BACxC,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { c as collapseInjectionKey } from "./keys-CQKrwmvN.mjs";
2
2
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
3
3
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
4
- import { t as useShowHide } from "./useShowHide-yAK5dhPT.mjs";
4
+ import { t as useShowHide } from "./useShowHide-DKdljnpv.mjs";
5
5
  import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, defineComponent, guardReactiveProps, mergeModels, mergeProps, normalizeProps, openBlock, provide, readonly, renderSlot, resolveDynamicComponent, toRef, unref, useModel, useTemplateRef, vShow, withCtx, withDirectives } from "vue";
6
6
  //#endregion
7
7
  //#region src/components/BCollapse/BCollapse.vue
@@ -174,4 +174,4 @@ var BCollapse_default = /* @__PURE__ */ defineComponent({
174
174
  //#endregion
175
175
  export { BCollapse_default as t };
176
176
 
177
- //# sourceMappingURL=BCollapse-D-xTGkX_.mjs.map
177
+ //# sourceMappingURL=BCollapse-CTvK48kB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCollapse-CTvK48kB.mjs","names":["$attrs"],"sources":["../src/components/BCollapse/BCollapse.vue","../src/components/BCollapse/BCollapse.vue"],"sourcesContent":["<template>\n <slot name=\"header\" v-bind=\"sharedSlots\" />\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :enter-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :leave-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :appear=\"modelValue || props.visible\"\n >\n <component\n :is=\"props.tag\"\n v-show=\"showRef\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"collapse\"\n :class=\"computedClasses\"\n :is-nav=\"props.isNav\"\n v-bind=\"$attrs\"\n >\n <slot v-if=\"contentShowing\" v-bind=\"sharedSlots\" />\n </component>\n </Transition>\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, provide, readonly, toRef, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {collapseInjectionKey} from '../../utils/keys'\nimport type {BCollapseEmits, BCollapseProps, BCollapseSlots, ShowHideSlotsData} from '../../types'\nimport {useShowHide} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BCollapseProps, 'modelValue'>>(), {\n horizontal: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n noAnimation: false,\n unmountLazy: false,\n tag: 'div',\n show: false,\n visible: false,\n})\nconst props = useDefaults(_props, 'BCollapse')\nconst emit = defineEmits<BCollapseEmits>()\ndefineSlots<BCollapseSlots>()\n\nconst modelValue = defineModel<Exclude<BCollapseProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'collapse')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\n\nlet inCollapse = false\nconst onEnter = (el: Element) => {\n inCollapse = true\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${(el as HTMLElement).scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${(el as HTMLElement).scrollHeight}px`\n }\n })\n}\nconst onBeforeLeave = (el: Element) => {\n if (inCollapse) {\n return\n }\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${el.scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${el.scrollHeight}px`\n }\n\n // oxlint-disable-next-line no-unused-expressions\n ;(el as HTMLElement).offsetHeight // force reflow\n}\nconst onLeave = (el: Element) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = ``\n } else {\n ;(el as HTMLElement).style.height = ``\n }\n })\n}\n\nconst onAfterEnter = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst onAfterLeave = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: '',\n leaveToClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n enterActiveClass: '',\n leaveActiveClass: '',\n },\n})\n\nconst computedClasses = computed(() => ({\n 'show': isActive.value,\n 'navbar-collapse': props.isNav,\n 'collapse-horizontal': props.horizontal,\n}))\n\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef),\n})\n\nprovide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n","<template>\n <slot name=\"header\" v-bind=\"sharedSlots\" />\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :enter-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :leave-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :appear=\"modelValue || props.visible\"\n >\n <component\n :is=\"props.tag\"\n v-show=\"showRef\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"collapse\"\n :class=\"computedClasses\"\n :is-nav=\"props.isNav\"\n v-bind=\"$attrs\"\n >\n <slot v-if=\"contentShowing\" v-bind=\"sharedSlots\" />\n </component>\n </Transition>\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, provide, readonly, toRef, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {collapseInjectionKey} from '../../utils/keys'\nimport type {BCollapseEmits, BCollapseProps, BCollapseSlots, ShowHideSlotsData} from '../../types'\nimport {useShowHide} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BCollapseProps, 'modelValue'>>(), {\n horizontal: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n noAnimation: false,\n unmountLazy: false,\n tag: 'div',\n show: false,\n visible: false,\n})\nconst props = useDefaults(_props, 'BCollapse')\nconst emit = defineEmits<BCollapseEmits>()\ndefineSlots<BCollapseSlots>()\n\nconst modelValue = defineModel<Exclude<BCollapseProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'collapse')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\n\nlet inCollapse = false\nconst onEnter = (el: Element) => {\n inCollapse = true\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${(el as HTMLElement).scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${(el as HTMLElement).scrollHeight}px`\n }\n })\n}\nconst onBeforeLeave = (el: Element) => {\n if (inCollapse) {\n return\n }\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${el.scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${el.scrollHeight}px`\n }\n\n // oxlint-disable-next-line no-unused-expressions\n ;(el as HTMLElement).offsetHeight // force reflow\n}\nconst onLeave = (el: Element) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = ``\n } else {\n ;(el as HTMLElement).style.height = ``\n }\n })\n}\n\nconst onAfterEnter = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst onAfterLeave = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: '',\n leaveToClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n enterActiveClass: '',\n leaveActiveClass: '',\n },\n})\n\nconst computedClasses = computed(() => ({\n 'show': isActive.value,\n 'navbar-collapse': props.isNav,\n 'collapse-horizontal': props.horizontal,\n}))\n\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef),\n})\n\nprovide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ require("./chunk-CoQrYLCe.js");
2
2
  const require_keys = require("./keys-durSVUrO.js");
3
3
  const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
4
4
  const require_useId = require("./useId-DHrBgM7P.js");
5
- const require_useShowHide = require("./useShowHide-BTCaeU5j.js");
5
+ const require_useShowHide = require("./useShowHide-BhdrR1wG.js");
6
6
  let vue = require("vue");
7
7
  //#endregion
8
8
  //#region src/components/BCollapse/BCollapse.vue
@@ -180,4 +180,4 @@ Object.defineProperty(exports, "BCollapse_default", {
180
180
  }
181
181
  });
182
182
 
183
- //# sourceMappingURL=BCollapse-DZ1z2c8U.js.map
183
+ //# sourceMappingURL=BCollapse-CZlDVTpI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BCollapse-CZlDVTpI.js","names":["$attrs"],"sources":["../src/components/BCollapse/BCollapse.vue","../src/components/BCollapse/BCollapse.vue"],"sourcesContent":["<template>\n <slot name=\"header\" v-bind=\"sharedSlots\" />\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :enter-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :leave-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :appear=\"modelValue || props.visible\"\n >\n <component\n :is=\"props.tag\"\n v-show=\"showRef\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"collapse\"\n :class=\"computedClasses\"\n :is-nav=\"props.isNav\"\n v-bind=\"$attrs\"\n >\n <slot v-if=\"contentShowing\" v-bind=\"sharedSlots\" />\n </component>\n </Transition>\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, provide, readonly, toRef, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {collapseInjectionKey} from '../../utils/keys'\nimport type {BCollapseEmits, BCollapseProps, BCollapseSlots, ShowHideSlotsData} from '../../types'\nimport {useShowHide} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BCollapseProps, 'modelValue'>>(), {\n horizontal: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n noAnimation: false,\n unmountLazy: false,\n tag: 'div',\n show: false,\n visible: false,\n})\nconst props = useDefaults(_props, 'BCollapse')\nconst emit = defineEmits<BCollapseEmits>()\ndefineSlots<BCollapseSlots>()\n\nconst modelValue = defineModel<Exclude<BCollapseProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'collapse')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\n\nlet inCollapse = false\nconst onEnter = (el: Element) => {\n inCollapse = true\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${(el as HTMLElement).scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${(el as HTMLElement).scrollHeight}px`\n }\n })\n}\nconst onBeforeLeave = (el: Element) => {\n if (inCollapse) {\n return\n }\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${el.scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${el.scrollHeight}px`\n }\n\n // oxlint-disable-next-line no-unused-expressions\n ;(el as HTMLElement).offsetHeight // force reflow\n}\nconst onLeave = (el: Element) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = ``\n } else {\n ;(el as HTMLElement).style.height = ``\n }\n })\n}\n\nconst onAfterEnter = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst onAfterLeave = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: '',\n leaveToClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n enterActiveClass: '',\n leaveActiveClass: '',\n },\n})\n\nconst computedClasses = computed(() => ({\n 'show': isActive.value,\n 'navbar-collapse': props.isNav,\n 'collapse-horizontal': props.horizontal,\n}))\n\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef),\n})\n\nprovide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n","<template>\n <slot name=\"header\" v-bind=\"sharedSlots\" />\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :enter-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :leave-active-class=\"computedNoAnimation ? '' : 'collapsing'\"\n :appear=\"modelValue || props.visible\"\n >\n <component\n :is=\"props.tag\"\n v-show=\"showRef\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"collapse\"\n :class=\"computedClasses\"\n :is-nav=\"props.isNav\"\n v-bind=\"$attrs\"\n >\n <slot v-if=\"contentShowing\" v-bind=\"sharedSlots\" />\n </component>\n </Transition>\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, provide, readonly, toRef, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {collapseInjectionKey} from '../../utils/keys'\nimport type {BCollapseEmits, BCollapseProps, BCollapseSlots, ShowHideSlotsData} from '../../types'\nimport {useShowHide} from '../../composables/useShowHide'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BCollapseProps, 'modelValue'>>(), {\n horizontal: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n noAnimation: false,\n unmountLazy: false,\n tag: 'div',\n show: false,\n visible: false,\n})\nconst props = useDefaults(_props, 'BCollapse')\nconst emit = defineEmits<BCollapseEmits>()\ndefineSlots<BCollapseSlots>()\n\nconst modelValue = defineModel<Exclude<BCollapseProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'collapse')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\n\nlet inCollapse = false\nconst onEnter = (el: Element) => {\n inCollapse = true\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${(el as HTMLElement).scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${(el as HTMLElement).scrollHeight}px`\n }\n })\n}\nconst onBeforeLeave = (el: Element) => {\n if (inCollapse) {\n return\n }\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = `${el.scrollWidth}px`\n } else {\n ;(el as HTMLElement).style.height = `${el.scrollHeight}px`\n }\n\n // oxlint-disable-next-line no-unused-expressions\n ;(el as HTMLElement).offsetHeight // force reflow\n}\nconst onLeave = (el: Element) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n ;(el as HTMLElement).style.width = ``\n } else {\n ;(el as HTMLElement).style.height = ``\n }\n })\n}\n\nconst onAfterEnter = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst onAfterLeave = (el: Element) => {\n ;(el as HTMLElement).style.height = ``\n ;(el as HTMLElement).style.width = ``\n inCollapse = false\n}\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: '',\n leaveToClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n enterActiveClass: '',\n leaveActiveClass: '',\n },\n})\n\nconst computedClasses = computed(() => ({\n 'show': isActive.value,\n 'navbar-collapse': props.isNav,\n 'collapse-horizontal': props.horizontal,\n}))\n\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef),\n})\n\nprovide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"mappings":"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"}