bootstrap-vue-next 0.44.2 → 0.44.4

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 (641) hide show
  1. package/dist/{BAccordion-CQIw-5xs.js → BAccordion-CJZMsvwP.js} +6 -6
  2. package/dist/{BAccordion-CQIw-5xs.js.map → BAccordion-CJZMsvwP.js.map} +1 -1
  3. package/dist/{BAccordion-BJcDjMYL.mjs → BAccordion-CNzV6f8e.mjs} +6 -6
  4. package/dist/{BAccordion-BJcDjMYL.mjs.map → BAccordion-CNzV6f8e.mjs.map} +1 -1
  5. package/dist/{BAlert-CVtoW2SX.js → BAlert-BnT7fF6B.js} +9 -9
  6. package/dist/{BAlert-CVtoW2SX.js.map → BAlert-BnT7fF6B.js.map} +1 -1
  7. package/dist/{BAlert-DaQxH8c1.mjs → BAlert-Qiyqq4rE.mjs} +9 -9
  8. package/dist/{BAlert-DaQxH8c1.mjs.map → BAlert-Qiyqq4rE.mjs.map} +1 -1
  9. package/dist/{BApp-CIu-zI8K.mjs → BApp-DJWC2mB8.mjs} +2 -2
  10. package/dist/{BApp-CIu-zI8K.mjs.map → BApp-DJWC2mB8.mjs.map} +1 -1
  11. package/dist/{BApp-cBKQc5Dd.js → BApp-DaM0UKIg.js} +2 -2
  12. package/dist/{BApp-cBKQc5Dd.js.map → BApp-DaM0UKIg.js.map} +1 -1
  13. package/dist/BAspect-BULTO240.js +50 -0
  14. package/dist/BAspect-BULTO240.js.map +1 -0
  15. package/dist/BAspect-CwokVvvn.mjs +44 -0
  16. package/dist/BAspect-CwokVvvn.mjs.map +1 -0
  17. package/dist/BAutocomplete-C7Odx4At.js +2342 -0
  18. package/dist/BAutocomplete-C7Odx4At.js.map +1 -0
  19. package/dist/BAutocomplete-Depalqe-.mjs +2336 -0
  20. package/dist/BAutocomplete-Depalqe-.mjs.map +1 -0
  21. package/dist/{BAvatar-C7Vc4wad.mjs → BAvatar-D7aFEXLH.mjs} +8 -8
  22. package/dist/{BAvatar-C7Vc4wad.mjs.map → BAvatar-D7aFEXLH.mjs.map} +1 -1
  23. package/dist/{BAvatar-BcQeFYZU.js → BAvatar-lefHkDuG.js} +8 -8
  24. package/dist/{BAvatar-BcQeFYZU.js.map → BAvatar-lefHkDuG.js.map} +1 -1
  25. package/dist/{BBadge-CKGGd4xB.js → BBadge-BBUcrujj.js} +5 -5
  26. package/dist/{BBadge-CKGGd4xB.js.map → BBadge-BBUcrujj.js.map} +1 -1
  27. package/dist/{BBadge-Dfkx4SMN.mjs → BBadge-D5ra3W5R.mjs} +5 -5
  28. package/dist/{BBadge-Dfkx4SMN.mjs.map → BBadge-D5ra3W5R.mjs.map} +1 -1
  29. package/dist/{BBreadcrumb-1Wxpf1iy.js → BBreadcrumb-BSsiwCNB.js} +4 -4
  30. package/dist/{BBreadcrumb-1Wxpf1iy.js.map → BBreadcrumb-BSsiwCNB.js.map} +1 -1
  31. package/dist/{BBreadcrumb-CR35-KcI.mjs → BBreadcrumb-amkzWyz6.mjs} +4 -4
  32. package/dist/{BBreadcrumb-CR35-KcI.mjs.map → BBreadcrumb-amkzWyz6.mjs.map} +1 -1
  33. package/dist/{BButton-1yV1UiT7.mjs → BButton-BRvIFnRm.mjs} +5 -5
  34. package/dist/{BButton-1yV1UiT7.mjs.map → BButton-BRvIFnRm.mjs.map} +1 -1
  35. package/dist/{BButton-BID3NrxE.js → BButton-DBRs8Pz_.js} +5 -5
  36. package/dist/{BButton-BID3NrxE.js.map → BButton-DBRs8Pz_.js.map} +1 -1
  37. package/dist/{BButton-BtCX70_2.mjs → BButton-DNmtqoqR.mjs} +5 -5
  38. package/dist/{BButton-BtCX70_2.mjs.map → BButton-DNmtqoqR.mjs.map} +1 -1
  39. package/dist/{BButton-C_bVBx8e.js → BButton-kykTWnBy.js} +5 -5
  40. package/dist/{BButton-C_bVBx8e.js.map → BButton-kykTWnBy.js.map} +1 -1
  41. package/dist/{BCard-Vf1haqo5.mjs → BCard-C1G8PO5k.mjs} +6 -6
  42. package/dist/{BCard-Vf1haqo5.mjs.map → BCard-C1G8PO5k.mjs.map} +1 -1
  43. package/dist/{BCard-CY6iY456.mjs → BCard-CJ822HyH.mjs} +3 -3
  44. package/dist/{BCard-CY6iY456.mjs.map → BCard-CJ822HyH.mjs.map} +1 -1
  45. package/dist/{BCard-D1J5OVRY.js → BCard-CSyEHz8Z.js} +3 -3
  46. package/dist/{BCard-D1J5OVRY.js.map → BCard-CSyEHz8Z.js.map} +1 -1
  47. package/dist/{BCard-BIQQg9Rx.js → BCard-CgbTFn3S.js} +6 -6
  48. package/dist/{BCard-BIQQg9Rx.js.map → BCard-CgbTFn3S.js.map} +1 -1
  49. package/dist/{BCarousel-BH6WIvJx.js → BCarousel-Be7z13f9.js} +10 -7
  50. package/dist/BCarousel-Be7z13f9.js.map +1 -0
  51. package/dist/{BCarousel-C3CA_wGV.mjs → BCarousel-D81alfFC.mjs} +10 -7
  52. package/dist/BCarousel-D81alfFC.mjs.map +1 -0
  53. package/dist/{BCloseButton-CgIVNv2g.js → BCloseButton-CN__Jjcj.js} +2 -2
  54. package/dist/{BCloseButton-CgIVNv2g.js.map → BCloseButton-CN__Jjcj.js.map} +1 -1
  55. package/dist/{BCloseButton-DrD0tpan.mjs → BCloseButton-CjgbR1Ec.mjs} +2 -2
  56. package/dist/{BCloseButton-DrD0tpan.mjs.map → BCloseButton-CjgbR1Ec.mjs.map} +1 -1
  57. package/dist/{BCol-GOE5drq_.js → BCol-0tZmpOme.js} +3 -3
  58. package/dist/{BCol-GOE5drq_.js.map → BCol-0tZmpOme.js.map} +1 -1
  59. package/dist/{BCol-BjC3q-su.mjs → BCol-C4v-TOX6.mjs} +3 -3
  60. package/dist/{BCol-BjC3q-su.mjs.map → BCol-C4v-TOX6.mjs.map} +1 -1
  61. package/dist/{BCollapse-DqeS5WyB.mjs → BCollapse-D-xTGkX_.mjs} +4 -4
  62. package/dist/{BCollapse-DqeS5WyB.mjs.map → BCollapse-D-xTGkX_.mjs.map} +1 -1
  63. package/dist/{BCollapse-BMSZfqqk.js → BCollapse-DZ1z2c8U.js} +4 -4
  64. package/dist/{BCollapse-BMSZfqqk.js.map → BCollapse-DZ1z2c8U.js.map} +1 -1
  65. package/dist/{BContainer-CdNYUb9S.js → BContainer-BZUI2qQv.js} +4 -4
  66. package/dist/{BContainer-CdNYUb9S.js.map → BContainer-BZUI2qQv.js.map} +1 -1
  67. package/dist/{BContainer-NRhwYcFj.mjs → BContainer-DjIGH6-y.mjs} +4 -4
  68. package/dist/{BContainer-NRhwYcFj.mjs.map → BContainer-DjIGH6-y.mjs.map} +1 -1
  69. package/dist/{BDateField-CRFFJ4Sj.mjs → BDateField-BJIq6gs9.mjs} +8 -6
  70. package/dist/{BDateField-CRFFJ4Sj.mjs.map → BDateField-BJIq6gs9.mjs.map} +1 -1
  71. package/dist/{BDateField-3Xb73vd-.js → BDateField-RWwEMIwd.js} +17 -15
  72. package/dist/{BDateField-3Xb73vd-.js.map → BDateField-RWwEMIwd.js.map} +1 -1
  73. package/dist/{BDatePicker-rdtRZlra.js → BDatePicker-BQN6qZXa.js} +74 -1556
  74. package/dist/BDatePicker-BQN6qZXa.js.map +1 -0
  75. package/dist/{BDatePicker-DPtAqGyV.mjs → BDatePicker-DfzZBWjU.mjs} +15 -1497
  76. package/dist/BDatePicker-DfzZBWjU.mjs.map +1 -0
  77. package/dist/{BDropdown-k-nulez8.mjs → BDropdown-BW_O8vPQ.mjs} +5 -5
  78. package/dist/{BDropdown-k-nulez8.mjs.map → BDropdown-BW_O8vPQ.mjs.map} +1 -1
  79. package/dist/{BDropdown-C2L69dLN.js → BDropdown-C1AxRj81.js} +15 -12
  80. package/dist/BDropdown-C1AxRj81.js.map +1 -0
  81. package/dist/{BDropdown-CrgX7oCn.js → BDropdown-CuVOxCzu.js} +5 -5
  82. package/dist/{BDropdown-CrgX7oCn.js.map → BDropdown-CuVOxCzu.js.map} +1 -1
  83. package/dist/{BDropdown-CKnx6hUH.mjs → BDropdown-DAHnN54Z.mjs} +15 -12
  84. package/dist/BDropdown-DAHnN54Z.mjs.map +1 -0
  85. package/dist/{BForm-B0YEolfQ.js → BForm-Bp7SFxiK.js} +2 -2
  86. package/dist/{BForm-B0YEolfQ.js.map → BForm-Bp7SFxiK.js.map} +1 -1
  87. package/dist/{BForm-ppPvhIuu.js → BForm-BqHUnHpU.js} +8 -7
  88. package/dist/{BForm-ppPvhIuu.js.map → BForm-BqHUnHpU.js.map} +1 -1
  89. package/dist/{BForm-DZW1uWD-.mjs → BForm-IL7Rf_27.mjs} +7 -6
  90. package/dist/{BForm-DZW1uWD-.mjs.map → BForm-IL7Rf_27.mjs.map} +1 -1
  91. package/dist/{BForm-CPHblWb2.mjs → BForm-Oh6PpdcD.mjs} +2 -2
  92. package/dist/{BForm-CPHblWb2.mjs.map → BForm-Oh6PpdcD.mjs.map} +1 -1
  93. package/dist/{BFormCheckbox-MEwee9Ij.js → BFormCheckbox-Bdk2rgVe.js} +6 -6
  94. package/dist/{BFormCheckbox-MEwee9Ij.js.map → BFormCheckbox-Bdk2rgVe.js.map} +1 -1
  95. package/dist/{BFormCheckbox-CsN1a4jm.mjs → BFormCheckbox-CcDK-lh1.mjs} +6 -6
  96. package/dist/{BFormCheckbox-CsN1a4jm.mjs.map → BFormCheckbox-CcDK-lh1.mjs.map} +1 -1
  97. package/dist/{BFormFile-BEHeBj6q.js → BFormFile-BWknj7fW.js} +5 -5
  98. package/dist/{BFormFile-BEHeBj6q.js.map → BFormFile-BWknj7fW.js.map} +1 -1
  99. package/dist/{BFormFile-CNtEA98J.mjs → BFormFile-Bf3GMYeX.mjs} +5 -5
  100. package/dist/{BFormFile-CNtEA98J.mjs.map → BFormFile-Bf3GMYeX.mjs.map} +1 -1
  101. package/dist/{BFormGroup-DBVGyJ-f.mjs → BFormGroup--38dFj0X.mjs} +9 -9
  102. package/dist/{BFormGroup-DBVGyJ-f.mjs.map → BFormGroup--38dFj0X.mjs.map} +1 -1
  103. package/dist/{BFormGroup-CGjb_pUi.js → BFormGroup-BwO1BZD1.js} +9 -9
  104. package/dist/{BFormGroup-CGjb_pUi.js.map → BFormGroup-BwO1BZD1.js.map} +1 -1
  105. package/dist/{BFormInput-4vCGzAoO.js → BFormInput-BuRSGYdY.js} +3 -3
  106. package/dist/{BFormInput-4vCGzAoO.js.map → BFormInput-BuRSGYdY.js.map} +1 -1
  107. package/dist/{BFormInput-DrZnHCLO.mjs → BFormInput-Dg9dbwHp.mjs} +3 -3
  108. package/dist/{BFormInput-DrZnHCLO.mjs.map → BFormInput-Dg9dbwHp.mjs.map} +1 -1
  109. package/dist/{BFormRadio-BXpiJTsS.mjs → BFormRadio-CRDbgMiR.mjs} +6 -6
  110. package/dist/{BFormRadio-BXpiJTsS.mjs.map → BFormRadio-CRDbgMiR.mjs.map} +1 -1
  111. package/dist/{BFormRadio-BzHsRe9X.js → BFormRadio-DuVYw-Vs.js} +6 -6
  112. package/dist/{BFormRadio-BzHsRe9X.js.map → BFormRadio-DuVYw-Vs.js.map} +1 -1
  113. package/dist/{BFormRating-Cq94zurU.mjs → BFormRating-Bb_ACp-9.mjs} +4 -4
  114. package/dist/{BFormRating-Cq94zurU.mjs.map → BFormRating-Bb_ACp-9.mjs.map} +1 -1
  115. package/dist/{BFormRating-_MVRGNOF.js → BFormRating-CNqf91vN.js} +4 -4
  116. package/dist/{BFormRating-_MVRGNOF.js.map → BFormRating-CNqf91vN.js.map} +1 -1
  117. package/dist/{BFormSelect-DbpJ_0j-.mjs → BFormSelect-Dg6OwMl-.mjs} +8 -7
  118. package/dist/{BFormSelect-DbpJ_0j-.mjs.map → BFormSelect-Dg6OwMl-.mjs.map} +1 -1
  119. package/dist/{BFormSelect-DFa1-5ez.js → BFormSelect-DqSojuY_.js} +10 -9
  120. package/dist/{BFormSelect-DFa1-5ez.js.map → BFormSelect-DqSojuY_.js.map} +1 -1
  121. package/dist/BFormSelectOption-BY4P8HOf.js +46 -0
  122. package/dist/BFormSelectOption-BY4P8HOf.js.map +1 -0
  123. package/dist/BFormSelectOption-O8cyyv3i.mjs +40 -0
  124. package/dist/BFormSelectOption-O8cyyv3i.mjs.map +1 -0
  125. package/dist/{BFormSpinbutton-DmzfRDeR.mjs → BFormSpinbutton-BLO0Yf36.mjs} +6 -6
  126. package/dist/{BFormSpinbutton-DmzfRDeR.mjs.map → BFormSpinbutton-BLO0Yf36.mjs.map} +1 -1
  127. package/dist/{BFormSpinbutton-DzJ071Gz.js → BFormSpinbutton-BaOTL1k1.js} +6 -6
  128. package/dist/{BFormSpinbutton-DzJ071Gz.js.map → BFormSpinbutton-BaOTL1k1.js.map} +1 -1
  129. package/dist/BFormTag-BUWEugEC.mjs +80 -0
  130. package/dist/BFormTag-BUWEugEC.mjs.map +1 -0
  131. package/dist/BFormTag-C7B-bX72.js +86 -0
  132. package/dist/BFormTag-C7B-bX72.js.map +1 -0
  133. package/dist/{BFormTags-pK9i3cOB.js → BFormTags-BFA6xbr3.js} +12 -88
  134. package/dist/BFormTags-BFA6xbr3.js.map +1 -0
  135. package/dist/{BFormTags-Cobh04P9.mjs → BFormTags-CJb4H67g.mjs} +13 -83
  136. package/dist/BFormTags-CJb4H67g.mjs.map +1 -0
  137. package/dist/{BFormTextarea-BtXarcjA.js → BFormTextarea-8c3B3kAI.js} +4 -4
  138. package/dist/{BFormTextarea-BtXarcjA.js.map → BFormTextarea-8c3B3kAI.js.map} +1 -1
  139. package/dist/{BFormTextarea-ClcoJrSM.mjs → BFormTextarea-BMk05ojJ.mjs} +4 -4
  140. package/dist/{BFormTextarea-ClcoJrSM.mjs.map → BFormTextarea-BMk05ojJ.mjs.map} +1 -1
  141. package/dist/{BFormValidFeedback-Ot8gdDST.js → BFormValidFeedback-DvTgwqSe.js} +3 -3
  142. package/dist/{BFormValidFeedback-Ot8gdDST.js.map → BFormValidFeedback-DvTgwqSe.js.map} +1 -1
  143. package/dist/{BFormValidFeedback-foz9BlkH.mjs → BFormValidFeedback-_Dgzm0Ag.mjs} +3 -3
  144. package/dist/{BFormValidFeedback-foz9BlkH.mjs.map → BFormValidFeedback-_Dgzm0Ag.mjs.map} +1 -1
  145. package/dist/{BImg-b_3eTiEq.mjs → BImg-BQqZfIM9.mjs} +5 -5
  146. package/dist/{BImg-b_3eTiEq.mjs.map → BImg-BQqZfIM9.mjs.map} +1 -1
  147. package/dist/{BImg-BrA0ZRS6.js → BImg-Dyy0N-WQ.js} +5 -5
  148. package/dist/{BImg-BrA0ZRS6.js.map → BImg-Dyy0N-WQ.js.map} +1 -1
  149. package/dist/BInputGroup-BScMw6Zr.js +31 -0
  150. package/dist/BInputGroup-BScMw6Zr.js.map +1 -0
  151. package/dist/BInputGroup-C7k0tS9j.mjs +25 -0
  152. package/dist/BInputGroup-C7k0tS9j.mjs.map +1 -0
  153. package/dist/{BInputGroup-B8fKBtip.mjs → BInputGroup-DpX10xwR.mjs} +4 -22
  154. package/dist/BInputGroup-DpX10xwR.mjs.map +1 -0
  155. package/dist/{BInputGroup-Cr0qLUds.js → BInputGroup-Duk6Jk0v.js} +2 -26
  156. package/dist/BInputGroup-Duk6Jk0v.js.map +1 -0
  157. package/dist/{BLink-DoYZ8dBl.mjs → BLink-Cz5YCsnv.mjs} +4 -4
  158. package/dist/{BLink-DoYZ8dBl.mjs.map → BLink-Cz5YCsnv.mjs.map} +1 -1
  159. package/dist/{BLink-DW7s8W_N.js → BLink-uemyYKst.js} +4 -4
  160. package/dist/{BLink-DW7s8W_N.js.map → BLink-uemyYKst.js.map} +1 -1
  161. package/dist/{BListGroup-ByYmtuCM.mjs → BListGroup-BmtN0xQ3.mjs} +3 -3
  162. package/dist/{BListGroup-ByYmtuCM.mjs.map → BListGroup-BmtN0xQ3.mjs.map} +1 -1
  163. package/dist/{BListGroup-clQNXk23.js → BListGroup-DuyMdAxJ.js} +3 -3
  164. package/dist/{BListGroup-clQNXk23.js.map → BListGroup-DuyMdAxJ.js.map} +1 -1
  165. package/dist/{BModal-TCXrZEZk.mjs → BModal-Br5xLT0-.mjs} +15 -12
  166. package/dist/BModal-Br5xLT0-.mjs.map +1 -0
  167. package/dist/{BModal-d3FKaKhA.js → BModal-D0LB339D.js} +15 -12
  168. package/dist/BModal-D0LB339D.js.map +1 -0
  169. package/dist/{BNav-BBr8213N.mjs → BNav-BRjdHsjC.mjs} +7 -7
  170. package/dist/{BNav-BBr8213N.mjs.map → BNav-BRjdHsjC.mjs.map} +1 -1
  171. package/dist/{BNav-BMAZcVDS.js → BNav-tYBwz1wU.js} +7 -7
  172. package/dist/{BNav-BMAZcVDS.js.map → BNav-tYBwz1wU.js.map} +1 -1
  173. package/dist/{BNavbar-BfYFzX1s.js → BNavbar-s9Ak5PnO.js} +6 -6
  174. package/dist/{BNavbar-BfYFzX1s.js.map → BNavbar-s9Ak5PnO.js.map} +1 -1
  175. package/dist/{BNavbar-DtgNmsyI.mjs → BNavbar-vN3_CMLn.mjs} +6 -6
  176. package/dist/{BNavbar-DtgNmsyI.mjs.map → BNavbar-vN3_CMLn.mjs.map} +1 -1
  177. package/dist/{BOffcanvas-YsVap-9w.js → BOffcanvas-D33pEfZe.js} +14 -11
  178. package/dist/BOffcanvas-D33pEfZe.js.map +1 -0
  179. package/dist/{BOffcanvas-BklEA-4x.mjs → BOffcanvas-jETHbtC3.mjs} +14 -11
  180. package/dist/BOffcanvas-jETHbtC3.mjs.map +1 -0
  181. package/dist/BOtpInput-CSCoKHP9.js +542 -0
  182. package/dist/BOtpInput-CSCoKHP9.js.map +1 -0
  183. package/dist/BOtpInput-Drfkt3x3.mjs +536 -0
  184. package/dist/BOtpInput-Drfkt3x3.mjs.map +1 -0
  185. package/dist/{BOverlay-Dg9YM7p1.js → BOverlay-B7vJAdHO.js} +6 -6
  186. package/dist/{BOverlay-Dg9YM7p1.js.map → BOverlay-B7vJAdHO.js.map} +1 -1
  187. package/dist/{BOverlay-DOfvBAZb.mjs → BOverlay-BGxH9JVy.mjs} +6 -6
  188. package/dist/{BOverlay-DOfvBAZb.mjs.map → BOverlay-BGxH9JVy.mjs.map} +1 -1
  189. package/dist/{BPagination-9P9Xh3cN.js → BPagination-C0-4NVzW.js} +6 -6
  190. package/dist/{BPagination-9P9Xh3cN.js.map → BPagination-C0-4NVzW.js.map} +1 -1
  191. package/dist/{BPagination-B868NBmG.mjs → BPagination-CvoSN1He.mjs} +6 -6
  192. package/dist/{BPagination-B868NBmG.mjs.map → BPagination-CvoSN1He.mjs.map} +1 -1
  193. package/dist/{BPlaceholder-7UJ3Nyb3.mjs → BPlaceholder-C4AOg29f.mjs} +6 -6
  194. package/dist/{BPlaceholder-7UJ3Nyb3.mjs.map → BPlaceholder-C4AOg29f.mjs.map} +1 -1
  195. package/dist/{BPlaceholder-DPEVmogO.js → BPlaceholder-DYYYuNgR.js} +6 -6
  196. package/dist/{BPlaceholder-DPEVmogO.js.map → BPlaceholder-DYYYuNgR.js.map} +1 -1
  197. package/dist/{BProgress-Bdf5AncM.mjs → BProgress-BIqo6vLh.mjs} +4 -4
  198. package/dist/{BProgress-Bdf5AncM.mjs.map → BProgress-BIqo6vLh.mjs.map} +1 -1
  199. package/dist/{BProgress-CeEIdt1a.js → BProgress-Bc3ZSkac.js} +4 -4
  200. package/dist/{BProgress-CeEIdt1a.js.map → BProgress-Bc3ZSkac.js.map} +1 -1
  201. package/dist/{BRow-NaXJzpS-.mjs → BRow-BCEK3fe6.mjs} +4 -4
  202. package/dist/{BRow-NaXJzpS-.mjs.map → BRow-BCEK3fe6.mjs.map} +1 -1
  203. package/dist/{BRow-DGi1WkB9.js → BRow-tqMEhkZS.js} +4 -4
  204. package/dist/{BRow-DGi1WkB9.js.map → BRow-tqMEhkZS.js.map} +1 -1
  205. package/dist/{BSpinner-Kska3Bsd.js → BSpinner-8UMAINYb.js} +3 -3
  206. package/dist/{BSpinner-Kska3Bsd.js.map → BSpinner-8UMAINYb.js.map} +1 -1
  207. package/dist/{BSpinner-DlLxrIkh.mjs → BSpinner-BpnwONvx.mjs} +3 -3
  208. package/dist/{BSpinner-DlLxrIkh.mjs.map → BSpinner-BpnwONvx.mjs.map} +1 -1
  209. package/dist/{BTable-BiNbXnsR.js → BTable-Btzu1IJ_.js} +9 -9
  210. package/dist/{BTable-BiNbXnsR.js.map → BTable-Btzu1IJ_.js.map} +1 -1
  211. package/dist/{BTable-C__GSYX2.mjs → BTable-CjHMx8Yv.mjs} +9 -9
  212. package/dist/{BTable-C__GSYX2.mjs.map → BTable-CjHMx8Yv.mjs.map} +1 -1
  213. package/dist/{BTableSimple-fwaF0Kws.js → BTableSimple-BcdizuDm.js} +5 -5
  214. package/dist/{BTableSimple-fwaF0Kws.js.map → BTableSimple-BcdizuDm.js.map} +1 -1
  215. package/dist/{BTableSimple-eebTf2L5.mjs → BTableSimple-C901Z5V9.mjs} +5 -5
  216. package/dist/{BTableSimple-eebTf2L5.mjs.map → BTableSimple-C901Z5V9.mjs.map} +1 -1
  217. package/dist/{BTabs-7IT0dhVr.mjs → BTabs-DZEF9kgT.mjs} +7 -7
  218. package/dist/{BTabs-7IT0dhVr.mjs.map → BTabs-DZEF9kgT.mjs.map} +1 -1
  219. package/dist/{BTabs-BxwRSBMv.js → BTabs-DiYaJi22.js} +7 -7
  220. package/dist/{BTabs-BxwRSBMv.js.map → BTabs-DiYaJi22.js.map} +1 -1
  221. package/dist/{BTimeField-CZw1_K7v.mjs → BTimeField-DSWZeGYP.mjs} +7 -5
  222. package/dist/{BTimeField-CZw1_K7v.mjs.map → BTimeField-DSWZeGYP.mjs.map} +1 -1
  223. package/dist/{BTimeField-CngB6NOW.js → BTimeField-VTrtxGkI.js} +18 -16
  224. package/dist/{BTimeField-CngB6NOW.js.map → BTimeField-VTrtxGkI.js.map} +1 -1
  225. package/dist/{BToast-IYBku5Nr.mjs → BToast-B2rFKhLD.mjs} +10 -10
  226. package/dist/{BToast-IYBku5Nr.mjs.map → BToast-B2rFKhLD.mjs.map} +1 -1
  227. package/dist/{BToast-BraVbf4N.js → BToast-DCSZYXIi.js} +10 -10
  228. package/dist/{BToast-BraVbf4N.js.map → BToast-DCSZYXIi.js.map} +1 -1
  229. package/dist/{BTooltip-B2hE5Q6m.js → BTooltip-CryTO-SM.js} +3 -3
  230. package/dist/{BTooltip-B2hE5Q6m.js.map → BTooltip-CryTO-SM.js.map} +1 -1
  231. package/dist/{BTooltip-BuK_zb1B.mjs → BTooltip-DtpjIEBu.mjs} +3 -3
  232. package/dist/{BTooltip-BuK_zb1B.mjs.map → BTooltip-DtpjIEBu.mjs.map} +1 -1
  233. package/dist/{BootstrapVueOptions-CVxLmDvx.js → BootstrapVueOptions-BC3f7hMU.js} +4 -1
  234. package/dist/BootstrapVueOptions-BC3f7hMU.js.map +1 -0
  235. package/dist/{BootstrapVueOptions-Dtdn7_AJ.mjs → BootstrapVueOptions-BU3rzYio.mjs} +4 -1
  236. package/dist/BootstrapVueOptions-BU3rzYio.mjs.map +1 -0
  237. package/dist/{ConditionalTeleport-BDWcebyD.js → ConditionalTeleport-BJZk6HAx.js} +1 -1
  238. package/dist/{ConditionalTeleport-BDWcebyD.js.map → ConditionalTeleport-BJZk6HAx.js.map} +1 -1
  239. package/dist/{ConditionalTeleport-B4KYZIM6.mjs → ConditionalTeleport-BNsziElf.mjs} +1 -1
  240. package/dist/{ConditionalTeleport-B4KYZIM6.mjs.map → ConditionalTeleport-BNsziElf.mjs.map} +1 -1
  241. package/dist/{ConditionalWrapper-ZqZKYsic.js → ConditionalWrapper-Cc7EIszd.js} +1 -1
  242. package/dist/{ConditionalWrapper-ZqZKYsic.js.map → ConditionalWrapper-Cc7EIszd.js.map} +1 -1
  243. package/dist/{ConditionalWrapper-BR9CKZNU.mjs → ConditionalWrapper-D9ovtbHB.mjs} +1 -1
  244. package/dist/{ConditionalWrapper-BR9CKZNU.mjs.map → ConditionalWrapper-D9ovtbHB.mjs.map} +1 -1
  245. package/dist/{DateRangeFieldInput-bXDqGVUe.js → DateRangeFieldInput-Ce7PM3PJ.js} +22 -20
  246. package/dist/{DateRangeFieldInput-bXDqGVUe.js.map → DateRangeFieldInput-Ce7PM3PJ.js.map} +1 -1
  247. package/dist/{DateRangeFieldInput-bA6IK9lx.mjs → DateRangeFieldInput-DiVuhf4Y.mjs} +5 -3
  248. package/dist/{DateRangeFieldInput-bA6IK9lx.mjs.map → DateRangeFieldInput-DiVuhf4Y.mjs.map} +1 -1
  249. package/dist/PopperContent-BTUvv6Tu.mjs +1431 -0
  250. package/dist/PopperContent-BTUvv6Tu.mjs.map +1 -0
  251. package/dist/PopperContent-CSwv2Fih.js +1515 -0
  252. package/dist/PopperContent-CSwv2Fih.js.map +1 -0
  253. package/dist/VisuallyHidden-Bbwok8oL.mjs +174 -0
  254. package/dist/VisuallyHidden-Bbwok8oL.mjs.map +1 -0
  255. package/dist/VisuallyHidden-DaN947I0.js +222 -0
  256. package/dist/VisuallyHidden-DaN947I0.js.map +1 -0
  257. package/dist/VisuallyHiddenInput-Biq4Qv5j.js +147 -0
  258. package/dist/VisuallyHiddenInput-Biq4Qv5j.js.map +1 -0
  259. package/dist/VisuallyHiddenInput-D1SjTCVH.mjs +141 -0
  260. package/dist/VisuallyHiddenInput-D1SjTCVH.mjs.map +1 -0
  261. package/dist/bootstrap-vue-next.css +147 -0
  262. package/dist/bootstrap-vue-next.mjs +62 -57
  263. package/dist/bootstrap-vue-next.umd.js +67 -59
  264. package/dist/{classes-D6JE1Dex.mjs → classes-B0E5Y78Y.mjs} +1 -1
  265. package/dist/{classes-D6JE1Dex.mjs.map → classes-B0E5Y78Y.mjs.map} +1 -1
  266. package/dist/{classes-vdSVs0gA.js → classes-D5wrmmVs.js} +1 -1
  267. package/dist/{classes-vdSVs0gA.js.map → classes-D5wrmmVs.js.map} +1 -1
  268. package/dist/components/BAccordion/BAccordionItem.vue.d.mts +1 -1
  269. package/dist/components/BAccordion/BAccordionItem.vue.d.ts +1 -1
  270. package/dist/components/BAspect/BAspect.vue.d.mts +21 -0
  271. package/dist/components/BAspect/BAspect.vue.d.ts +21 -0
  272. package/dist/components/BAspect/index.d.mts +1 -0
  273. package/dist/components/BAspect/index.d.ts +1 -0
  274. package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +65 -0
  275. package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +65 -0
  276. package/dist/components/BAutocomplete/index.d.mts +1 -0
  277. package/dist/components/BAutocomplete/index.d.ts +1 -0
  278. package/dist/components/BButton/BButtonGroup.vue.d.mts +1 -1
  279. package/dist/components/BButton/BButtonGroup.vue.d.ts +1 -1
  280. package/dist/components/BCard/BCard.vue.d.mts +1 -1
  281. package/dist/components/BCard/BCard.vue.d.ts +1 -1
  282. package/dist/components/BCard/BCardImg.vue.d.mts +1 -1
  283. package/dist/components/BCard/BCardImg.vue.d.ts +1 -1
  284. package/dist/components/BCollapse/BCollapse.vue.d.mts +1 -1
  285. package/dist/components/BCollapse/BCollapse.vue.d.ts +1 -1
  286. package/dist/components/BDateField/BDateField.vue.d.mts +1 -1
  287. package/dist/components/BDateField/BDateField.vue.d.ts +1 -1
  288. package/dist/components/BDateField/BDateRangeField.vue.d.mts +1 -1
  289. package/dist/components/BDateField/BDateRangeField.vue.d.ts +1 -1
  290. package/dist/components/BDateField/BTimeRangeField.vue.d.mts +4 -4
  291. package/dist/components/BDateField/BTimeRangeField.vue.d.ts +4 -4
  292. package/dist/components/BDatePicker/BDatePicker.vue.d.mts +4 -4
  293. package/dist/components/BDatePicker/BDatePicker.vue.d.ts +4 -4
  294. package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +4 -4
  295. package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +4 -4
  296. package/dist/components/BDropdown/BDropdown.vue.d.mts +2 -2
  297. package/dist/components/BDropdown/BDropdown.vue.d.ts +2 -2
  298. package/dist/components/BForm/BFormDatalistBase.vue.d.mts +5 -5
  299. package/dist/components/BForm/BFormDatalistBase.vue.d.ts +5 -5
  300. package/dist/components/BForm/BFormInvalidFeedback.vue.d.mts +1 -1
  301. package/dist/components/BForm/BFormInvalidFeedback.vue.d.ts +1 -1
  302. package/dist/components/BForm/BFormValidFeedback.vue.d.mts +1 -1
  303. package/dist/components/BForm/BFormValidFeedback.vue.d.ts +1 -1
  304. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -1
  305. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -1
  306. package/dist/components/BFormFile/BFormFile.vue.d.mts +1 -1
  307. package/dist/components/BFormFile/BFormFile.vue.d.ts +1 -1
  308. package/dist/components/BFormGroup/BFormGroup.vue.d.mts +1 -1
  309. package/dist/components/BFormGroup/BFormGroup.vue.d.ts +1 -1
  310. package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +4 -4
  311. package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +4 -4
  312. package/dist/components/BImg/BImg.vue.d.mts +1 -1
  313. package/dist/components/BImg/BImg.vue.d.ts +1 -1
  314. package/dist/components/BInputGroup/BInputGroup.vue.d.mts +1 -1
  315. package/dist/components/BInputGroup/BInputGroup.vue.d.ts +1 -1
  316. package/dist/components/BListGroup/BListGroup.vue.d.mts +1 -1
  317. package/dist/components/BListGroup/BListGroup.vue.d.ts +1 -1
  318. package/dist/components/BModal/BModal.vue.d.mts +1 -1
  319. package/dist/components/BModal/BModal.vue.d.ts +1 -1
  320. package/dist/components/BNav/BNav.vue.d.mts +1 -1
  321. package/dist/components/BNav/BNav.vue.d.ts +1 -1
  322. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +13 -13
  323. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +13 -13
  324. package/dist/components/BNavbar/BNavbar.vue.d.mts +1 -1
  325. package/dist/components/BNavbar/BNavbar.vue.d.ts +1 -1
  326. package/dist/components/BNavbar/BNavbarNav.vue.d.mts +1 -1
  327. package/dist/components/BNavbar/BNavbarNav.vue.d.ts +1 -1
  328. package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +1 -1
  329. package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +1 -1
  330. package/dist/components/BOtpInput/BOtpInput.vue.d.mts +32 -0
  331. package/dist/components/BOtpInput/BOtpInput.vue.d.ts +32 -0
  332. package/dist/components/BOtpInput/index.d.mts +1 -0
  333. package/dist/components/BOtpInput/index.d.ts +1 -0
  334. package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +1 -1
  335. package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +1 -1
  336. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +1 -1
  337. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +1 -1
  338. package/dist/components/BProgress/BProgress.vue.d.mts +1 -1
  339. package/dist/components/BProgress/BProgress.vue.d.ts +1 -1
  340. package/dist/components/BSpinner/BSpinner.vue.d.mts +2 -2
  341. package/dist/components/BSpinner/BSpinner.vue.d.ts +2 -2
  342. package/dist/components/BTable/BTable.vue.d.mts +3 -3
  343. package/dist/components/BTable/BTable.vue.d.ts +3 -3
  344. package/dist/components/BTabs/BTabs.vue.d.mts +1 -1
  345. package/dist/components/BTabs/BTabs.vue.d.ts +1 -1
  346. package/dist/components/BTimeField/BTimeField.vue.d.mts +1 -1
  347. package/dist/components/BTimeField/BTimeField.vue.d.ts +1 -1
  348. package/dist/components/index.d.mts +3 -0
  349. package/dist/components/index.d.ts +3 -0
  350. package/dist/composables/useFormSelect.d.mts +10 -4
  351. package/dist/composables/useFormSelect.d.ts +10 -4
  352. package/dist/{constants-CQ8ucyPI.mjs → constants-BSIK14yA.mjs} +1 -1
  353. package/dist/{constants-CQ8ucyPI.mjs.map → constants-BSIK14yA.mjs.map} +1 -1
  354. package/dist/{constants-DMR5FAE3.js → constants-hccBP09R.js} +1 -1
  355. package/dist/{constants-DMR5FAE3.js.map → constants-hccBP09R.js.map} +1 -1
  356. package/dist/{debounce-BfDJWP7y.js → debounce-C-5Oukxb.js} +2 -2
  357. package/dist/{debounce-BfDJWP7y.js.map → debounce-C-5Oukxb.js.map} +1 -1
  358. package/dist/{debounce-BIVtU5ek.mjs → debounce-C_wjWVGH.mjs} +2 -2
  359. package/dist/{debounce-BIVtU5ek.mjs.map → debounce-C_wjWVGH.mjs.map} +1 -1
  360. package/dist/{dist-Dn5blevd.mjs → dist-B10a-gZ8.mjs} +34 -2
  361. package/dist/{dist-Dn5blevd.mjs.map → dist-B10a-gZ8.mjs.map} +1 -1
  362. package/dist/{dist-B_c893QG.js → dist-BJ15ThEs.js} +45 -1
  363. package/dist/{dist-B_c893QG.js.map → dist-BJ15ThEs.js.map} +1 -1
  364. package/dist/{flattenFragments-DfLb4YB2.js → flattenFragments-C1WWqm25.js} +1 -1
  365. package/dist/{flattenFragments-DfLb4YB2.js.map → flattenFragments-C1WWqm25.js.map} +1 -1
  366. package/dist/{flattenFragments-B1W_x5L2.mjs → flattenFragments-ClbLQGqR.mjs} +1 -1
  367. package/dist/{flattenFragments-B1W_x5L2.mjs.map → flattenFragments-ClbLQGqR.mjs.map} +1 -1
  368. package/dist/{floating-ui.vue-CcfLuVCZ.mjs → floating-ui.vue-CAMaNcqI.mjs} +1 -1
  369. package/dist/{floating-ui.vue-CcfLuVCZ.mjs.map → floating-ui.vue-CAMaNcqI.mjs.map} +1 -1
  370. package/dist/{floating-ui.vue-B09oeNTW.js → floating-ui.vue-GXIS2sFG.js} +1 -1
  371. package/dist/{floating-ui.vue-B09oeNTW.js.map → floating-ui.vue-GXIS2sFG.js.map} +1 -1
  372. package/dist/{floatingUi-BLlCKrbj.js → floatingUi-Cs4rDXmO.js} +8 -8
  373. package/dist/{floatingUi-BLlCKrbj.js.map → floatingUi-Cs4rDXmO.js.map} +1 -1
  374. package/dist/{floatingUi-9NcUa5r7.mjs → floatingUi-DHMrP__c.mjs} +8 -8
  375. package/dist/{floatingUi-9NcUa5r7.mjs.map → floatingUi-DHMrP__c.mjs.map} +1 -1
  376. package/dist/{functions-C6AToZGR.mjs → functions-BcMenQqL.mjs} +1 -1
  377. package/dist/functions-BcMenQqL.mjs.map +1 -0
  378. package/dist/{functions-DCQKr6wc.js → functions-Bx1HDqMv.js} +1 -1
  379. package/dist/functions-Bx1HDqMv.js.map +1 -0
  380. package/dist/{getClasses-_sZDgS-l.mjs → getClasses-DaWzwT2S.mjs} +1 -1
  381. package/dist/{getClasses-_sZDgS-l.mjs.map → getClasses-DaWzwT2S.mjs.map} +1 -1
  382. package/dist/{getClasses-BQLj0MHF.js → getClasses-qqI6x4f4.js} +1 -1
  383. package/dist/{getClasses-BQLj0MHF.js.map → getClasses-qqI6x4f4.js.map} +1 -1
  384. package/dist/{getElement-D5DvkPzw.mjs → getElement-0_htvrFw.mjs} +1 -1
  385. package/dist/{getElement-D5DvkPzw.mjs.map → getElement-0_htvrFw.mjs.map} +1 -1
  386. package/dist/{getElement-BXXYfxYW.js → getElement-CxWWOx3K.js} +1 -1
  387. package/dist/{getElement-BXXYfxYW.js.map → getElement-CxWWOx3K.js.map} +1 -1
  388. package/dist/{object-CPeShLVx.js → object-BN7QwMcz.js} +1 -1
  389. package/dist/{object-CPeShLVx.js.map → object-BN7QwMcz.js.map} +1 -1
  390. package/dist/{object-B9ZW1_9f.mjs → object-CHQkkner.mjs} +1 -1
  391. package/dist/{object-B9ZW1_9f.mjs.map → object-CHQkkner.mjs.map} +1 -1
  392. package/dist/{registryAccess-B4xlltdn.mjs → registryAccess-C1Ti_nxW.mjs} +1 -1
  393. package/dist/{registryAccess-B4xlltdn.mjs.map → registryAccess-C1Ti_nxW.mjs.map} +1 -1
  394. package/dist/{registryAccess-Be_uJ4EV.js → registryAccess-D-YxwQJq.js} +1 -1
  395. package/dist/{registryAccess-Be_uJ4EV.js.map → registryAccess-D-YxwQJq.js.map} +1 -1
  396. package/dist/src/components/BAccordion/index.mjs +1 -1
  397. package/dist/src/components/BAccordion/index.umd.js +1 -1
  398. package/dist/src/components/BAlert/index.mjs +1 -1
  399. package/dist/src/components/BAlert/index.umd.js +1 -1
  400. package/dist/src/components/BApp/index.mjs +1 -1
  401. package/dist/src/components/BApp/index.umd.js +1 -1
  402. package/dist/src/components/BAspect/index.mjs +2 -0
  403. package/dist/src/components/BAspect/index.umd.js +3 -0
  404. package/dist/src/components/BAutocomplete/index.mjs +2 -0
  405. package/dist/src/components/BAutocomplete/index.umd.js +3 -0
  406. package/dist/src/components/BAvatar/index.mjs +1 -1
  407. package/dist/src/components/BAvatar/index.umd.js +1 -1
  408. package/dist/src/components/BBadge/index.mjs +1 -1
  409. package/dist/src/components/BBadge/index.umd.js +1 -1
  410. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  411. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  412. package/dist/src/components/BButton/index.mjs +3 -3
  413. package/dist/src/components/BButton/index.umd.js +3 -3
  414. package/dist/src/components/BCard/index.mjs +2 -2
  415. package/dist/src/components/BCard/index.umd.js +2 -2
  416. package/dist/src/components/BCarousel/index.mjs +1 -1
  417. package/dist/src/components/BCarousel/index.umd.js +1 -1
  418. package/dist/src/components/BCol/index.mjs +1 -1
  419. package/dist/src/components/BCol/index.umd.js +1 -1
  420. package/dist/src/components/BCollapse/index.mjs +1 -1
  421. package/dist/src/components/BCollapse/index.umd.js +1 -1
  422. package/dist/src/components/BContainer/index.mjs +3 -3
  423. package/dist/src/components/BContainer/index.umd.js +3 -3
  424. package/dist/src/components/BDateField/index.mjs +1 -1
  425. package/dist/src/components/BDateField/index.umd.js +1 -1
  426. package/dist/src/components/BDatePicker/index.mjs +1 -1
  427. package/dist/src/components/BDatePicker/index.umd.js +1 -1
  428. package/dist/src/components/BDropdown/index.mjs +2 -2
  429. package/dist/src/components/BDropdown/index.umd.js +2 -2
  430. package/dist/src/components/BForm/index.mjs +3 -3
  431. package/dist/src/components/BForm/index.umd.js +3 -3
  432. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  433. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  434. package/dist/src/components/BFormFile/index.mjs +1 -1
  435. package/dist/src/components/BFormFile/index.umd.js +1 -1
  436. package/dist/src/components/BFormGroup/index.mjs +1 -1
  437. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  438. package/dist/src/components/BFormInput/index.mjs +1 -1
  439. package/dist/src/components/BFormInput/index.umd.js +1 -1
  440. package/dist/src/components/BFormRadio/index.mjs +1 -1
  441. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  442. package/dist/src/components/BFormRating/index.mjs +1 -1
  443. package/dist/src/components/BFormRating/index.umd.js +1 -1
  444. package/dist/src/components/BFormSelect/index.mjs +2 -2
  445. package/dist/src/components/BFormSelect/index.umd.js +3 -3
  446. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  447. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  448. package/dist/src/components/BFormTags/index.mjs +2 -1
  449. package/dist/src/components/BFormTags/index.umd.js +3 -2
  450. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  451. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  452. package/dist/src/components/BImg/index.mjs +1 -1
  453. package/dist/src/components/BImg/index.umd.js +1 -1
  454. package/dist/src/components/BInputGroup/index.mjs +2 -1
  455. package/dist/src/components/BInputGroup/index.umd.js +3 -2
  456. package/dist/src/components/BLink/index.mjs +1 -1
  457. package/dist/src/components/BLink/index.umd.js +1 -1
  458. package/dist/src/components/BListGroup/index.mjs +1 -1
  459. package/dist/src/components/BListGroup/index.umd.js +1 -1
  460. package/dist/src/components/BModal/index.mjs +1 -1
  461. package/dist/src/components/BModal/index.umd.js +1 -1
  462. package/dist/src/components/BNav/index.mjs +1 -1
  463. package/dist/src/components/BNav/index.umd.js +1 -1
  464. package/dist/src/components/BNavbar/index.mjs +1 -1
  465. package/dist/src/components/BNavbar/index.umd.js +1 -1
  466. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  467. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  468. package/dist/src/components/BOtpInput/index.mjs +2 -0
  469. package/dist/src/components/BOtpInput/index.umd.js +3 -0
  470. package/dist/src/components/BOverlay/index.mjs +1 -1
  471. package/dist/src/components/BOverlay/index.umd.js +1 -1
  472. package/dist/src/components/BPagination/index.mjs +1 -1
  473. package/dist/src/components/BPagination/index.umd.js +1 -1
  474. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  475. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  476. package/dist/src/components/BPopover/index.mjs +1 -1
  477. package/dist/src/components/BPopover/index.umd.js +1 -1
  478. package/dist/src/components/BProgress/index.mjs +1 -1
  479. package/dist/src/components/BProgress/index.umd.js +1 -1
  480. package/dist/src/components/BRow/index.mjs +1 -1
  481. package/dist/src/components/BRow/index.umd.js +1 -1
  482. package/dist/src/components/BSpinner/index.mjs +1 -1
  483. package/dist/src/components/BSpinner/index.umd.js +1 -1
  484. package/dist/src/components/BTable/index.mjs +2 -2
  485. package/dist/src/components/BTable/index.umd.js +2 -2
  486. package/dist/src/components/BTabs/index.mjs +1 -1
  487. package/dist/src/components/BTabs/index.umd.js +1 -1
  488. package/dist/src/components/BTimeField/index.mjs +1 -1
  489. package/dist/src/components/BTimeField/index.umd.js +1 -1
  490. package/dist/src/components/BToast/index.mjs +1 -1
  491. package/dist/src/components/BToast/index.umd.js +1 -1
  492. package/dist/src/components/BTooltip/index.mjs +1 -1
  493. package/dist/src/components/BTooltip/index.umd.js +1 -1
  494. package/dist/src/components/index.mjs +64 -55
  495. package/dist/src/components/index.mjs.map +1 -1
  496. package/dist/src/components/index.umd.js +72 -60
  497. package/dist/src/components/index.umd.js.map +1 -1
  498. package/dist/src/composables/useColorMode/index.mjs +1 -1
  499. package/dist/src/composables/useColorMode/index.umd.js +1 -1
  500. package/dist/src/composables/useModal/index.mjs +1 -1
  501. package/dist/src/composables/useModal/index.umd.js +1 -1
  502. package/dist/src/composables/usePopover/index.mjs +2 -2
  503. package/dist/src/composables/usePopover/index.umd.js +2 -2
  504. package/dist/src/composables/useScrollLock/index.mjs +1 -1
  505. package/dist/src/composables/useScrollLock/index.umd.js +1 -1
  506. package/dist/src/composables/useScrollspy/index.mjs +2 -2
  507. package/dist/src/composables/useScrollspy/index.umd.js +2 -2
  508. package/dist/src/composables/useToast/index.mjs +1 -1
  509. package/dist/src/composables/useToast/index.umd.js +1 -1
  510. package/dist/src/composables/useToggle/index.mjs +1 -1
  511. package/dist/src/composables/useToggle/index.umd.js +1 -1
  512. package/dist/src/directives/BPopover/index.mjs +2 -2
  513. package/dist/src/directives/BPopover/index.umd.js +2 -2
  514. package/dist/src/directives/BScrollspy/index.mjs +2 -2
  515. package/dist/src/directives/BScrollspy/index.umd.js +2 -2
  516. package/dist/src/directives/BToggle/index.mjs +3 -3
  517. package/dist/src/directives/BToggle/index.umd.js +3 -3
  518. package/dist/src/directives/BTooltip/index.mjs +2 -2
  519. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  520. package/dist/src/resolvers/index.mjs +1 -1
  521. package/dist/src/resolvers/index.umd.js +1 -1
  522. package/dist/src/types/index.mjs +1 -1
  523. package/dist/src/types/index.umd.js +1 -1
  524. package/dist/src/utils/index.mjs +1 -1
  525. package/dist/src/utils/index.umd.js +1 -1
  526. package/dist/{stringUtils-hUreqC0N.js → stringUtils-BwKOASdU.js} +2 -2
  527. package/dist/{stringUtils-hUreqC0N.js.map → stringUtils-BwKOASdU.js.map} +1 -1
  528. package/dist/{stringUtils-BP8rZgjn.mjs → stringUtils-CslYpDTt.mjs} +2 -2
  529. package/dist/{stringUtils-BP8rZgjn.mjs.map → stringUtils-CslYpDTt.mjs.map} +1 -1
  530. package/dist/types/BootstrapVueOptions.d.mts +7 -1
  531. package/dist/types/BootstrapVueOptions.d.ts +7 -1
  532. package/dist/types/ComponentProps.d.mts +63 -3
  533. package/dist/types/ComponentProps.d.ts +63 -3
  534. package/dist/types/ComponentSlots.d.mts +17 -0
  535. package/dist/types/ComponentSlots.d.ts +17 -0
  536. package/dist/{useAlignment-CwuLc9mf.mjs → useAlignment-BiCREohQ.mjs} +1 -1
  537. package/dist/{useAlignment-CwuLc9mf.mjs.map → useAlignment-BiCREohQ.mjs.map} +1 -1
  538. package/dist/{useAlignment-CY-mnB2p.js → useAlignment-D5xKBRez.js} +1 -1
  539. package/dist/{useAlignment-CY-mnB2p.js.map → useAlignment-D5xKBRez.js.map} +1 -1
  540. package/dist/{useAriaInvalid-BYMq9BBX.js → useAriaInvalid-CHHPHNLU.js} +1 -1
  541. package/dist/{useAriaInvalid-BYMq9BBX.js.map → useAriaInvalid-CHHPHNLU.js.map} +1 -1
  542. package/dist/{useAriaInvalid-01Dd60GC.mjs → useAriaInvalid-apOwgexm.mjs} +1 -1
  543. package/dist/{useAriaInvalid-01Dd60GC.mjs.map → useAriaInvalid-apOwgexm.mjs.map} +1 -1
  544. package/dist/{useColorVariantClasses-GuDw8a_O.mjs → useColorVariantClasses-B6Me_Kx6.mjs} +1 -1
  545. package/dist/{useColorVariantClasses-GuDw8a_O.mjs.map → useColorVariantClasses-B6Me_Kx6.mjs.map} +1 -1
  546. package/dist/{useColorVariantClasses-DVaQDVQC.js → useColorVariantClasses-CEfOwjPv.js} +1 -1
  547. package/dist/{useColorVariantClasses-DVaQDVQC.js.map → useColorVariantClasses-CEfOwjPv.js.map} +1 -1
  548. package/dist/{useCountdownHover-CaF8_TRT.js → useCountdownHover-8bwLWYoN.js} +2 -2
  549. package/dist/{useCountdownHover-CaF8_TRT.js.map → useCountdownHover-8bwLWYoN.js.map} +1 -1
  550. package/dist/{useCountdownHover-CTM7QEJ-.mjs → useCountdownHover-t9O7DHoK.mjs} +2 -2
  551. package/dist/{useCountdownHover-CTM7QEJ-.mjs.map → useCountdownHover-t9O7DHoK.mjs.map} +1 -1
  552. package/dist/{useDateField-qsRHISMn.js → useDateField-COTiu3aN.js} +8 -321
  553. package/dist/useDateField-COTiu3aN.js.map +1 -0
  554. package/dist/{useDateField-PQjSLAVI.mjs → useDateField-DmmXa0_5.mjs} +5 -258
  555. package/dist/useDateField-DmmXa0_5.mjs.map +1 -0
  556. package/dist/{useDefaults-CCWS15M8.mjs → useDefaults-BKgBaqOV.mjs} +1 -1
  557. package/dist/{useDefaults-CCWS15M8.mjs.map → useDefaults-BKgBaqOV.mjs.map} +1 -1
  558. package/dist/{useDefaults-DK6Y9lar.js → useDefaults-DsLf4iRY.js} +1 -1
  559. package/dist/{useDefaults-DK6Y9lar.js.map → useDefaults-DsLf4iRY.js.map} +1 -1
  560. package/dist/{useFormCheck-TOhpqkZ9.mjs → useFormCheck-CJvIDxcO.mjs} +3 -3
  561. package/dist/{useFormCheck-TOhpqkZ9.mjs.map → useFormCheck-CJvIDxcO.mjs.map} +1 -1
  562. package/dist/{useFormCheck-DXM9Wj2i.js → useFormCheck-UHNy_iZ0.js} +3 -3
  563. package/dist/{useFormCheck-DXM9Wj2i.js.map → useFormCheck-UHNy_iZ0.js.map} +1 -1
  564. package/dist/{useFormInput-DeJGz9t9.mjs → useFormInput-BgJCT9k_.mjs} +6 -6
  565. package/dist/{useFormInput-DeJGz9t9.mjs.map → useFormInput-BgJCT9k_.mjs.map} +1 -1
  566. package/dist/{useFormInput-AX7ikSmn.js → useFormInput-CsR38QR6.js} +6 -6
  567. package/dist/{useFormInput-AX7ikSmn.js.map → useFormInput-CsR38QR6.js.map} +1 -1
  568. package/dist/useFormSelect-CANw3ZJG.mjs +45 -0
  569. package/dist/useFormSelect-CANw3ZJG.mjs.map +1 -0
  570. package/dist/useFormSelect-nQbGZSi8.js +51 -0
  571. package/dist/useFormSelect-nQbGZSi8.js.map +1 -0
  572. package/dist/useForwardExpose-4OUimdPL.mjs +68 -0
  573. package/dist/useForwardExpose-4OUimdPL.mjs.map +1 -0
  574. package/dist/useForwardExpose-DrJOy0jY.js +80 -0
  575. package/dist/useForwardExpose-DrJOy0jY.js.map +1 -0
  576. package/dist/{useId-CCwnEmGh.mjs → useId-BKZFSYm8.mjs} +1 -1
  577. package/dist/{useId-CCwnEmGh.mjs.map → useId-BKZFSYm8.mjs.map} +1 -1
  578. package/dist/{useId-DTrBK9CE.js → useId-DHrBgM7P.js} +1 -1
  579. package/dist/{useId-DTrBK9CE.js.map → useId-DHrBgM7P.js.map} +1 -1
  580. package/dist/useKbd-IZRktImL.mjs +88 -0
  581. package/dist/useKbd-IZRktImL.mjs.map +1 -0
  582. package/dist/useKbd-ZZushx7D.js +105 -0
  583. package/dist/useKbd-ZZushx7D.js.map +1 -0
  584. package/dist/{useNumberishToStyle-uj-NwKpF.mjs → useNumberishToStyle-DEqGK1UH.mjs} +2 -2
  585. package/dist/{useNumberishToStyle-uj-NwKpF.mjs.map → useNumberishToStyle-DEqGK1UH.mjs.map} +1 -1
  586. package/dist/{useNumberishToStyle-CluQ-WT4.js → useNumberishToStyle-DFf9fokb.js} +2 -2
  587. package/dist/{useNumberishToStyle-CluQ-WT4.js.map → useNumberishToStyle-DFf9fokb.js.map} +1 -1
  588. package/dist/{useRadiusElementClasses-CyDq8RO7.mjs → useRadiusElementClasses-BlrN-T6U.mjs} +1 -1
  589. package/dist/{useRadiusElementClasses-CyDq8RO7.mjs.map → useRadiusElementClasses-BlrN-T6U.mjs.map} +1 -1
  590. package/dist/{useRadiusElementClasses-D6FwziNh.js → useRadiusElementClasses-C13_PhPM.js} +1 -1
  591. package/dist/{useRadiusElementClasses-D6FwziNh.js.map → useRadiusElementClasses-C13_PhPM.js.map} +1 -1
  592. package/dist/{useRtl-BlPLBmTe.js → useRtl-DXAooTrl.js} +1 -1
  593. package/dist/{useRtl-BlPLBmTe.js.map → useRtl-DXAooTrl.js.map} +1 -1
  594. package/dist/{useRtl-DQ5v5L9s.mjs → useRtl-DpwU_RM8.mjs} +1 -1
  595. package/dist/{useRtl-DQ5v5L9s.mjs.map → useRtl-DpwU_RM8.mjs.map} +1 -1
  596. package/dist/{useSafeScrollLock-CP2B7aXF.js → useSafeScrollLock-Bm9RxDoY.js} +2 -2
  597. package/dist/{useSafeScrollLock-CP2B7aXF.js.map → useSafeScrollLock-Bm9RxDoY.js.map} +1 -1
  598. package/dist/{useSafeScrollLock-C9UxwgUo.mjs → useSafeScrollLock-D62o8jto.mjs} +2 -2
  599. package/dist/{useSafeScrollLock-C9UxwgUo.mjs.map → useSafeScrollLock-D62o8jto.mjs.map} +1 -1
  600. package/dist/{useShowHide-BFr32vgn.js → useShowHide-BTCaeU5j.js} +5 -5
  601. package/dist/useShowHide-BTCaeU5j.js.map +1 -0
  602. package/dist/{useShowHide-wBe7O9iE.mjs → useShowHide-yAK5dhPT.mjs} +5 -5
  603. package/dist/useShowHide-yAK5dhPT.mjs.map +1 -0
  604. package/dist/{useStateClass-Cnvy2Hnm.js → useStateClass-CJ24hpkn.js} +1 -1
  605. package/dist/{useStateClass-Cnvy2Hnm.js.map → useStateClass-CJ24hpkn.js.map} +1 -1
  606. package/dist/{useStateClass-DKjpw1Pn.mjs → useStateClass-CdmlbrGn.mjs} +1 -1
  607. package/dist/{useStateClass-DKjpw1Pn.mjs.map → useStateClass-CdmlbrGn.mjs.map} +1 -1
  608. package/dist/{utils-CY6CnVNO.js → utils-CaC78Zdk.js} +2 -2
  609. package/dist/{utils-CY6CnVNO.js.map → utils-CaC78Zdk.js.map} +1 -1
  610. package/dist/{utils-C-oJqlar.mjs → utils-CgwCsk6U.mjs} +2 -2
  611. package/dist/{utils-C-oJqlar.mjs.map → utils-CgwCsk6U.mjs.map} +1 -1
  612. package/package.json +9 -1
  613. package/src/components/BAutocomplete/_autocomplete.scss +136 -0
  614. package/src/components/BOtpInput/_otp-input.scss +29 -0
  615. package/src/styles/styles.scss +2 -0
  616. package/dist/BCarousel-BH6WIvJx.js.map +0 -1
  617. package/dist/BCarousel-C3CA_wGV.mjs.map +0 -1
  618. package/dist/BDatePicker-DPtAqGyV.mjs.map +0 -1
  619. package/dist/BDatePicker-rdtRZlra.js.map +0 -1
  620. package/dist/BDropdown-C2L69dLN.js.map +0 -1
  621. package/dist/BDropdown-CKnx6hUH.mjs.map +0 -1
  622. package/dist/BFormTags-Cobh04P9.mjs.map +0 -1
  623. package/dist/BFormTags-pK9i3cOB.js.map +0 -1
  624. package/dist/BInputGroup-B8fKBtip.mjs.map +0 -1
  625. package/dist/BInputGroup-Cr0qLUds.js.map +0 -1
  626. package/dist/BModal-TCXrZEZk.mjs.map +0 -1
  627. package/dist/BModal-d3FKaKhA.js.map +0 -1
  628. package/dist/BOffcanvas-BklEA-4x.mjs.map +0 -1
  629. package/dist/BOffcanvas-YsVap-9w.js.map +0 -1
  630. package/dist/BootstrapVueOptions-CVxLmDvx.js.map +0 -1
  631. package/dist/BootstrapVueOptions-Dtdn7_AJ.mjs.map +0 -1
  632. package/dist/functions-C6AToZGR.mjs.map +0 -1
  633. package/dist/functions-DCQKr6wc.js.map +0 -1
  634. package/dist/useDateField-PQjSLAVI.mjs.map +0 -1
  635. package/dist/useDateField-qsRHISMn.js.map +0 -1
  636. package/dist/useFormSelect-DCThI8EA.js +0 -92
  637. package/dist/useFormSelect-DCThI8EA.js.map +0 -1
  638. package/dist/useFormSelect-_-ln6FKQ.mjs +0 -80
  639. package/dist/useFormSelect-_-ln6FKQ.mjs.map +0 -1
  640. package/dist/useShowHide-BFr32vgn.js.map +0 -1
  641. package/dist/useShowHide-wBe7O9iE.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
2
  const require_keys = require("./keys-durSVUrO.js");
3
- const require_dist = require("./dist-B_c893QG.js");
4
- const require_classes = require("./classes-vdSVs0gA.js");
5
- const require_functions = require("./functions-DCQKr6wc.js");
3
+ const require_dist = require("./dist-BJ15ThEs.js");
4
+ const require_classes = require("./classes-D5wrmmVs.js");
5
+ const require_functions = require("./functions-Bx1HDqMv.js");
6
6
  let vue = require("vue");
7
7
  //#region src/composables/useShowHide.ts
8
8
  var fadeBaseTransitionProps = {
@@ -76,7 +76,7 @@ var useShowHide = (modelValue, props, emit, element, computedId, options = {
76
76
  });
77
77
  require_dist.useEventListener(element, "bv-toggle", () => {
78
78
  modelValue.value = !modelValue.value;
79
- });
79
+ }, { passive: true });
80
80
  const buildTriggerableEvent = (type, opts = {}) => new require_classes.BvTriggerableEvent(type, {
81
81
  cancelable: false,
82
82
  target: element?.value || null,
@@ -433,4 +433,4 @@ Object.defineProperty(exports, "useShowHide", {
433
433
  }
434
434
  });
435
435
 
436
- //# sourceMappingURL=useShowHide-BFr32vgn.js.map
436
+ //# sourceMappingURL=useShowHide-BTCaeU5j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShowHide-BTCaeU5j.js","names":[],"sources":["../src/composables/useShowHide.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EmitFn,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n onUnmounted,\n readonly,\n ref,\n type Ref,\n type TransitionProps,\n watch,\n} from 'vue'\nimport {showHideRegistryKey} from '../utils/keys'\nimport {BvTriggerableEvent} from '../utils'\nimport {useEventListener, useThrottleFn} from '@vueuse/core'\nimport {noop} from '../utils/functions'\n\nexport const fadeBaseTransitionProps = {\n name: 'fade',\n enterActiveClass: '',\n enterFromClass: 'showing',\n enterToClass: '',\n leaveActiveClass: '',\n leaveFromClass: '',\n leaveToClass: 'showing',\n css: true,\n} as const satisfies TransitionProps\n\nexport const useShowHide = (\n modelValue: Ref<boolean | number>,\n props: {\n visible?: boolean\n show?: boolean\n noAnimation?: boolean\n noFade?: boolean\n noCloseOnBackdrop?: boolean\n noCloseOnEsc?: boolean\n transitionProps?: TransitionProps\n lazy?: boolean\n initialAnimation?: boolean\n delay?:\n | number\n | {\n show: number\n hide: number\n }\n } & Record<string, unknown>,\n emit: EmitFn,\n element: Ref<HTMLElement | null>,\n computedId: Ref<string>,\n options: {\n transitionProps?: TransitionProps\n showFn?: () => void\n hideFn?: () => void\n } = {\n transitionProps: {},\n showFn: () => {},\n hideFn: () => {},\n }\n) => {\n let noAction = false\n const initialShow = (!!modelValue.value && !props.initialAnimation) || props.visible || false\n const showRef = ref<boolean>(initialShow)\n const renderRef = ref<boolean>(initialShow)\n const renderBackdropRef = ref<boolean>(initialShow)\n\n let isCountdown = typeof modelValue.value !== 'boolean'\n\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== 'boolean'\n if (noAction) {\n noAction = false\n return\n }\n if (modelValue.value) {\n show()\n } else {\n hide('modelValue', true)\n }\n })\n\n const localNoAnimation = ref(initialShow)\n const localTemporaryHide = ref(false)\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n )\n let isMounted = false\n onMounted(() => {\n isMounted = true\n if (!props.show && initialShow) {\n // show without delay or animation\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n return\n }\n localNoAnimation.value = true\n if (!modelValue.value) {\n noAction = true\n modelValue.value = true\n }\n renderRef.value = true\n renderBackdropRef.value = true\n isVisible.value = true\n backdropVisible.value = true\n backdropReady.value = true\n showRef.value = true\n options.showFn?.()\n } else if (props.show || (!!modelValue.value && props.initialAnimation)) {\n show()\n }\n })\n\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true\n\n nextTick(() => {\n if (newval) isVisible.value = true\n if (newval) {\n show()\n } else {\n hide('visible-prop', true)\n }\n })\n }\n )\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show()\n } else {\n hide('show-prop', true)\n }\n }\n )\n // todo: remove\n useEventListener(\n element,\n 'bv-toggle',\n () => {\n modelValue.value = !modelValue.value\n },\n {passive: true}\n )\n\n const buildTriggerableEvent = (\n type: string,\n opts: Readonly<Partial<BvTriggerableEvent>> = {}\n ): BvTriggerableEvent =>\n new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value,\n })\n\n let showTimeout: ReturnType<typeof setTimeout> | undefined\n let hideTimeout: ReturnType<typeof setTimeout> | undefined\n let _Resolve: ((value: boolean | string) => void) | undefined\n let _Promise: Promise<boolean | string> | undefined\n let _resolveOnHide: boolean | undefined\n const show = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true)\n _resolveOnHide = resolveOnHide\n if (showRef.value && !hideTimeout && _Promise) return _Promise\n\n _Promise = new Promise<boolean | string>((resolve) => {\n _Resolve = resolve\n })\n\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n if (isVisible.value) {\n isVisible.value = false\n }\n if (modelValue.value && !isCountdown) {\n noAction = true\n nextTick(() => {\n modelValue.value = false\n })\n }\n _Resolve?.('show-prevented')\n return _Promise\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = undefined\n }\n renderRef.value = true\n renderBackdropRef.value = true\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === undefined) {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n return\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n },\n typeof props.delay === 'number' ? props.delay : props.delay?.show || 0\n )\n })\n return _Promise\n }\n\n let leaveTrigger: string | undefined\n const hide = (trigger?: string, noTriggerEmit?: boolean): Promise<string> => {\n if (!showRef.value && !showTimeout && !renderRef.value) return Promise.resolve('')\n if (!_Promise)\n _Promise = new Promise<string>((resolve) => {\n ;(_Resolve as (value: string | PromiseLike<string>) => void) = resolve\n })\n if (typeof trigger !== 'string') trigger = undefined\n leaveTrigger = trigger\n const event = buildTriggerableEvent('hide', {cancelable: true, trigger})\n const event2 = buildTriggerableEvent(trigger || 'ignore', {cancelable: true, trigger})\n if (\n (trigger === 'backdrop' && props.noCloseOnBackdrop) ||\n (trigger === 'esc' && props.noCloseOnEsc)\n ) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2)\n }\n emit('hide', event)\n\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true\n modelValue.value = true\n })\n }\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n trapActive.value = false\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n if (!localTemporaryHide.value) renderRef.value = false\n renderBackdropRef.value = false\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return\n hideTimeout = undefined\n isLeaving.value = true\n showRef.value = false\n options.hideFn?.()\n if (modelValue.value) {\n noAction = true\n modelValue.value = isCountdown ? 0 : false\n }\n },\n localNoAnimation.value\n ? 0\n : typeof props.delay === 'number'\n ? props.delay\n : props.delay?.hide || 0\n )\n return _Promise as Promise<string>\n }\n const throttleHide = useThrottleFn((a) => hide(a), 500)\n const throttleShow = useThrottleFn(() => show(), 500)\n\n const toggle = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return Promise.resolve('toggle-prevented')\n }\n if (showRef.value) {\n return hide('toggle-function', true)\n }\n return show(resolveOnHide)\n }\n const triggerToggle = () => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return\n }\n if (showRef.value) {\n hide('toggle-trigger', true)\n } else {\n show()\n }\n }\n const triggerRegistry: {trigger: string; el: Element}[] = []\n const registerTrigger = (trigger: string, el: Element) => {\n triggerRegistry.push({trigger, el})\n el.addEventListener(trigger, triggerToggle)\n checkVisibility(el)\n }\n const unregisterTrigger = (trigger: string, el: Element, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el)\n if (idx > -1) {\n triggerRegistry.splice(idx, 1)\n el.removeEventListener(trigger, triggerToggle)\n if (clean) {\n el.removeAttribute('aria-expanded')\n el.classList.remove('collapsed')\n el.classList.remove('not-collapsed')\n }\n }\n }\n\n const appRegistry = inject(showHideRegistryKey, null)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance() as ComponentInternalInstance,\n })\n const checkVisibility = (el: Element) => {\n el.setAttribute('aria-expanded', modelValue.value ? 'true' : 'false')\n el.classList.toggle('collapsed', !modelValue.value)\n el.classList.toggle('not-collapsed', !!modelValue.value)\n }\n\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el)\n })\n })\n\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId)\n })\n\n onBeforeUnmount(() => {\n appRegistry?.unregister()\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle)\n })\n })\n onUnmounted(() => {\n isMounted = false\n clearTimeout(showTimeout)\n clearTimeout(hideTimeout)\n showTimeout = undefined\n hideTimeout = undefined\n })\n\n const lazyLoadCompleted = ref(false)\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true\n }\n\n const isLeaving = ref(false)\n const isActive = ref(initialShow)\n const isVisible = ref(initialShow)\n\n const onBeforeEnter: TransitionProps['onBeforeEnter'] = [\n ...[\n options.transitionProps?.onBeforeEnter ?? noop,\n props.transitionProps?.onBeforeEnter ?? noop,\n ].flat(),\n () => {\n isActive.value = true\n },\n ]\n\n const onEnter: TransitionProps['onEnter'] = [\n () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // sometimes one just isn't enough (offcanvas on the first load after refresh)\n isVisible.value = true\n })\n })\n },\n ...[options.transitionProps?.onEnter ?? noop, props.transitionProps?.onEnter ?? noop].flat(),\n ]\n const onAfterEnter: TransitionProps['onAfterEnter'] = [\n markLazyLoadCompleted,\n ...[\n options.transitionProps?.onAfterEnter ?? noop,\n props.transitionProps?.onAfterEnter ?? noop,\n ].flat(),\n () => {\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false\n }\n requestAnimationFrame(() => {\n trapActive.value = true\n nextTick(() => {\n emit('shown', buildTriggerableEvent('shown', {cancelable: false}))\n })\n })\n if (!_resolveOnHide) {\n _Resolve?.(true)\n _Promise = undefined\n _Resolve = undefined\n }\n },\n ]\n\n const onBeforeLeave: TransitionProps['onBeforeLeave'] = [\n () => {\n if (!isLeaving.value) isLeaving.value = true\n },\n ...[\n options.transitionProps?.onBeforeLeave ?? noop,\n props.transitionProps?.onBeforeLeave ?? noop,\n ].flat(),\n () => {\n trapActive.value = false\n },\n ]\n\n const onLeave: TransitionProps['onLeave'] = [\n () => {\n isVisible.value = false\n },\n ...[options.transitionProps?.onLeave ?? noop, props.transitionProps?.onLeave ?? noop].flat(),\n ]\n\n const onAfterLeave: TransitionProps['onAfterLeave'] = [\n () => {\n emit('hidden', buildTriggerableEvent('hidden', {trigger: leaveTrigger, cancelable: false}))\n },\n ...[\n options.transitionProps?.onAfterLeave ?? noop,\n props.transitionProps?.onAfterLeave ?? noop,\n ].flat(),\n () => {\n isLeaving.value = false\n isActive.value = false\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false\n })\n _Resolve?.(leaveTrigger || '')\n _Promise = undefined\n _Resolve = undefined\n leaveTrigger = undefined\n },\n ]\n\n const contentShowing = computed(\n () =>\n localTemporaryHide.value === true ||\n isActive.value === true ||\n props.lazy === false ||\n (props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false)\n )\n const trapActive = ref(false)\n const backdropVisible = ref(false)\n const backdropReady = ref(false)\n\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n } satisfies TransitionProps\n return {\n showRef: readonly(showRef),\n renderRef: readonly(renderRef),\n renderBackdropRef: readonly(renderBackdropRef),\n isVisible: readonly(isVisible),\n isActive: readonly(isActive),\n trapActive: readonly(trapActive),\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation: readonly(localNoAnimation),\n setLocalNoAnimation: (value: boolean) => {\n localNoAnimation.value = value\n },\n localTemporaryHide: readonly(localTemporaryHide),\n setLocalTemporaryHide: (value: boolean) => {\n localTemporaryHide.value = value\n },\n isLeaving: readonly(isLeaving),\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions,\n } satisfies TransitionProps,\n\n lazyLoadCompleted: readonly(lazyLoadCompleted),\n markLazyLoadCompleted,\n contentShowing,\n backdropReady: readonly(backdropReady),\n backdropVisible: readonly(backdropVisible),\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true\n })\n })\n backdropReady.value = false\n },\n onAfterEnter: () => {\n backdropReady.value = true\n },\n onBeforeLeave: () => {\n backdropVisible.value = false\n },\n onAfterLeave: () => {\n backdropReady.value = false\n requestAnimationFrame(() => {\n renderBackdropRef.value = false\n })\n },\n } satisfies TransitionProps,\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { x as showHideRegistryKey } from "./keys-CQKrwmvN.mjs";
2
- import { I as useThrottleFn, p as useEventListener } from "./dist-Dn5blevd.mjs";
3
- import { r as BvTriggerableEvent } from "./classes-D6JE1Dex.mjs";
4
- import { t as noop } from "./functions-C6AToZGR.mjs";
2
+ import { R as useThrottleFn, p as useEventListener } from "./dist-B10a-gZ8.mjs";
3
+ import { r as BvTriggerableEvent } from "./classes-B0E5Y78Y.mjs";
4
+ import { t as noop } from "./functions-BcMenQqL.mjs";
5
5
  import { computed, getCurrentInstance, inject, nextTick, onBeforeUnmount, onMounted, onUnmounted, readonly, ref, watch } from "vue";
6
6
  //#region src/composables/useShowHide.ts
7
7
  var fadeBaseTransitionProps = {
@@ -75,7 +75,7 @@ var useShowHide = (modelValue, props, emit, element, computedId, options = {
75
75
  });
76
76
  useEventListener(element, "bv-toggle", () => {
77
77
  modelValue.value = !modelValue.value;
78
- });
78
+ }, { passive: true });
79
79
  const buildTriggerableEvent = (type, opts = {}) => new BvTriggerableEvent(type, {
80
80
  cancelable: false,
81
81
  target: element?.value || null,
@@ -427,4 +427,4 @@ var useShowHide = (modelValue, props, emit, element, computedId, options = {
427
427
  //#endregion
428
428
  export { useShowHide as t };
429
429
 
430
- //# sourceMappingURL=useShowHide-wBe7O9iE.mjs.map
430
+ //# sourceMappingURL=useShowHide-yAK5dhPT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShowHide-yAK5dhPT.mjs","names":[],"sources":["../src/composables/useShowHide.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EmitFn,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n onUnmounted,\n readonly,\n ref,\n type Ref,\n type TransitionProps,\n watch,\n} from 'vue'\nimport {showHideRegistryKey} from '../utils/keys'\nimport {BvTriggerableEvent} from '../utils'\nimport {useEventListener, useThrottleFn} from '@vueuse/core'\nimport {noop} from '../utils/functions'\n\nexport const fadeBaseTransitionProps = {\n name: 'fade',\n enterActiveClass: '',\n enterFromClass: 'showing',\n enterToClass: '',\n leaveActiveClass: '',\n leaveFromClass: '',\n leaveToClass: 'showing',\n css: true,\n} as const satisfies TransitionProps\n\nexport const useShowHide = (\n modelValue: Ref<boolean | number>,\n props: {\n visible?: boolean\n show?: boolean\n noAnimation?: boolean\n noFade?: boolean\n noCloseOnBackdrop?: boolean\n noCloseOnEsc?: boolean\n transitionProps?: TransitionProps\n lazy?: boolean\n initialAnimation?: boolean\n delay?:\n | number\n | {\n show: number\n hide: number\n }\n } & Record<string, unknown>,\n emit: EmitFn,\n element: Ref<HTMLElement | null>,\n computedId: Ref<string>,\n options: {\n transitionProps?: TransitionProps\n showFn?: () => void\n hideFn?: () => void\n } = {\n transitionProps: {},\n showFn: () => {},\n hideFn: () => {},\n }\n) => {\n let noAction = false\n const initialShow = (!!modelValue.value && !props.initialAnimation) || props.visible || false\n const showRef = ref<boolean>(initialShow)\n const renderRef = ref<boolean>(initialShow)\n const renderBackdropRef = ref<boolean>(initialShow)\n\n let isCountdown = typeof modelValue.value !== 'boolean'\n\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== 'boolean'\n if (noAction) {\n noAction = false\n return\n }\n if (modelValue.value) {\n show()\n } else {\n hide('modelValue', true)\n }\n })\n\n const localNoAnimation = ref(initialShow)\n const localTemporaryHide = ref(false)\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n )\n let isMounted = false\n onMounted(() => {\n isMounted = true\n if (!props.show && initialShow) {\n // show without delay or animation\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n return\n }\n localNoAnimation.value = true\n if (!modelValue.value) {\n noAction = true\n modelValue.value = true\n }\n renderRef.value = true\n renderBackdropRef.value = true\n isVisible.value = true\n backdropVisible.value = true\n backdropReady.value = true\n showRef.value = true\n options.showFn?.()\n } else if (props.show || (!!modelValue.value && props.initialAnimation)) {\n show()\n }\n })\n\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true\n\n nextTick(() => {\n if (newval) isVisible.value = true\n if (newval) {\n show()\n } else {\n hide('visible-prop', true)\n }\n })\n }\n )\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show()\n } else {\n hide('show-prop', true)\n }\n }\n )\n // todo: remove\n useEventListener(\n element,\n 'bv-toggle',\n () => {\n modelValue.value = !modelValue.value\n },\n {passive: true}\n )\n\n const buildTriggerableEvent = (\n type: string,\n opts: Readonly<Partial<BvTriggerableEvent>> = {}\n ): BvTriggerableEvent =>\n new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value,\n })\n\n let showTimeout: ReturnType<typeof setTimeout> | undefined\n let hideTimeout: ReturnType<typeof setTimeout> | undefined\n let _Resolve: ((value: boolean | string) => void) | undefined\n let _Promise: Promise<boolean | string> | undefined\n let _resolveOnHide: boolean | undefined\n const show = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true)\n _resolveOnHide = resolveOnHide\n if (showRef.value && !hideTimeout && _Promise) return _Promise\n\n _Promise = new Promise<boolean | string>((resolve) => {\n _Resolve = resolve\n })\n\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n if (isVisible.value) {\n isVisible.value = false\n }\n if (modelValue.value && !isCountdown) {\n noAction = true\n nextTick(() => {\n modelValue.value = false\n })\n }\n _Resolve?.('show-prevented')\n return _Promise\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = undefined\n }\n renderRef.value = true\n renderBackdropRef.value = true\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === undefined) {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n return\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n },\n typeof props.delay === 'number' ? props.delay : props.delay?.show || 0\n )\n })\n return _Promise\n }\n\n let leaveTrigger: string | undefined\n const hide = (trigger?: string, noTriggerEmit?: boolean): Promise<string> => {\n if (!showRef.value && !showTimeout && !renderRef.value) return Promise.resolve('')\n if (!_Promise)\n _Promise = new Promise<string>((resolve) => {\n ;(_Resolve as (value: string | PromiseLike<string>) => void) = resolve\n })\n if (typeof trigger !== 'string') trigger = undefined\n leaveTrigger = trigger\n const event = buildTriggerableEvent('hide', {cancelable: true, trigger})\n const event2 = buildTriggerableEvent(trigger || 'ignore', {cancelable: true, trigger})\n if (\n (trigger === 'backdrop' && props.noCloseOnBackdrop) ||\n (trigger === 'esc' && props.noCloseOnEsc)\n ) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2)\n }\n emit('hide', event)\n\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true\n modelValue.value = true\n })\n }\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n trapActive.value = false\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n if (!localTemporaryHide.value) renderRef.value = false\n renderBackdropRef.value = false\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return\n hideTimeout = undefined\n isLeaving.value = true\n showRef.value = false\n options.hideFn?.()\n if (modelValue.value) {\n noAction = true\n modelValue.value = isCountdown ? 0 : false\n }\n },\n localNoAnimation.value\n ? 0\n : typeof props.delay === 'number'\n ? props.delay\n : props.delay?.hide || 0\n )\n return _Promise as Promise<string>\n }\n const throttleHide = useThrottleFn((a) => hide(a), 500)\n const throttleShow = useThrottleFn(() => show(), 500)\n\n const toggle = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return Promise.resolve('toggle-prevented')\n }\n if (showRef.value) {\n return hide('toggle-function', true)\n }\n return show(resolveOnHide)\n }\n const triggerToggle = () => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return\n }\n if (showRef.value) {\n hide('toggle-trigger', true)\n } else {\n show()\n }\n }\n const triggerRegistry: {trigger: string; el: Element}[] = []\n const registerTrigger = (trigger: string, el: Element) => {\n triggerRegistry.push({trigger, el})\n el.addEventListener(trigger, triggerToggle)\n checkVisibility(el)\n }\n const unregisterTrigger = (trigger: string, el: Element, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el)\n if (idx > -1) {\n triggerRegistry.splice(idx, 1)\n el.removeEventListener(trigger, triggerToggle)\n if (clean) {\n el.removeAttribute('aria-expanded')\n el.classList.remove('collapsed')\n el.classList.remove('not-collapsed')\n }\n }\n }\n\n const appRegistry = inject(showHideRegistryKey, null)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance() as ComponentInternalInstance,\n })\n const checkVisibility = (el: Element) => {\n el.setAttribute('aria-expanded', modelValue.value ? 'true' : 'false')\n el.classList.toggle('collapsed', !modelValue.value)\n el.classList.toggle('not-collapsed', !!modelValue.value)\n }\n\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el)\n })\n })\n\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId)\n })\n\n onBeforeUnmount(() => {\n appRegistry?.unregister()\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle)\n })\n })\n onUnmounted(() => {\n isMounted = false\n clearTimeout(showTimeout)\n clearTimeout(hideTimeout)\n showTimeout = undefined\n hideTimeout = undefined\n })\n\n const lazyLoadCompleted = ref(false)\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true\n }\n\n const isLeaving = ref(false)\n const isActive = ref(initialShow)\n const isVisible = ref(initialShow)\n\n const onBeforeEnter: TransitionProps['onBeforeEnter'] = [\n ...[\n options.transitionProps?.onBeforeEnter ?? noop,\n props.transitionProps?.onBeforeEnter ?? noop,\n ].flat(),\n () => {\n isActive.value = true\n },\n ]\n\n const onEnter: TransitionProps['onEnter'] = [\n () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // sometimes one just isn't enough (offcanvas on the first load after refresh)\n isVisible.value = true\n })\n })\n },\n ...[options.transitionProps?.onEnter ?? noop, props.transitionProps?.onEnter ?? noop].flat(),\n ]\n const onAfterEnter: TransitionProps['onAfterEnter'] = [\n markLazyLoadCompleted,\n ...[\n options.transitionProps?.onAfterEnter ?? noop,\n props.transitionProps?.onAfterEnter ?? noop,\n ].flat(),\n () => {\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false\n }\n requestAnimationFrame(() => {\n trapActive.value = true\n nextTick(() => {\n emit('shown', buildTriggerableEvent('shown', {cancelable: false}))\n })\n })\n if (!_resolveOnHide) {\n _Resolve?.(true)\n _Promise = undefined\n _Resolve = undefined\n }\n },\n ]\n\n const onBeforeLeave: TransitionProps['onBeforeLeave'] = [\n () => {\n if (!isLeaving.value) isLeaving.value = true\n },\n ...[\n options.transitionProps?.onBeforeLeave ?? noop,\n props.transitionProps?.onBeforeLeave ?? noop,\n ].flat(),\n () => {\n trapActive.value = false\n },\n ]\n\n const onLeave: TransitionProps['onLeave'] = [\n () => {\n isVisible.value = false\n },\n ...[options.transitionProps?.onLeave ?? noop, props.transitionProps?.onLeave ?? noop].flat(),\n ]\n\n const onAfterLeave: TransitionProps['onAfterLeave'] = [\n () => {\n emit('hidden', buildTriggerableEvent('hidden', {trigger: leaveTrigger, cancelable: false}))\n },\n ...[\n options.transitionProps?.onAfterLeave ?? noop,\n props.transitionProps?.onAfterLeave ?? noop,\n ].flat(),\n () => {\n isLeaving.value = false\n isActive.value = false\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false\n })\n _Resolve?.(leaveTrigger || '')\n _Promise = undefined\n _Resolve = undefined\n leaveTrigger = undefined\n },\n ]\n\n const contentShowing = computed(\n () =>\n localTemporaryHide.value === true ||\n isActive.value === true ||\n props.lazy === false ||\n (props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false)\n )\n const trapActive = ref(false)\n const backdropVisible = ref(false)\n const backdropReady = ref(false)\n\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n } satisfies TransitionProps\n return {\n showRef: readonly(showRef),\n renderRef: readonly(renderRef),\n renderBackdropRef: readonly(renderBackdropRef),\n isVisible: readonly(isVisible),\n isActive: readonly(isActive),\n trapActive: readonly(trapActive),\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation: readonly(localNoAnimation),\n setLocalNoAnimation: (value: boolean) => {\n localNoAnimation.value = value\n },\n localTemporaryHide: readonly(localTemporaryHide),\n setLocalTemporaryHide: (value: boolean) => {\n localTemporaryHide.value = value\n },\n isLeaving: readonly(isLeaving),\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions,\n } satisfies TransitionProps,\n\n lazyLoadCompleted: readonly(lazyLoadCompleted),\n markLazyLoadCompleted,\n contentShowing,\n backdropReady: readonly(backdropReady),\n backdropVisible: readonly(backdropVisible),\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true\n })\n })\n backdropReady.value = false\n },\n onAfterEnter: () => {\n backdropReady.value = true\n },\n onBeforeLeave: () => {\n backdropVisible.value = false\n },\n onAfterLeave: () => {\n backdropReady.value = false\n requestAnimationFrame(() => {\n renderBackdropRef.value = false\n })\n },\n } satisfies TransitionProps,\n }\n}\n"],"mappings":"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"}
@@ -13,4 +13,4 @@ Object.defineProperty(exports, "useStateClass", {
13
13
  }
14
14
  });
15
15
 
16
- //# sourceMappingURL=useStateClass-Cnvy2Hnm.js.map
16
+ //# sourceMappingURL=useStateClass-CJ24hpkn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStateClass-Cnvy2Hnm.js","names":[],"sources":["../src/composables/useStateClass.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\n\nexport const useStateClass = (value: MaybeRefOrGetter<ValidationState>) =>\n computed(() => {\n const resolvedValue = toValue(value)\n\n return resolvedValue === true ? 'is-valid' : resolvedValue === false ? 'is-invalid' : null\n })\n"],"mappings":";;;AAGA,IAAa,iBAAiB,WAAA,GAAA,IAAA,gBACb;CACb,MAAM,iBAAA,GAAA,IAAA,SAAwB,MAAM;AAEpC,QAAO,kBAAkB,OAAO,aAAa,kBAAkB,QAAQ,eAAe;EACtF"}
1
+ {"version":3,"file":"useStateClass-CJ24hpkn.js","names":[],"sources":["../src/composables/useStateClass.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\n\nexport const useStateClass = (value: MaybeRefOrGetter<ValidationState>) =>\n computed(() => {\n const resolvedValue = toValue(value)\n\n return resolvedValue === true ? 'is-valid' : resolvedValue === false ? 'is-invalid' : null\n })\n"],"mappings":";;;AAGA,IAAa,iBAAiB,WAAA,GAAA,IAAA,gBACb;CACb,MAAM,iBAAA,GAAA,IAAA,SAAwB,MAAM;AAEpC,QAAO,kBAAkB,OAAO,aAAa,kBAAkB,QAAQ,eAAe;EACtF"}
@@ -7,4 +7,4 @@ var useStateClass = (value) => computed(() => {
7
7
  //#endregion
8
8
  export { useStateClass as t };
9
9
 
10
- //# sourceMappingURL=useStateClass-DKjpw1Pn.mjs.map
10
+ //# sourceMappingURL=useStateClass-CdmlbrGn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStateClass-DKjpw1Pn.mjs","names":[],"sources":["../src/composables/useStateClass.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\n\nexport const useStateClass = (value: MaybeRefOrGetter<ValidationState>) =>\n computed(() => {\n const resolvedValue = toValue(value)\n\n return resolvedValue === true ? 'is-valid' : resolvedValue === false ? 'is-invalid' : null\n })\n"],"mappings":";;AAGA,IAAa,iBAAiB,UAC5B,eAAe;CACb,MAAM,gBAAgB,QAAQ,MAAM;AAEpC,QAAO,kBAAkB,OAAO,aAAa,kBAAkB,QAAQ,eAAe;EACtF"}
1
+ {"version":3,"file":"useStateClass-CdmlbrGn.mjs","names":[],"sources":["../src/composables/useStateClass.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\n\nexport const useStateClass = (value: MaybeRefOrGetter<ValidationState>) =>\n computed(() => {\n const resolvedValue = toValue(value)\n\n return resolvedValue === true ? 'is-valid' : resolvedValue === false ? 'is-invalid' : null\n })\n"],"mappings":";;AAGA,IAAa,iBAAiB,UAC5B,eAAe;CACb,MAAM,gBAAgB,QAAQ,MAAM;AAEpC,QAAO,kBAAkB,OAAO,aAAa,kBAAkB,QAAQ,eAAe;EACtF"}
@@ -1,5 +1,5 @@
1
1
  const require_keys = require("./keys-durSVUrO.js");
2
- const require_floatingUi = require("./floatingUi-BLlCKrbj.js");
2
+ const require_floatingUi = require("./floatingUi-Cs4rDXmO.js");
3
3
  //#region src/directives/utils.ts
4
4
  /**
5
5
  * Gets the component instance UID from a directive binding
@@ -184,4 +184,4 @@ Object.defineProperty(exports, "getDirectiveUid", {
184
184
  }
185
185
  });
186
186
 
187
- //# sourceMappingURL=utils-CY6CnVNO.js.map
187
+ //# sourceMappingURL=utils-CaC78Zdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-CY6CnVNO.js","names":[],"sources":["../src/directives/utils.ts"],"sourcesContent":["import type {ComponentInternalInstance, Directive, DirectiveBinding, Ref, VNode} from 'vue'\nimport type {BPopoverProps} from '../types/ComponentProps'\nimport {\n bind,\n type ElementWithPopper,\n resolveActiveStatus,\n resolveContent,\n resolveDirectiveProps,\n unbind,\n} from '../utils/floatingUi'\nimport {defaultsKey} from '../utils/keys'\n\ninterface _ComponentInternalInstance extends ComponentInternalInstance {\n provides?: Record<string, unknown>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setupState?: any\n}\n\ninterface _VNode extends VNode {\n ctx?: _ComponentInternalInstance | null\n ssContent?: VNode | null\n}\n\n/**\n * Represents per-instance state for directives using UID namespacing\n */\nexport interface DirectiveInstanceState {\n binding: string // JSON.stringify cache for change detection\n destroying: boolean // Flag to prevent race conditions during cleanup\n}\n\n/**\n * Gets the component instance UID from a directive binding\n * @throws Error if binding.instance is not available\n */\nexport function getDirectiveUid(binding: DirectiveBinding): number {\n if (!binding.instance) {\n throw new Error('[Bootstrap-Vue-Next] Directive binding.instance is not available')\n }\n return binding.instance.$.uid\n}\n\n/**\n * Initializes UID-namespaced storage on an element for a directive\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @param binding - The directive binding value to cache\n * @returns The initialized instance state\n */\nexport function initDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number,\n binding: DirectiveBinding\n): DirectiveInstanceState {\n // Initialize UID namespace for this directive\n const elWithProps = el as Record<string, unknown>\n elWithProps[propertyName] = elWithProps[propertyName] ?? Object.create(null)\n\n // Store per-instance state with JSON cache for change detection\n const state: DirectiveInstanceState = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false,\n }\n\n ;(elWithProps[propertyName] as Record<string, unknown>)[uid] = state\n return state\n}\n\n/**\n * Gets the instance state for a directive, if it exists\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @returns The instance state or undefined if not found\n */\nexport function getDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): DirectiveInstanceState | undefined {\n const elWithProps = el as Record<string, unknown>\n return (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n}\n\n/**\n * Checks if the directive binding has changed for this instance\n * @param instance - The directive instance state\n * @param binding - The current directive binding\n * @returns true if the binding has changed, false otherwise\n */\nexport function hasBindingChanged(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): boolean {\n const newBinding = JSON.stringify([binding.modifiers, binding.value])\n return instance.binding !== newBinding\n}\n\n/**\n * Updates the cached binding value for a directive instance\n * @param instance - The directive instance state\n * @param binding - The new directive binding\n */\nexport function updateBindingCache(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): void {\n instance.binding = JSON.stringify([binding.modifiers, binding.value])\n}\n\n/**\n * Cleans up a directive instance\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n */\nexport function cleanupDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): void {\n const elWithProps = el as Record<string, unknown>\n const instance = (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n if (instance) {\n instance.destroying = true\n delete (elWithProps[propertyName] as Record<string, unknown>)[uid]\n }\n}\n\n// taken from vuetify https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/directiveComponent.ts\n\nexport function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown> {\n const provides =\n (vnode.ctx === binding.instance!.$\n ? findComponentParent(vnode, binding.instance!.$)?.provides\n : vnode.ctx?.provides) ?? binding.instance!.$.provides\n\n return provides\n}\n\nexport function findComponentParent(\n vnode: VNode,\n root: ComponentInternalInstance\n): _ComponentInternalInstance | null {\n // Walk the tree from root until we find the child vnode\n const stack = new Set<VNode>()\n const walk = (children: _VNode[]): boolean => {\n for (const child of children) {\n if (!child) continue\n\n if (child === vnode || (child.el && vnode.el && child.el === vnode.el)) {\n return true\n }\n\n stack.add(child)\n let result\n if (child.suspense) {\n result = walk([child.ssContent!])\n } else if (Array.isArray(child.children)) {\n result = walk(child.children as VNode[])\n } else if (child.component?.vnode) {\n result = walk([child.component?.subTree])\n }\n if (result) {\n return result\n }\n stack.delete(child)\n }\n\n return false\n }\n if (!walk([root.subTree])) {\n console.error('Could not find original vnode, will not inherit provides')\n return root\n }\n\n // Return the first component parent\n const result = Array.from(stack).reverse()\n for (const child of result) {\n if (child.component) {\n return child.component\n }\n }\n return root\n}\n\n/**\n * Creates a floating UI directive (tooltip or popover) with UID-namespaced state management\n * @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')\n * @param componentDefaultsKey - The key for accessing component defaults (e.g., 'BTooltip', 'BPopover')\n * @param buildProps - Optional function to customize the props passed to bind()\n * @returns A Vue directive object\n */\nexport function createFloatingDirective(\n propertyName: string,\n componentDefaultsKey: string,\n buildProps?: (\n text: {title?: string; body?: string},\n defaults: unknown,\n binding: Readonly<DirectiveBinding>,\n el: Readonly<HTMLElement>\n ) => BPopoverProps\n): Directive<ElementWithPopper> {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n\n // Initialize per-instance state with UID namespacing\n initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n },\n\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n let instance = getDirectiveInstance(el, propertyName, uid)\n\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n\n const isActive = resolveActiveStatus(binding.value)\n\n // If inactive, clean up existing instance if present\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) {\n // Clean up if no content\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n // If instance doesn't exist, this is a transition from inactive/no-content to active\n // Initialize the instance now (similar to mounted)\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n return\n }\n\n // Check if binding changed for THIS instance\n if (!hasBindingChanged(instance, binding)) return\n\n // Prevent race conditions during update\n if (instance.destroying) return\n\n unbind(el)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n\n // Update THIS instance's cache\n updateBindingCache(instance, binding)\n },\n\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding)\n const instance = getDirectiveInstance(el, propertyName, uid)\n\n if (!instance) return\n\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n },\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils-CaC78Zdk.js","names":[],"sources":["../src/directives/utils.ts"],"sourcesContent":["import type {ComponentInternalInstance, Directive, DirectiveBinding, Ref, VNode} from 'vue'\nimport type {BPopoverProps} from '../types/ComponentProps'\nimport {\n bind,\n type ElementWithPopper,\n resolveActiveStatus,\n resolveContent,\n resolveDirectiveProps,\n unbind,\n} from '../utils/floatingUi'\nimport {defaultsKey} from '../utils/keys'\n\ninterface _ComponentInternalInstance extends ComponentInternalInstance {\n provides?: Record<string, unknown>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setupState?: any\n}\n\ninterface _VNode extends VNode {\n ctx?: _ComponentInternalInstance | null\n ssContent?: VNode | null\n}\n\n/**\n * Represents per-instance state for directives using UID namespacing\n */\nexport interface DirectiveInstanceState {\n binding: string // JSON.stringify cache for change detection\n destroying: boolean // Flag to prevent race conditions during cleanup\n}\n\n/**\n * Gets the component instance UID from a directive binding\n * @throws Error if binding.instance is not available\n */\nexport function getDirectiveUid(binding: DirectiveBinding): number {\n if (!binding.instance) {\n throw new Error('[Bootstrap-Vue-Next] Directive binding.instance is not available')\n }\n return binding.instance.$.uid\n}\n\n/**\n * Initializes UID-namespaced storage on an element for a directive\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @param binding - The directive binding value to cache\n * @returns The initialized instance state\n */\nexport function initDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number,\n binding: DirectiveBinding\n): DirectiveInstanceState {\n // Initialize UID namespace for this directive\n const elWithProps = el as Record<string, unknown>\n elWithProps[propertyName] = elWithProps[propertyName] ?? Object.create(null)\n\n // Store per-instance state with JSON cache for change detection\n const state: DirectiveInstanceState = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false,\n }\n\n ;(elWithProps[propertyName] as Record<string, unknown>)[uid] = state\n return state\n}\n\n/**\n * Gets the instance state for a directive, if it exists\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @returns The instance state or undefined if not found\n */\nexport function getDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): DirectiveInstanceState | undefined {\n const elWithProps = el as Record<string, unknown>\n return (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n}\n\n/**\n * Checks if the directive binding has changed for this instance\n * @param instance - The directive instance state\n * @param binding - The current directive binding\n * @returns true if the binding has changed, false otherwise\n */\nexport function hasBindingChanged(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): boolean {\n const newBinding = JSON.stringify([binding.modifiers, binding.value])\n return instance.binding !== newBinding\n}\n\n/**\n * Updates the cached binding value for a directive instance\n * @param instance - The directive instance state\n * @param binding - The new directive binding\n */\nexport function updateBindingCache(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): void {\n instance.binding = JSON.stringify([binding.modifiers, binding.value])\n}\n\n/**\n * Cleans up a directive instance\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n */\nexport function cleanupDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): void {\n const elWithProps = el as Record<string, unknown>\n const instance = (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n if (instance) {\n instance.destroying = true\n delete (elWithProps[propertyName] as Record<string, unknown>)[uid]\n }\n}\n\n// taken from vuetify https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/directiveComponent.ts\n\nexport function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown> {\n const provides =\n (vnode.ctx === binding.instance!.$\n ? findComponentParent(vnode, binding.instance!.$)?.provides\n : vnode.ctx?.provides) ?? binding.instance!.$.provides\n\n return provides\n}\n\nexport function findComponentParent(\n vnode: VNode,\n root: ComponentInternalInstance\n): _ComponentInternalInstance | null {\n // Walk the tree from root until we find the child vnode\n const stack = new Set<VNode>()\n const walk = (children: _VNode[]): boolean => {\n for (const child of children) {\n if (!child) continue\n\n if (child === vnode || (child.el && vnode.el && child.el === vnode.el)) {\n return true\n }\n\n stack.add(child)\n let result\n if (child.suspense) {\n result = walk([child.ssContent!])\n } else if (Array.isArray(child.children)) {\n result = walk(child.children as VNode[])\n } else if (child.component?.vnode) {\n result = walk([child.component?.subTree])\n }\n if (result) {\n return result\n }\n stack.delete(child)\n }\n\n return false\n }\n if (!walk([root.subTree])) {\n console.error('Could not find original vnode, will not inherit provides')\n return root\n }\n\n // Return the first component parent\n const result = Array.from(stack).reverse()\n for (const child of result) {\n if (child.component) {\n return child.component\n }\n }\n return root\n}\n\n/**\n * Creates a floating UI directive (tooltip or popover) with UID-namespaced state management\n * @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')\n * @param componentDefaultsKey - The key for accessing component defaults (e.g., 'BTooltip', 'BPopover')\n * @param buildProps - Optional function to customize the props passed to bind()\n * @returns A Vue directive object\n */\nexport function createFloatingDirective(\n propertyName: string,\n componentDefaultsKey: string,\n buildProps?: (\n text: {title?: string; body?: string},\n defaults: unknown,\n binding: Readonly<DirectiveBinding>,\n el: Readonly<HTMLElement>\n ) => BPopoverProps\n): Directive<ElementWithPopper> {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n\n // Initialize per-instance state with UID namespacing\n initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n },\n\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n let instance = getDirectiveInstance(el, propertyName, uid)\n\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n\n const isActive = resolveActiveStatus(binding.value)\n\n // If inactive, clean up existing instance if present\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) {\n // Clean up if no content\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n // If instance doesn't exist, this is a transition from inactive/no-content to active\n // Initialize the instance now (similar to mounted)\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n return\n }\n\n // Check if binding changed for THIS instance\n if (!hasBindingChanged(instance, binding)) return\n\n // Prevent race conditions during update\n if (instance.destroying) return\n\n unbind(el)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n\n // Update THIS instance's cache\n updateBindingCache(instance, binding)\n },\n\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding)\n const instance = getDirectiveInstance(el, propertyName, uid)\n\n if (!instance) return\n\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n },\n }\n}\n"],"mappings":";;;;;;;AAmCA,SAAgB,gBAAgB,SAAmC;AACjE,KAAI,CAAC,QAAQ,SACX,OAAM,IAAI,MAAM,mEAAmE;AAErF,QAAO,QAAQ,SAAS,EAAE;;;;;;;;;;AAW5B,SAAgB,sBACd,IACA,cACA,KACA,SACwB;CAExB,MAAM,cAAc;AACpB,aAAY,gBAAgB,YAAY,iBAAiB,OAAO,OAAO,KAAK;CAG5E,MAAM,QAAgC;EACpC,SAAS,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,MAAM,CAAC;EAC3D,YAAY;EACb;AAEC,aAAY,cAA0C,OAAO;AAC/D,QAAO;;;;;;;;;AAUT,SAAgB,qBACd,IACA,cACA,KACoC;AAEpC,QADoB,GACA,gBAAwD;;;;;;;;AAW9E,SAAgB,kBACd,UACA,SACS;CACT,MAAM,aAAa,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,MAAM,CAAC;AACrE,QAAO,SAAS,YAAY;;;;;;;AAQ9B,SAAgB,mBACd,UACA,SACM;AACN,UAAS,UAAU,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,MAAM,CAAC;;;;;;;;AASvE,SAAgB,yBACd,IACA,cACA,KACM;CACN,MAAM,cAAc;CACpB,MAAM,WAAY,YAAY,gBAAwD;AAGtF,KAAI,UAAU;AACZ,WAAS,aAAa;AACtB,SAAQ,YAAY,cAA0C;;;AAMlE,SAAgB,aAAa,SAA2B,OAAwC;AAM9F,SAJG,MAAM,QAAQ,QAAQ,SAAU,IAC7B,oBAAoB,OAAO,QAAQ,SAAU,EAAE,EAAE,WACjD,MAAM,KAAK,aAAa,QAAQ,SAAU,EAAE;;AAKpD,SAAgB,oBACd,OACA,MACmC;CAEnC,MAAM,wBAAQ,IAAI,KAAY;CAC9B,MAAM,QAAQ,aAAgC;AAC5C,OAAK,MAAM,SAAS,UAAU;AAC5B,OAAI,CAAC,MAAO;AAEZ,OAAI,UAAU,SAAU,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,GACjE,QAAO;AAGT,SAAM,IAAI,MAAM;GAChB,IAAI;AACJ,OAAI,MAAM,SACR,UAAS,KAAK,CAAC,MAAM,UAAW,CAAC;YACxB,MAAM,QAAQ,MAAM,SAAS,CACtC,UAAS,KAAK,MAAM,SAAoB;YAC/B,MAAM,WAAW,MAC1B,UAAS,KAAK,CAAC,MAAM,WAAW,QAAQ,CAAC;AAE3C,OAAI,OACF,QAAO;AAET,SAAM,OAAO,MAAM;;AAGrB,SAAO;;AAET,KAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,EAAE;AACzB,UAAQ,MAAM,4DAA4D;AAC1E,SAAO;;CAIT,MAAM,SAAS,MAAM,KAAK,MAAM,CAAC,SAAS;AAC1C,MAAK,MAAM,SAAS,OAClB,KAAI,MAAM,UACR,QAAO,MAAM;AAGjB,QAAO;;;;;;;;;AAUT,SAAgB,wBACd,cACA,sBACA,YAM8B;AAC9B,QAAO;EACL,QAAQ,IAAI,SAAS,OAAO;GAC1B,MAAM,MAAM,gBAAgB,QAAQ;GACpC,MAAM,cAAe,aAAa,SAAS,MAAM,CAAyB,aAAA,cACtE;AAEJ,OAAI,CADa,mBAAA,oBAAoB,QAAQ,MAAM,CACpC;GAEf,MAAM,OAAO,mBAAA,eAAe,QAAQ,OAAO,GAAG;AAE9C,OAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAO;AAG/B,yBAAsB,IAAI,cAAc,KAAK,QAAQ;AAUrD,sBAAA,KAAK,IAAI,SARK,aACV,WAAW,MAAM,cAAc,uBAAuB,SAAS,GAAG,GAClE;IACE,GAAI,cAAc,yBAAyB,KAAA;IAC3C,GAAG,mBAAA,sBAAsB,SAAS,GAAG;IACrC,GAAG;IACJ,CAEmB;;EAG1B,QAAQ,IAAI,SAAS,OAAO;GAC1B,MAAM,MAAM,gBAAgB,QAAQ;GACpC,IAAI,WAAW,qBAAqB,IAAI,cAAc,IAAI;GAE1D,MAAM,cAAe,aAAa,SAAS,MAAM,CAAyB,aAAA,cACtE;AAKJ,OAAI,CAHa,mBAAA,oBAAoB,QAAQ,MAAM,EAGpC;AACb,QAAI,YAAY,GAAG,YAAY;AAC7B,wBAAA,OAAO,GAAG;AACV,8BAAyB,IAAI,cAAc,IAAI;;AAEjD;;GAGF,MAAM,OAAO,mBAAA,eAAe,QAAQ,OAAO,GAAG;AAE9C,OAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,OAAO;AAE7B,QAAI,YAAY,GAAG,YAAY;AAC7B,wBAAA,OAAO,GAAG;AACV,8BAAyB,IAAI,cAAc,IAAI;;AAEjD;;AAKF,OAAI,CAAC,UAAU;AACb,eAAW,sBAAsB,IAAI,cAAc,KAAK,QAAQ;AAUhE,uBAAA,KAAK,IAAI,SARK,aACV,WAAW,MAAM,cAAc,uBAAuB,SAAS,GAAG,GAClE;KACE,GAAI,cAAc,yBAAyB,KAAA;KAC3C,GAAG,mBAAA,sBAAsB,SAAS,GAAG;KACrC,GAAG;KACJ,CAEmB;AACxB;;AAIF,OAAI,CAAC,kBAAkB,UAAU,QAAQ,CAAE;AAG3C,OAAI,SAAS,WAAY;AAEzB,sBAAA,OAAO,GAAG;AAUV,sBAAA,KAAK,IAAI,SARK,aACV,WAAW,MAAM,cAAc,uBAAuB,SAAS,GAAG,GAClE;IACE,GAAI,cAAc,yBAAyB,KAAA;IAC3C,GAAG,mBAAA,sBAAsB,SAAS,GAAG;IACrC,GAAG;IACJ,CAEmB;AAGxB,sBAAmB,UAAU,QAAQ;;EAGvC,cAAc,IAAI,SAAS;GACzB,MAAM,MAAM,gBAAgB,QAAQ;AAGpC,OAAI,CAFa,qBAAqB,IAAI,cAAc,IAAI,CAE7C;AAEf,sBAAA,OAAO,GAAG;AACV,4BAAyB,IAAI,cAAc,IAAI;;EAElD"}
@@ -1,5 +1,5 @@
1
1
  import { l as defaultsKey } from "./keys-CQKrwmvN.mjs";
2
- import { c as unbind, i as resolveActiveStatus, o as resolveContent, s as resolveDirectiveProps, t as bind } from "./floatingUi-9NcUa5r7.mjs";
2
+ import { c as unbind, i as resolveActiveStatus, o as resolveContent, s as resolveDirectiveProps, t as bind } from "./floatingUi-DHMrP__c.mjs";
3
3
  //#region src/directives/utils.ts
4
4
  /**
5
5
  * Gets the component instance UID from a directive binding
@@ -167,4 +167,4 @@ function createFloatingDirective(propertyName, componentDefaultsKey, buildProps)
167
167
  //#endregion
168
168
  export { findProvides as n, getDirectiveUid as r, createFloatingDirective as t };
169
169
 
170
- //# sourceMappingURL=utils-C-oJqlar.mjs.map
170
+ //# sourceMappingURL=utils-CgwCsk6U.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-C-oJqlar.mjs","names":[],"sources":["../src/directives/utils.ts"],"sourcesContent":["import type {ComponentInternalInstance, Directive, DirectiveBinding, Ref, VNode} from 'vue'\nimport type {BPopoverProps} from '../types/ComponentProps'\nimport {\n bind,\n type ElementWithPopper,\n resolveActiveStatus,\n resolveContent,\n resolveDirectiveProps,\n unbind,\n} from '../utils/floatingUi'\nimport {defaultsKey} from '../utils/keys'\n\ninterface _ComponentInternalInstance extends ComponentInternalInstance {\n provides?: Record<string, unknown>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setupState?: any\n}\n\ninterface _VNode extends VNode {\n ctx?: _ComponentInternalInstance | null\n ssContent?: VNode | null\n}\n\n/**\n * Represents per-instance state for directives using UID namespacing\n */\nexport interface DirectiveInstanceState {\n binding: string // JSON.stringify cache for change detection\n destroying: boolean // Flag to prevent race conditions during cleanup\n}\n\n/**\n * Gets the component instance UID from a directive binding\n * @throws Error if binding.instance is not available\n */\nexport function getDirectiveUid(binding: DirectiveBinding): number {\n if (!binding.instance) {\n throw new Error('[Bootstrap-Vue-Next] Directive binding.instance is not available')\n }\n return binding.instance.$.uid\n}\n\n/**\n * Initializes UID-namespaced storage on an element for a directive\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @param binding - The directive binding value to cache\n * @returns The initialized instance state\n */\nexport function initDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number,\n binding: DirectiveBinding\n): DirectiveInstanceState {\n // Initialize UID namespace for this directive\n const elWithProps = el as Record<string, unknown>\n elWithProps[propertyName] = elWithProps[propertyName] ?? Object.create(null)\n\n // Store per-instance state with JSON cache for change detection\n const state: DirectiveInstanceState = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false,\n }\n\n ;(elWithProps[propertyName] as Record<string, unknown>)[uid] = state\n return state\n}\n\n/**\n * Gets the instance state for a directive, if it exists\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @returns The instance state or undefined if not found\n */\nexport function getDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): DirectiveInstanceState | undefined {\n const elWithProps = el as Record<string, unknown>\n return (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n}\n\n/**\n * Checks if the directive binding has changed for this instance\n * @param instance - The directive instance state\n * @param binding - The current directive binding\n * @returns true if the binding has changed, false otherwise\n */\nexport function hasBindingChanged(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): boolean {\n const newBinding = JSON.stringify([binding.modifiers, binding.value])\n return instance.binding !== newBinding\n}\n\n/**\n * Updates the cached binding value for a directive instance\n * @param instance - The directive instance state\n * @param binding - The new directive binding\n */\nexport function updateBindingCache(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): void {\n instance.binding = JSON.stringify([binding.modifiers, binding.value])\n}\n\n/**\n * Cleans up a directive instance\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n */\nexport function cleanupDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): void {\n const elWithProps = el as Record<string, unknown>\n const instance = (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n if (instance) {\n instance.destroying = true\n delete (elWithProps[propertyName] as Record<string, unknown>)[uid]\n }\n}\n\n// taken from vuetify https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/directiveComponent.ts\n\nexport function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown> {\n const provides =\n (vnode.ctx === binding.instance!.$\n ? findComponentParent(vnode, binding.instance!.$)?.provides\n : vnode.ctx?.provides) ?? binding.instance!.$.provides\n\n return provides\n}\n\nexport function findComponentParent(\n vnode: VNode,\n root: ComponentInternalInstance\n): _ComponentInternalInstance | null {\n // Walk the tree from root until we find the child vnode\n const stack = new Set<VNode>()\n const walk = (children: _VNode[]): boolean => {\n for (const child of children) {\n if (!child) continue\n\n if (child === vnode || (child.el && vnode.el && child.el === vnode.el)) {\n return true\n }\n\n stack.add(child)\n let result\n if (child.suspense) {\n result = walk([child.ssContent!])\n } else if (Array.isArray(child.children)) {\n result = walk(child.children as VNode[])\n } else if (child.component?.vnode) {\n result = walk([child.component?.subTree])\n }\n if (result) {\n return result\n }\n stack.delete(child)\n }\n\n return false\n }\n if (!walk([root.subTree])) {\n console.error('Could not find original vnode, will not inherit provides')\n return root\n }\n\n // Return the first component parent\n const result = Array.from(stack).reverse()\n for (const child of result) {\n if (child.component) {\n return child.component\n }\n }\n return root\n}\n\n/**\n * Creates a floating UI directive (tooltip or popover) with UID-namespaced state management\n * @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')\n * @param componentDefaultsKey - The key for accessing component defaults (e.g., 'BTooltip', 'BPopover')\n * @param buildProps - Optional function to customize the props passed to bind()\n * @returns A Vue directive object\n */\nexport function createFloatingDirective(\n propertyName: string,\n componentDefaultsKey: string,\n buildProps?: (\n text: {title?: string; body?: string},\n defaults: unknown,\n binding: Readonly<DirectiveBinding>,\n el: Readonly<HTMLElement>\n ) => BPopoverProps\n): Directive<ElementWithPopper> {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n\n // Initialize per-instance state with UID namespacing\n initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n },\n\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n let instance = getDirectiveInstance(el, propertyName, uid)\n\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n\n const isActive = resolveActiveStatus(binding.value)\n\n // If inactive, clean up existing instance if present\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) {\n // Clean up if no content\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n // If instance doesn't exist, this is a transition from inactive/no-content to active\n // Initialize the instance now (similar to mounted)\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n return\n }\n\n // Check if binding changed for THIS instance\n if (!hasBindingChanged(instance, binding)) return\n\n // Prevent race conditions during update\n if (instance.destroying) return\n\n unbind(el)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n\n // Update THIS instance's cache\n updateBindingCache(instance, binding)\n },\n\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding)\n const instance = getDirectiveInstance(el, propertyName, uid)\n\n if (!instance) return\n\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n },\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils-CgwCsk6U.mjs","names":[],"sources":["../src/directives/utils.ts"],"sourcesContent":["import type {ComponentInternalInstance, Directive, DirectiveBinding, Ref, VNode} from 'vue'\nimport type {BPopoverProps} from '../types/ComponentProps'\nimport {\n bind,\n type ElementWithPopper,\n resolveActiveStatus,\n resolveContent,\n resolveDirectiveProps,\n unbind,\n} from '../utils/floatingUi'\nimport {defaultsKey} from '../utils/keys'\n\ninterface _ComponentInternalInstance extends ComponentInternalInstance {\n provides?: Record<string, unknown>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setupState?: any\n}\n\ninterface _VNode extends VNode {\n ctx?: _ComponentInternalInstance | null\n ssContent?: VNode | null\n}\n\n/**\n * Represents per-instance state for directives using UID namespacing\n */\nexport interface DirectiveInstanceState {\n binding: string // JSON.stringify cache for change detection\n destroying: boolean // Flag to prevent race conditions during cleanup\n}\n\n/**\n * Gets the component instance UID from a directive binding\n * @throws Error if binding.instance is not available\n */\nexport function getDirectiveUid(binding: DirectiveBinding): number {\n if (!binding.instance) {\n throw new Error('[Bootstrap-Vue-Next] Directive binding.instance is not available')\n }\n return binding.instance.$.uid\n}\n\n/**\n * Initializes UID-namespaced storage on an element for a directive\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @param binding - The directive binding value to cache\n * @returns The initialized instance state\n */\nexport function initDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number,\n binding: DirectiveBinding\n): DirectiveInstanceState {\n // Initialize UID namespace for this directive\n const elWithProps = el as Record<string, unknown>\n elWithProps[propertyName] = elWithProps[propertyName] ?? Object.create(null)\n\n // Store per-instance state with JSON cache for change detection\n const state: DirectiveInstanceState = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false,\n }\n\n ;(elWithProps[propertyName] as Record<string, unknown>)[uid] = state\n return state\n}\n\n/**\n * Gets the instance state for a directive, if it exists\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n * @returns The instance state or undefined if not found\n */\nexport function getDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): DirectiveInstanceState | undefined {\n const elWithProps = el as Record<string, unknown>\n return (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n}\n\n/**\n * Checks if the directive binding has changed for this instance\n * @param instance - The directive instance state\n * @param binding - The current directive binding\n * @returns true if the binding has changed, false otherwise\n */\nexport function hasBindingChanged(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): boolean {\n const newBinding = JSON.stringify([binding.modifiers, binding.value])\n return instance.binding !== newBinding\n}\n\n/**\n * Updates the cached binding value for a directive instance\n * @param instance - The directive instance state\n * @param binding - The new directive binding\n */\nexport function updateBindingCache(\n instance: DirectiveInstanceState,\n binding: DirectiveBinding\n): void {\n instance.binding = JSON.stringify([binding.modifiers, binding.value])\n}\n\n/**\n * Cleans up a directive instance\n * @param el - The HTML element\n * @param propertyName - The property name (e.g., '$__tooltip', '$__popover')\n * @param uid - The component instance UID\n */\nexport function cleanupDirectiveInstance(\n el: HTMLElement & Record<string, unknown>,\n propertyName: string,\n uid: number\n): void {\n const elWithProps = el as Record<string, unknown>\n const instance = (elWithProps[propertyName] as Record<string, unknown> | undefined)?.[uid] as\n | DirectiveInstanceState\n | undefined\n if (instance) {\n instance.destroying = true\n delete (elWithProps[propertyName] as Record<string, unknown>)[uid]\n }\n}\n\n// taken from vuetify https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/directiveComponent.ts\n\nexport function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown> {\n const provides =\n (vnode.ctx === binding.instance!.$\n ? findComponentParent(vnode, binding.instance!.$)?.provides\n : vnode.ctx?.provides) ?? binding.instance!.$.provides\n\n return provides\n}\n\nexport function findComponentParent(\n vnode: VNode,\n root: ComponentInternalInstance\n): _ComponentInternalInstance | null {\n // Walk the tree from root until we find the child vnode\n const stack = new Set<VNode>()\n const walk = (children: _VNode[]): boolean => {\n for (const child of children) {\n if (!child) continue\n\n if (child === vnode || (child.el && vnode.el && child.el === vnode.el)) {\n return true\n }\n\n stack.add(child)\n let result\n if (child.suspense) {\n result = walk([child.ssContent!])\n } else if (Array.isArray(child.children)) {\n result = walk(child.children as VNode[])\n } else if (child.component?.vnode) {\n result = walk([child.component?.subTree])\n }\n if (result) {\n return result\n }\n stack.delete(child)\n }\n\n return false\n }\n if (!walk([root.subTree])) {\n console.error('Could not find original vnode, will not inherit provides')\n return root\n }\n\n // Return the first component parent\n const result = Array.from(stack).reverse()\n for (const child of result) {\n if (child.component) {\n return child.component\n }\n }\n return root\n}\n\n/**\n * Creates a floating UI directive (tooltip or popover) with UID-namespaced state management\n * @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')\n * @param componentDefaultsKey - The key for accessing component defaults (e.g., 'BTooltip', 'BPopover')\n * @param buildProps - Optional function to customize the props passed to bind()\n * @returns A Vue directive object\n */\nexport function createFloatingDirective(\n propertyName: string,\n componentDefaultsKey: string,\n buildProps?: (\n text: {title?: string; body?: string},\n defaults: unknown,\n binding: Readonly<DirectiveBinding>,\n el: Readonly<HTMLElement>\n ) => BPopoverProps\n): Directive<ElementWithPopper> {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n\n // Initialize per-instance state with UID namespacing\n initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n },\n\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding)\n let instance = getDirectiveInstance(el, propertyName, uid)\n\n const defaultsMap = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]\n ?.value as Record<string, unknown> | undefined\n\n const isActive = resolveActiveStatus(binding.value)\n\n // If inactive, clean up existing instance if present\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) {\n // Clean up if no content\n if (instance && el.$__element) {\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n }\n return\n }\n\n // If instance doesn't exist, this is a transition from inactive/no-content to active\n // Initialize the instance now (similar to mounted)\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n return\n }\n\n // Check if binding changed for THIS instance\n if (!hasBindingChanged(instance, binding)) return\n\n // Prevent race conditions during update\n if (instance.destroying) return\n\n unbind(el)\n\n const props = buildProps\n ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el)\n : {\n ...(defaultsMap?.[componentDefaultsKey] || undefined),\n ...resolveDirectiveProps(binding, el),\n ...text,\n }\n\n bind(el, binding, props)\n\n // Update THIS instance's cache\n updateBindingCache(instance, binding)\n },\n\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding)\n const instance = getDirectiveInstance(el, propertyName, uid)\n\n if (!instance) return\n\n unbind(el)\n cleanupDirectiveInstance(el, propertyName, uid)\n },\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "bootstrap-vue-next",
3
3
  "displayName": "BootstrapVueNext",
4
4
  "description": "Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development",
5
- "version": "0.44.2",
5
+ "version": "0.44.4",
6
6
  "license": "MIT",
7
7
  "main": "./dist/bootstrap-vue-next.umd.js",
8
8
  "module": "./dist/bootstrap-vue-next.mjs",
@@ -129,6 +129,14 @@
129
129
  "default": "./dist/src/types/index.umd.js"
130
130
  }
131
131
  },
132
+ "./types/*": {
133
+ "import": {
134
+ "types": "./dist/types/*.d.mts"
135
+ },
136
+ "require": {
137
+ "types": "./dist/types/*.d.ts"
138
+ }
139
+ },
132
140
  "./dist/bootstrap-vue-next.css": "./dist/bootstrap-vue-next.css",
133
141
  "./src/styles/styles.scss": "./src/styles/styles.scss"
134
142
  },
@@ -0,0 +1,136 @@
1
+ .b-autocomplete {
2
+ position: relative;
3
+ }
4
+
5
+ .b-autocomplete-anchor {
6
+ display: flex;
7
+ align-items: center;
8
+ }
9
+
10
+ // Selected values display element — sits inside input-group, appears as part of the input
11
+ .b-autocomplete-selection {
12
+ display: flex;
13
+ align-items: center;
14
+ padding: 0.375rem 0 0.375rem 0.75rem;
15
+ font-size: inherit;
16
+ font-weight: 400;
17
+ line-height: 1.5;
18
+ color: var(--bs-body-color);
19
+ background-color: var(--bs-body-bg);
20
+ border: var(--bs-border-width) solid var(--bs-border-color);
21
+ border-right: 0;
22
+ border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
23
+ white-space: nowrap;
24
+ flex-shrink: 0;
25
+ max-width: 60%;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ transition:
29
+ border-color 0.15s ease-in-out,
30
+ box-shadow 0.15s ease-in-out;
31
+ }
32
+
33
+ // When the input is focused with selection present, apply a unified focus ring on the input-group
34
+ // that visually excludes the trigger button
35
+ .b-autocomplete .input-group:has(.b-autocomplete-selection):has(.form-control:focus) {
36
+ border-radius: var(--bs-border-radius);
37
+ box-shadow: 0 0 0 var(--bs-focus-ring-width, 0.25rem)
38
+ var(--bs-focus-ring-color, rgba(13, 110, 253, 0.25));
39
+ }
40
+
41
+ .b-autocomplete
42
+ .input-group:has(.b-autocomplete-selection):has(.form-control:focus)
43
+ .b-autocomplete-selection {
44
+ border-color: #86b7fe;
45
+ }
46
+
47
+ // Remove default focus ring from the input when selection div is present (applied on parent instead)
48
+ .b-autocomplete .input-group:has(.b-autocomplete-selection) .form-control:focus {
49
+ box-shadow: none;
50
+ border-color: #86b7fe;
51
+ }
52
+
53
+ // Remove left border on input when selection div is present to avoid double border
54
+ .b-autocomplete .input-group .b-autocomplete-selection ~ .form-control {
55
+ border-left: 0;
56
+ }
57
+
58
+ // Tags variant: wrap and allow more space
59
+ .b-autocomplete-selection-tags {
60
+ flex-wrap: wrap;
61
+ gap: 0.25rem;
62
+ white-space: normal;
63
+ max-width: 70%;
64
+ padding: 0.25rem 0.5rem;
65
+ }
66
+
67
+ // Pending-delete state: mute non-last tags, highlight last tag as outline
68
+ .b-autocomplete-tag-muted {
69
+ opacity: 0.5;
70
+ transition: opacity 0.15s ease-in-out;
71
+ }
72
+
73
+ .b-autocomplete-tag-pending-delete {
74
+ background-color: transparent !important;
75
+ color: var(--bs-secondary) !important;
76
+ border: var(--bs-border-width) solid var(--bs-secondary);
77
+ transition:
78
+ background-color 0.15s ease-in-out,
79
+ color 0.15s ease-in-out;
80
+ }
81
+
82
+ .b-autocomplete-trigger {
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ }
87
+
88
+ .b-autocomplete-chevron {
89
+ transition: transform 0.2s ease;
90
+ }
91
+
92
+ .b-autocomplete-chevron-open {
93
+ transform: rotate(180deg);
94
+ }
95
+
96
+ .b-autocomplete-content {
97
+ max-height: 300px;
98
+ overflow-y: auto;
99
+ }
100
+
101
+ .b-autocomplete-viewport {
102
+ padding: 0;
103
+ }
104
+
105
+ .b-autocomplete-empty {
106
+ padding: 0.5rem 1rem;
107
+ text-align: center;
108
+ color: var(--bs-secondary-color);
109
+ }
110
+
111
+ .b-autocomplete-item {
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: space-between;
115
+ cursor: pointer;
116
+
117
+ &[data-highlighted] {
118
+ background-color: var(--bs-dropdown-link-hover-bg);
119
+ color: var(--bs-dropdown-link-hover-color);
120
+ }
121
+
122
+ &[data-state="checked"] {
123
+ font-weight: 600;
124
+ }
125
+
126
+ &[data-disabled] {
127
+ opacity: 0.65;
128
+ pointer-events: none;
129
+ }
130
+ }
131
+ .b-autocomplete-item-indicator {
132
+ display: inline-flex;
133
+ align-items: center;
134
+ margin-left: auto;
135
+ padding-left: 0.5rem;
136
+ }
@@ -0,0 +1,29 @@
1
+ .b-otp-input {
2
+ display: inline-flex;
3
+ }
4
+
5
+ .b-otp-input-field {
6
+ text-align: center;
7
+ width: 2.5rem;
8
+ padding-left: 0;
9
+ padding-right: 0;
10
+
11
+ // Remove spinner buttons for number type
12
+ &[type="number"] {
13
+ -moz-appearance: textfield;
14
+
15
+ &::-webkit-outer-spin-button,
16
+ &::-webkit-inner-spin-button {
17
+ -webkit-appearance: none;
18
+ margin: 0;
19
+ }
20
+ }
21
+ }
22
+
23
+ .b-otp-input-sm .b-otp-input-field {
24
+ width: 2rem;
25
+ }
26
+
27
+ .b-otp-input-lg .b-otp-input-field {
28
+ width: 3rem;
29
+ }
@@ -12,6 +12,8 @@
12
12
  @import "../components/BFormFile/form-file";
13
13
  @import "../components/BFormSpinbutton/spinbutton";
14
14
  @import "../components/BAlert/alert";
15
+ @import "../components/BAutocomplete/autocomplete";
16
+ @import "../components/BOtpInput/otp-input";
15
17
  @import "../components/BPopover/popover";
16
18
  @import "../components/BToast/toast";
17
19
  @import "../components/BTimeField/time-field";