bootstrap-vue-next 0.45.0 → 0.45.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (812) hide show
  1. package/dist/{BAccordion-CJZMsvwP.js → BAccordion-DgXJMqdG.js} +2 -2
  2. package/dist/{BAccordion-CJZMsvwP.js.map → BAccordion-DgXJMqdG.js.map} +1 -1
  3. package/dist/{BAccordion-CNzV6f8e.mjs → BAccordion-Gz2SpRmq.mjs} +2 -2
  4. package/dist/{BAccordion-CNzV6f8e.mjs.map → BAccordion-Gz2SpRmq.mjs.map} +1 -1
  5. package/dist/{BAlert-CRRUJXYi.mjs → BAlert-BFPBalmr.mjs} +9 -10
  6. package/dist/BAlert-BFPBalmr.mjs.map +1 -0
  7. package/dist/{BAlert-CHbgLTZH.js → BAlert-Dk3rgEOI.js} +9 -10
  8. package/dist/BAlert-Dk3rgEOI.js.map +1 -0
  9. package/dist/{BApp-DJWC2mB8.mjs → BApp-CIu-zI8K.mjs} +2 -2
  10. package/dist/BApp-CIu-zI8K.mjs.map +1 -0
  11. package/dist/{BApp-DaM0UKIg.js → BApp-cBKQc5Dd.js} +2 -2
  12. package/dist/BApp-cBKQc5Dd.js.map +1 -0
  13. package/dist/BAspect-BULTO240.js.map +1 -1
  14. package/dist/BAspect-CwokVvvn.mjs.map +1 -1
  15. package/dist/{BAutocomplete-4CFl6XQR.js → BAutocomplete-BCOfyy8g.js} +126 -66
  16. package/dist/{BAutocomplete-4CFl6XQR.js.map → BAutocomplete-BCOfyy8g.js.map} +1 -1
  17. package/dist/{BAutocomplete-B7yzKPIp.mjs → BAutocomplete-j3KJbBFs.mjs} +127 -67
  18. package/dist/{BAutocomplete-B7yzKPIp.mjs.map → BAutocomplete-j3KJbBFs.mjs.map} +1 -1
  19. package/dist/{BAvatar-BHqTW5Ll.js → BAvatar-CZn0MQHY.js} +7 -7
  20. package/dist/BAvatar-CZn0MQHY.js.map +1 -0
  21. package/dist/{BAvatar-BSLk69M0.mjs → BAvatar-DODGnQMY.mjs} +7 -7
  22. package/dist/BAvatar-DODGnQMY.mjs.map +1 -0
  23. package/dist/{BBadge-D5ra3W5R.mjs → BBadge-CZ219I7a.mjs} +5 -5
  24. package/dist/BBadge-CZ219I7a.mjs.map +1 -0
  25. package/dist/{BBadge-BBUcrujj.js → BBadge-DTJcCo9u.js} +5 -5
  26. package/dist/BBadge-DTJcCo9u.js.map +1 -0
  27. package/dist/{BBreadcrumb-BSsiwCNB.js → BBreadcrumb-DFG2Qxl9.js} +2 -2
  28. package/dist/BBreadcrumb-DFG2Qxl9.js.map +1 -0
  29. package/dist/{BBreadcrumb-amkzWyz6.mjs → BBreadcrumb-Dk4ia-9c.mjs} +2 -2
  30. package/dist/BBreadcrumb-Dk4ia-9c.mjs.map +1 -0
  31. package/dist/{BButton-BUYwco3v.js → BButton-BZ9eI3ZX.js} +4 -4
  32. package/dist/BButton-BZ9eI3ZX.js.map +1 -0
  33. package/dist/{BButton-DgequxLk.mjs → BButton-C0Ylhonf.mjs} +4 -4
  34. package/dist/BButton-C0Ylhonf.mjs.map +1 -0
  35. package/dist/{BButton-CDo9SRvU.mjs → BButton-D_sCrjpg.mjs} +4 -5
  36. package/dist/BButton-D_sCrjpg.mjs.map +1 -0
  37. package/dist/{BButton-Bw4HgpsF.js → BButton-Dr-RadYQ.js} +4 -5
  38. package/dist/BButton-Dr-RadYQ.js.map +1 -0
  39. package/dist/{BCard-CSyEHz8Z.js → BCard-BjQkY783.js} +2 -2
  40. package/dist/BCard-BjQkY783.js.map +1 -0
  41. package/dist/{BCard-CgbTFn3S.js → BCard-BkvG5Zzw.js} +5 -11
  42. package/dist/BCard-BkvG5Zzw.js.map +1 -0
  43. package/dist/{BCard-C1G8PO5k.mjs → BCard-TS8DtOwm.mjs} +6 -12
  44. package/dist/BCard-TS8DtOwm.mjs.map +1 -0
  45. package/dist/{BCard-CJ822HyH.mjs → BCard-cj8_dIcz.mjs} +2 -2
  46. package/dist/BCard-cj8_dIcz.mjs.map +1 -0
  47. package/dist/{BCarousel-BgT74ryc.js → BCarousel-D23rApAX.js} +3 -3
  48. package/dist/{BCarousel-BgT74ryc.js.map → BCarousel-D23rApAX.js.map} +1 -1
  49. package/dist/{BCarousel-D9Yei1Q4.mjs → BCarousel-VL1gVXpt.mjs} +3 -3
  50. package/dist/{BCarousel-D9Yei1Q4.mjs.map → BCarousel-VL1gVXpt.mjs.map} +1 -1
  51. package/dist/{BCloseButton-CjgbR1Ec.mjs → BCloseButton-CCdRwLDo.mjs} +1 -1
  52. package/dist/BCloseButton-CCdRwLDo.mjs.map +1 -0
  53. package/dist/{BCloseButton-CN__Jjcj.js → BCloseButton-fw5ONnhr.js} +1 -1
  54. package/dist/BCloseButton-fw5ONnhr.js.map +1 -0
  55. package/dist/{BCol-0tZmpOme.js → BCol-CArTYHqb.js} +2 -2
  56. package/dist/BCol-CArTYHqb.js.map +1 -0
  57. package/dist/{BCol-C4v-TOX6.mjs → BCol-VPaTVLsM.mjs} +2 -2
  58. package/dist/BCol-VPaTVLsM.mjs.map +1 -0
  59. package/dist/{BCollapse-D-xTGkX_.mjs → BCollapse-CTvK48kB.mjs} +2 -2
  60. package/dist/BCollapse-CTvK48kB.mjs.map +1 -0
  61. package/dist/{BCollapse-DZ1z2c8U.js → BCollapse-CZlDVTpI.js} +2 -2
  62. package/dist/BCollapse-CZlDVTpI.js.map +1 -0
  63. package/dist/{BContainer-BZUI2qQv.js → BContainer-CNmEk2mi.js} +3 -3
  64. package/dist/BContainer-CNmEk2mi.js.map +1 -0
  65. package/dist/{BContainer-DjIGH6-y.mjs → BContainer-CeHyMYb_.mjs} +3 -3
  66. package/dist/BContainer-CeHyMYb_.mjs.map +1 -0
  67. package/dist/{BDateField-RWwEMIwd.js → BDateField-B4yL8Pju.js} +6 -6
  68. package/dist/BDateField-B4yL8Pju.js.map +1 -0
  69. package/dist/{BDateField-BJIq6gs9.mjs → BDateField-gRWIwMnA.mjs} +6 -6
  70. package/dist/BDateField-gRWIwMnA.mjs.map +1 -0
  71. package/dist/{BDatePicker-DfzZBWjU.mjs → BDatePicker-ZuMpgD91.mjs} +8 -8
  72. package/dist/{BDatePicker-DfzZBWjU.mjs.map → BDatePicker-ZuMpgD91.mjs.map} +1 -1
  73. package/dist/{BDatePicker-BQN6qZXa.js → BDatePicker-m2drV1fl.js} +8 -8
  74. package/dist/{BDatePicker-BQN6qZXa.js.map → BDatePicker-m2drV1fl.js.map} +1 -1
  75. package/dist/{BDropdown-D2pBrZsG.mjs → BDropdown-B2vWJ-u0.mjs} +12 -12
  76. package/dist/BDropdown-B2vWJ-u0.mjs.map +1 -0
  77. package/dist/{BDropdown-BxciLgyt.js → BDropdown-BSCasYDc.js} +12 -12
  78. package/dist/BDropdown-BSCasYDc.js.map +1 -0
  79. package/dist/{BDropdown-DgbFCKfP.js → BDropdown-CL-erjq8.js} +4 -4
  80. package/dist/BDropdown-CL-erjq8.js.map +1 -0
  81. package/dist/{BDropdown-CRIh9xqy.mjs → BDropdown-D2ep4wKG.mjs} +4 -4
  82. package/dist/BDropdown-D2ep4wKG.mjs.map +1 -0
  83. package/dist/{BForm-Oh6PpdcD.mjs → BForm-CpNuvbIt.mjs} +1 -1
  84. package/dist/BForm-CpNuvbIt.mjs.map +1 -0
  85. package/dist/{BForm-_h0kYDl7.js → BForm-CriVh5cC.js} +5 -5
  86. package/dist/BForm-CriVh5cC.js.map +1 -0
  87. package/dist/{BForm-Bp7SFxiK.js → BForm-K67Ciyza.js} +1 -1
  88. package/dist/BForm-K67Ciyza.js.map +1 -0
  89. package/dist/{BForm-C8I6v7bU.mjs → BForm-__5Chigr.mjs} +5 -5
  90. package/dist/BForm-__5Chigr.mjs.map +1 -0
  91. package/dist/{BFormCheckbox-BPQxUDQG.js → BFormCheckbox-g7gtIrhy.js} +5 -5
  92. package/dist/BFormCheckbox-g7gtIrhy.js.map +1 -0
  93. package/dist/{BFormCheckbox-DPNPjRKN.mjs → BFormCheckbox-xN7AQw4O.mjs} +5 -5
  94. package/dist/BFormCheckbox-xN7AQw4O.mjs.map +1 -0
  95. package/dist/{BFormFile-BWknj7fW.js → BFormFile-DC-x9wQo.js} +3 -3
  96. package/dist/{BFormFile-BWknj7fW.js.map → BFormFile-DC-x9wQo.js.map} +1 -1
  97. package/dist/{BFormFile-Bf3GMYeX.mjs → BFormFile-DXdAyYmv.mjs} +3 -3
  98. package/dist/{BFormFile-Bf3GMYeX.mjs.map → BFormFile-DXdAyYmv.mjs.map} +1 -1
  99. package/dist/BFormGroup-DZTiChgT.js +505 -0
  100. package/dist/BFormGroup-DZTiChgT.js.map +1 -0
  101. package/dist/BFormGroup-ayltvQts.mjs +499 -0
  102. package/dist/BFormGroup-ayltvQts.mjs.map +1 -0
  103. package/dist/{BFormInput-BuRSGYdY.js → BFormInput-DNuvqbFQ.js} +2 -2
  104. package/dist/BFormInput-DNuvqbFQ.js.map +1 -0
  105. package/dist/{BFormInput-Dg9dbwHp.mjs → BFormInput-NKko58M2.mjs} +2 -2
  106. package/dist/BFormInput-NKko58M2.mjs.map +1 -0
  107. package/dist/{BFormOtp-DYjsPhQN.mjs → BFormOtp-B4al7MJf.mjs} +6 -6
  108. package/dist/{BFormOtp-DYjsPhQN.mjs.map → BFormOtp-B4al7MJf.mjs.map} +1 -1
  109. package/dist/{BFormOtp-C1YJvwN8.js → BFormOtp-UcLR9oFd.js} +6 -6
  110. package/dist/{BFormOtp-C1YJvwN8.js.map → BFormOtp-UcLR9oFd.js.map} +1 -1
  111. package/dist/{BFormRadio-CqYd0bLV.mjs → BFormRadio-DHx68AdL.mjs} +5 -5
  112. package/dist/BFormRadio-DHx68AdL.mjs.map +1 -0
  113. package/dist/{BFormRadio-BZ0etDxl.js → BFormRadio-DX-gM5Rc.js} +5 -5
  114. package/dist/BFormRadio-DX-gM5Rc.js.map +1 -0
  115. package/dist/{BFormRating-Bb_ACp-9.mjs → BFormRating-BR7RMvZG.mjs} +2 -2
  116. package/dist/BFormRating-BR7RMvZG.mjs.map +1 -0
  117. package/dist/{BFormRating-CNqf91vN.js → BFormRating-CF-x5qkB.js} +2 -2
  118. package/dist/BFormRating-CF-x5qkB.js.map +1 -0
  119. package/dist/{BFormSelect-B_mbfTMC.js → BFormSelect-CUkyKBNN.js} +5 -5
  120. package/dist/BFormSelect-CUkyKBNN.js.map +1 -0
  121. package/dist/{BFormSelect-CpkJ1haI.mjs → BFormSelect-Co-ZU8yY.mjs} +5 -5
  122. package/dist/BFormSelect-Co-ZU8yY.mjs.map +1 -0
  123. package/dist/{BFormSelectOption-O8cyyv3i.mjs → BFormSelectOption-B3BO50XB.mjs} +1 -1
  124. package/dist/BFormSelectOption-B3BO50XB.mjs.map +1 -0
  125. package/dist/{BFormSelectOption-BY4P8HOf.js → BFormSelectOption-CQ3j1Q5j.js} +1 -1
  126. package/dist/BFormSelectOption-CQ3j1Q5j.js.map +1 -0
  127. package/dist/{BFormSpinbutton-BLO0Yf36.mjs → BFormSpinbutton-CPsVUIh9.mjs} +4 -4
  128. package/dist/{BFormSpinbutton-BLO0Yf36.mjs.map → BFormSpinbutton-CPsVUIh9.mjs.map} +1 -1
  129. package/dist/{BFormSpinbutton-BaOTL1k1.js → BFormSpinbutton-DPCXum9q.js} +4 -4
  130. package/dist/{BFormSpinbutton-BaOTL1k1.js.map → BFormSpinbutton-DPCXum9q.js.map} +1 -1
  131. package/dist/{BFormTag-C7B-bX72.js → BFormTag-Bsy6Znok.js} +3 -3
  132. package/dist/BFormTag-Bsy6Znok.js.map +1 -0
  133. package/dist/{BFormTag-BUWEugEC.mjs → BFormTag-Cjg1R-Lj.mjs} +3 -3
  134. package/dist/BFormTag-Cjg1R-Lj.mjs.map +1 -0
  135. package/dist/{BFormTags-DJzXJp7d.js → BFormTags-BIZyBseI.js} +9 -7
  136. package/dist/BFormTags-BIZyBseI.js.map +1 -0
  137. package/dist/{BFormTags-DWAWX2av.mjs → BFormTags-D2Dk598Q.mjs} +9 -7
  138. package/dist/BFormTags-D2Dk598Q.mjs.map +1 -0
  139. package/dist/{BFormTextarea-8c3B3kAI.js → BFormTextarea-CYh47SxL.js} +3 -3
  140. package/dist/BFormTextarea-CYh47SxL.js.map +1 -0
  141. package/dist/{BFormTextarea-BMk05ojJ.mjs → BFormTextarea-M21mholw.mjs} +3 -3
  142. package/dist/BFormTextarea-M21mholw.mjs.map +1 -0
  143. package/dist/{BFormValidFeedback-DvTgwqSe.js → BFormValidFeedback-BhkEhSa0.js} +3 -3
  144. package/dist/BFormValidFeedback-BhkEhSa0.js.map +1 -0
  145. package/dist/{BFormValidFeedback-_Dgzm0Ag.mjs → BFormValidFeedback-DWkakzVO.mjs} +3 -3
  146. package/dist/BFormValidFeedback-DWkakzVO.mjs.map +1 -0
  147. package/dist/{BImg-Dyy0N-WQ.js → BImg-DFiJSy66.js} +7 -7
  148. package/dist/BImg-DFiJSy66.js.map +1 -0
  149. package/dist/{BImg-BQqZfIM9.mjs → BImg-UUMOpbK0.mjs} +7 -7
  150. package/dist/BImg-UUMOpbK0.mjs.map +1 -0
  151. package/dist/{BInputGroup-C5sxenhE.mjs → BInputGroup-3AVRA3U7.mjs} +1 -1
  152. package/dist/BInputGroup-3AVRA3U7.mjs.map +1 -0
  153. package/dist/{BInputGroup-DTP5Vf1f.js → BInputGroup-BAC-B_UM.js} +1 -1
  154. package/dist/BInputGroup-BAC-B_UM.js.map +1 -0
  155. package/dist/{BInputGroup-Dl9AgpAx.mjs → BInputGroup-CfELrPhK.mjs} +2 -2
  156. package/dist/BInputGroup-CfELrPhK.mjs.map +1 -0
  157. package/dist/{BInputGroup-Bfcs5h_Q.js → BInputGroup-CiKwWBSu.js} +2 -2
  158. package/dist/BInputGroup-CiKwWBSu.js.map +1 -0
  159. package/dist/{BLink-Cz5YCsnv.mjs → BLink-CNFWSz0D.mjs} +2 -2
  160. package/dist/{BLink-Cz5YCsnv.mjs.map → BLink-CNFWSz0D.mjs.map} +1 -1
  161. package/dist/{BLink-uemyYKst.js → BLink-uLjtY3bY.js} +2 -2
  162. package/dist/{BLink-uemyYKst.js.map → BLink-uLjtY3bY.js.map} +1 -1
  163. package/dist/{BListGroup-BmtN0xQ3.mjs → BListGroup-CGxa7ZEu.mjs} +2 -2
  164. package/dist/BListGroup-CGxa7ZEu.mjs.map +1 -0
  165. package/dist/{BListGroup-DuyMdAxJ.js → BListGroup-CeXKZio1.js} +2 -2
  166. package/dist/BListGroup-CeXKZio1.js.map +1 -0
  167. package/dist/{BModal-BnHYbFuj.js → BModal-6hh-azT8.js} +9 -9
  168. package/dist/{BModal-BnHYbFuj.js.map → BModal-6hh-azT8.js.map} +1 -1
  169. package/dist/{BModal-CAjLrkBp.mjs → BModal-BEmloby5.mjs} +9 -9
  170. package/dist/{BModal-CAjLrkBp.mjs.map → BModal-BEmloby5.mjs.map} +1 -1
  171. package/dist/{BNav-BdO2N7G0.mjs → BNav-EHHlEg1E.mjs} +5 -5
  172. package/dist/BNav-EHHlEg1E.mjs.map +1 -0
  173. package/dist/{BNav-MjroX-Jl.js → BNav-u9QwSGj3.js} +5 -5
  174. package/dist/BNav-u9QwSGj3.js.map +1 -0
  175. package/dist/{BNavbar-vN3_CMLn.mjs → BNavbar-kgHIo_Gr.mjs} +5 -5
  176. package/dist/BNavbar-kgHIo_Gr.mjs.map +1 -0
  177. package/dist/{BNavbar-s9Ak5PnO.js → BNavbar-s8yvmhyz.js} +5 -5
  178. package/dist/BNavbar-s8yvmhyz.js.map +1 -0
  179. package/dist/{BOffcanvas-DmkJSSFy.mjs → BOffcanvas-DaKJOICF.mjs} +9 -9
  180. package/dist/BOffcanvas-DaKJOICF.mjs.map +1 -0
  181. package/dist/{BOffcanvas-ColOuYdV.js → BOffcanvas-mlOkh8T1.js} +9 -9
  182. package/dist/BOffcanvas-mlOkh8T1.js.map +1 -0
  183. package/dist/{BOverlay-B7vJAdHO.js → BOverlay--gZBEMlX.js} +5 -5
  184. package/dist/BOverlay--gZBEMlX.js.map +1 -0
  185. package/dist/{BOverlay-BGxH9JVy.mjs → BOverlay-DSUoseNJ.mjs} +5 -5
  186. package/dist/BOverlay-DSUoseNJ.mjs.map +1 -0
  187. package/dist/{BPagination-CvoSN1He.mjs → BPagination-C7MKOk8h.mjs} +8 -8
  188. package/dist/BPagination-C7MKOk8h.mjs.map +1 -0
  189. package/dist/{BPagination-C0-4NVzW.js → BPagination-D6W1LdgK.js} +8 -8
  190. package/dist/BPagination-D6W1LdgK.js.map +1 -0
  191. package/dist/{BPlaceholder-n447tOzJ.js → BPlaceholder-Ckvq3tMu.js} +6 -6
  192. package/dist/BPlaceholder-Ckvq3tMu.js.map +1 -0
  193. package/dist/{BPlaceholder-DKDtjMjy.mjs → BPlaceholder-D__hNPyQ.mjs} +6 -6
  194. package/dist/BPlaceholder-D__hNPyQ.mjs.map +1 -0
  195. package/dist/{BProgress-BIqo6vLh.mjs → BProgress-I1ucNlpA.mjs} +3 -3
  196. package/dist/BProgress-I1ucNlpA.mjs.map +1 -0
  197. package/dist/{BProgress-Bc3ZSkac.js → BProgress-ySlPjpRn.js} +3 -3
  198. package/dist/BProgress-ySlPjpRn.js.map +1 -0
  199. package/dist/{BRow-tqMEhkZS.js → BRow-CmKiMcMZ.js} +3 -3
  200. package/dist/BRow-CmKiMcMZ.js.map +1 -0
  201. package/dist/{BRow-BCEK3fe6.mjs → BRow-U3L8AcKV.mjs} +3 -3
  202. package/dist/BRow-U3L8AcKV.mjs.map +1 -0
  203. package/dist/{BSpinner-8UMAINYb.js → BSpinner-C1bm8U4-.js} +2 -2
  204. package/dist/BSpinner-C1bm8U4-.js.map +1 -0
  205. package/dist/{BSpinner-BpnwONvx.mjs → BSpinner-CAo-XD04.mjs} +2 -2
  206. package/dist/BSpinner-CAo-XD04.mjs.map +1 -0
  207. package/dist/{BTable-CjHMx8Yv.mjs → BTable-DYS8Lftg.mjs} +7 -7
  208. package/dist/BTable-DYS8Lftg.mjs.map +1 -0
  209. package/dist/{BTable-Btzu1IJ_.js → BTable-G-Pjvx68.js} +7 -7
  210. package/dist/BTable-G-Pjvx68.js.map +1 -0
  211. package/dist/{BTableSimple-C901Z5V9.mjs → BTableSimple-CThwYBVl.mjs} +3 -3
  212. package/dist/BTableSimple-CThwYBVl.mjs.map +1 -0
  213. package/dist/{BTableSimple-BcdizuDm.js → BTableSimple-pyz_6D4s.js} +3 -3
  214. package/dist/BTableSimple-pyz_6D4s.js.map +1 -0
  215. package/dist/{BTabs-DiYaJi22.js → BTabs-C8rUY0Lx.js} +41 -13
  216. package/dist/BTabs-C8rUY0Lx.js.map +1 -0
  217. package/dist/{BTabs-DZEF9kgT.mjs → BTabs-Krs_Lv-R.mjs} +42 -14
  218. package/dist/BTabs-Krs_Lv-R.mjs.map +1 -0
  219. package/dist/{BTimeField-DSWZeGYP.mjs → BTimeField-DSf4cMpN.mjs} +5 -5
  220. package/dist/{BTimeField-DSWZeGYP.mjs.map → BTimeField-DSf4cMpN.mjs.map} +1 -1
  221. package/dist/{BTimeField-VTrtxGkI.js → BTimeField-W2LqGCjB.js} +5 -5
  222. package/dist/{BTimeField-VTrtxGkI.js.map → BTimeField-W2LqGCjB.js.map} +1 -1
  223. package/dist/{BToast-BFcT76M1.js → BToast-DZuxMDbe.js} +10 -11
  224. package/dist/BToast-DZuxMDbe.js.map +1 -0
  225. package/dist/{BToast-D5XkJqF4.mjs → BToast-Dcfnqbxt.mjs} +10 -11
  226. package/dist/BToast-Dcfnqbxt.mjs.map +1 -0
  227. package/dist/{BTooltip-BwiqjqX-.js → BTooltip-BGTjsV1z.js} +2 -2
  228. package/dist/BTooltip-BGTjsV1z.js.map +1 -0
  229. package/dist/{BTooltip-DohT1Q3C.mjs → BTooltip-BWij0hjE.mjs} +2 -2
  230. package/dist/BTooltip-BWij0hjE.mjs.map +1 -0
  231. package/dist/{BootstrapVueOptions-DbXZtoXX.js → BootstrapVueOptions-DeViqxoD.js} +1 -1
  232. package/dist/{BootstrapVueOptions-DbXZtoXX.js.map → BootstrapVueOptions-DeViqxoD.js.map} +1 -1
  233. package/dist/{BootstrapVueOptions-D3flIVqU.mjs → BootstrapVueOptions-Dt1TQdih.mjs} +1 -1
  234. package/dist/{BootstrapVueOptions-D3flIVqU.mjs.map → BootstrapVueOptions-Dt1TQdih.mjs.map} +1 -1
  235. package/dist/{ConditionalTeleport-BNsziElf.mjs → ConditionalTeleport-B4KYZIM6.mjs} +1 -1
  236. package/dist/ConditionalTeleport-B4KYZIM6.mjs.map +1 -0
  237. package/dist/{ConditionalTeleport-BJZk6HAx.js → ConditionalTeleport-BDWcebyD.js} +1 -1
  238. package/dist/ConditionalTeleport-BDWcebyD.js.map +1 -0
  239. package/dist/{ConditionalWrapper-Cc7EIszd.js → ConditionalWrapper-DZH_VSwb.js} +1 -1
  240. package/dist/{ConditionalWrapper-Cc7EIszd.js.map → ConditionalWrapper-DZH_VSwb.js.map} +1 -1
  241. package/dist/{ConditionalWrapper-D9ovtbHB.mjs → ConditionalWrapper-Dbc_O6qe.mjs} +1 -1
  242. package/dist/{ConditionalWrapper-D9ovtbHB.mjs.map → ConditionalWrapper-Dbc_O6qe.mjs.map} +1 -1
  243. package/dist/{DateRangeFieldInput-DiVuhf4Y.mjs → DateRangeFieldInput-B86VEz0H.mjs} +5 -5
  244. package/dist/{DateRangeFieldInput-DiVuhf4Y.mjs.map → DateRangeFieldInput-B86VEz0H.mjs.map} +1 -1
  245. package/dist/{DateRangeFieldInput-Ce7PM3PJ.js → DateRangeFieldInput-HvvI2You.js} +5 -5
  246. package/dist/{DateRangeFieldInput-Ce7PM3PJ.js.map → DateRangeFieldInput-HvvI2You.js.map} +1 -1
  247. package/dist/{PopperContent-CSwv2Fih.js → PopperContent-BS_eKjzD.js} +6 -6
  248. package/dist/{PopperContent-CSwv2Fih.js.map → PopperContent-BS_eKjzD.js.map} +1 -1
  249. package/dist/{PopperContent-BTUvv6Tu.mjs → PopperContent-DmSgsjSC.mjs} +6 -6
  250. package/dist/{PopperContent-BTUvv6Tu.mjs.map → PopperContent-DmSgsjSC.mjs.map} +1 -1
  251. package/dist/{VisuallyHidden-Bbwok8oL.mjs → VisuallyHidden-C4sXnc-k.mjs} +2 -2
  252. package/dist/{VisuallyHidden-Bbwok8oL.mjs.map → VisuallyHidden-C4sXnc-k.mjs.map} +1 -1
  253. package/dist/{VisuallyHidden-DaN947I0.js → VisuallyHidden-Cx0phlXT.js} +2 -2
  254. package/dist/{VisuallyHidden-DaN947I0.js.map → VisuallyHidden-Cx0phlXT.js.map} +1 -1
  255. package/dist/{VisuallyHiddenInput-Biq4Qv5j.js → VisuallyHiddenInput-BNrInt6d.js} +2 -2
  256. package/dist/{VisuallyHiddenInput-Biq4Qv5j.js.map → VisuallyHiddenInput-BNrInt6d.js.map} +1 -1
  257. package/dist/{VisuallyHiddenInput-D1SjTCVH.mjs → VisuallyHiddenInput-DKIzxsQR.mjs} +2 -2
  258. package/dist/{VisuallyHiddenInput-D1SjTCVH.mjs.map → VisuallyHiddenInput-DKIzxsQR.mjs.map} +1 -1
  259. package/dist/bootstrap-vue-next.css +56 -1
  260. package/dist/bootstrap-vue-next.mjs +60 -60
  261. package/dist/bootstrap-vue-next.umd.js +60 -60
  262. package/dist/components/BAccordion/BAccordionItem.vue.d.mts +1 -2
  263. package/dist/components/BAccordion/BAccordionItem.vue.d.ts +1 -2
  264. package/dist/components/BAlert/BAlert.vue.d.mts +1 -1
  265. package/dist/components/BAlert/BAlert.vue.d.ts +1 -1
  266. package/dist/components/BApp/BApp.vue.d.mts +1 -1
  267. package/dist/components/BApp/BApp.vue.d.ts +1 -1
  268. package/dist/components/BApp/BOrchestrator.vue.d.mts +1 -1
  269. package/dist/components/BApp/BOrchestrator.vue.d.ts +1 -1
  270. package/dist/components/BAspect/BAspect.vue.d.mts +2 -4
  271. package/dist/components/BAspect/BAspect.vue.d.ts +2 -4
  272. package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +270 -6
  273. package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +270 -6
  274. package/dist/components/BAvatar/BAvatar.vue.d.mts +1 -2
  275. package/dist/components/BAvatar/BAvatar.vue.d.ts +1 -2
  276. package/dist/components/BAvatar/BAvatarGroup.vue.d.mts +1 -2
  277. package/dist/components/BAvatar/BAvatarGroup.vue.d.ts +1 -2
  278. package/dist/components/BBadge/BBadge.vue.d.mts +1 -2
  279. package/dist/components/BBadge/BBadge.vue.d.ts +1 -2
  280. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.mts +1 -2
  281. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.ts +1 -2
  282. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.mts +1 -2
  283. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.ts +1 -2
  284. package/dist/components/BButton/BButton.vue.d.mts +1 -3
  285. package/dist/components/BButton/BButton.vue.d.ts +1 -3
  286. package/dist/components/BButton/BButtonGroup.vue.d.mts +1 -2
  287. package/dist/components/BButton/BButtonGroup.vue.d.ts +1 -2
  288. package/dist/components/BButton/BCloseButton.vue.d.mts +1 -1
  289. package/dist/components/BButton/BCloseButton.vue.d.ts +1 -1
  290. package/dist/components/BCard/BCard.vue.d.mts +1 -2
  291. package/dist/components/BCard/BCard.vue.d.ts +1 -2
  292. package/dist/components/BCard/BCardBody.vue.d.mts +1 -2
  293. package/dist/components/BCard/BCardBody.vue.d.ts +1 -2
  294. package/dist/components/BCard/BCardGroup.vue.d.mts +1 -2
  295. package/dist/components/BCard/BCardGroup.vue.d.ts +1 -2
  296. package/dist/components/BCard/BCardHeader.vue.d.mts +1 -1
  297. package/dist/components/BCard/BCardHeader.vue.d.ts +1 -1
  298. package/dist/components/BCard/BCardImg.vue.d.mts +1 -1
  299. package/dist/components/BCard/BCardImg.vue.d.ts +1 -1
  300. package/dist/components/BCard/BCardSubtitle.vue.d.mts +1 -2
  301. package/dist/components/BCard/BCardSubtitle.vue.d.ts +1 -2
  302. package/dist/components/BCard/BCardText.vue.d.mts +1 -2
  303. package/dist/components/BCard/BCardText.vue.d.ts +1 -2
  304. package/dist/components/BCard/BCardTitle.vue.d.mts +1 -2
  305. package/dist/components/BCard/BCardTitle.vue.d.ts +1 -2
  306. package/dist/components/BCardHeadFoot.vue.d.mts +1 -2
  307. package/dist/components/BCardHeadFoot.vue.d.ts +1 -2
  308. package/dist/components/BCarousel/BCarousel.vue.d.mts +1 -1
  309. package/dist/components/BCarousel/BCarousel.vue.d.ts +1 -1
  310. package/dist/components/BCarousel/BCarouselSlide.vue.d.mts +1 -2
  311. package/dist/components/BCarousel/BCarouselSlide.vue.d.ts +1 -2
  312. package/dist/components/BCollapse/BCollapse.vue.d.mts +1 -2
  313. package/dist/components/BCollapse/BCollapse.vue.d.ts +1 -2
  314. package/dist/components/BContainer/BCol.vue.d.mts +1 -2
  315. package/dist/components/BContainer/BCol.vue.d.ts +1 -2
  316. package/dist/components/BContainer/BContainer.vue.d.mts +1 -2
  317. package/dist/components/BContainer/BContainer.vue.d.ts +1 -2
  318. package/dist/components/BContainer/BRow.vue.d.mts +1 -2
  319. package/dist/components/BContainer/BRow.vue.d.ts +1 -2
  320. package/dist/components/BDateField/BDateField.vue.d.mts +2 -3
  321. package/dist/components/BDateField/BDateField.vue.d.ts +2 -3
  322. package/dist/components/BDateField/BDateRangeField.vue.d.mts +2 -3
  323. package/dist/components/BDateField/BDateRangeField.vue.d.ts +2 -3
  324. package/dist/components/BDateField/BTimeRangeField.vue.d.mts +5 -6
  325. package/dist/components/BDateField/BTimeRangeField.vue.d.ts +5 -6
  326. package/dist/components/BDatePicker/BDatePicker.vue.d.mts +3 -4
  327. package/dist/components/BDatePicker/BDatePicker.vue.d.ts +3 -4
  328. package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +3 -4
  329. package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +3 -4
  330. package/dist/components/BDropdown/BDropdownDivider.vue.d.mts +1 -1
  331. package/dist/components/BDropdown/BDropdownDivider.vue.d.ts +1 -1
  332. package/dist/components/BDropdown/BDropdownForm.vue.d.mts +1 -2
  333. package/dist/components/BDropdown/BDropdownForm.vue.d.ts +1 -2
  334. package/dist/components/BDropdown/BDropdownGroup.vue.d.mts +1 -2
  335. package/dist/components/BDropdown/BDropdownGroup.vue.d.ts +1 -2
  336. package/dist/components/BDropdown/BDropdownHeader.vue.d.mts +1 -2
  337. package/dist/components/BDropdown/BDropdownHeader.vue.d.ts +1 -2
  338. package/dist/components/BDropdown/BDropdownItem.vue.d.mts +1 -2
  339. package/dist/components/BDropdown/BDropdownItem.vue.d.ts +1 -2
  340. package/dist/components/BDropdown/BDropdownItemButton.vue.d.mts +1 -2
  341. package/dist/components/BDropdown/BDropdownItemButton.vue.d.ts +1 -2
  342. package/dist/components/BDropdown/BDropdownText.vue.d.mts +1 -2
  343. package/dist/components/BDropdown/BDropdownText.vue.d.ts +1 -2
  344. package/dist/components/BForm/BForm.vue.d.mts +1 -2
  345. package/dist/components/BForm/BForm.vue.d.ts +1 -2
  346. package/dist/components/BForm/BFormDatalist.vue.d.mts +1 -2
  347. package/dist/components/BForm/BFormDatalist.vue.d.ts +1 -2
  348. package/dist/components/BForm/BFormDatalistBase.vue.d.mts +1 -1
  349. package/dist/components/BForm/BFormDatalistBase.vue.d.ts +1 -1
  350. package/dist/components/BForm/BFormFloatingLabel.vue.d.mts +1 -2
  351. package/dist/components/BForm/BFormFloatingLabel.vue.d.ts +1 -2
  352. package/dist/components/BForm/BFormRow.vue.d.mts +1 -2
  353. package/dist/components/BForm/BFormRow.vue.d.ts +1 -2
  354. package/dist/components/BForm/BFormText.vue.d.mts +1 -2
  355. package/dist/components/BForm/BFormText.vue.d.ts +1 -2
  356. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -3
  357. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -3
  358. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.mts +1 -2
  359. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.ts +1 -2
  360. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.mts +1 -2
  361. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.ts +1 -2
  362. package/dist/components/BFormGroup/BFormGroup.vue.d.mts +3 -3
  363. package/dist/components/BFormGroup/BFormGroup.vue.d.ts +3 -3
  364. package/dist/components/BFormGroupContent.vue.d.mts +35 -0
  365. package/dist/components/BFormGroupContent.vue.d.ts +35 -0
  366. package/dist/components/BFormGroupLabel.vue.d.mts +35 -0
  367. package/dist/components/BFormGroupLabel.vue.d.ts +35 -0
  368. package/dist/components/BFormInput/BFormInput.vue.d.mts +2 -2
  369. package/dist/components/BFormInput/BFormInput.vue.d.ts +2 -2
  370. package/dist/components/BFormRadio/BFormRadio.vue.d.mts +1 -3
  371. package/dist/components/BFormRadio/BFormRadio.vue.d.ts +1 -3
  372. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.mts +1 -2
  373. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.ts +1 -2
  374. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.mts +1 -2
  375. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.ts +1 -2
  376. package/dist/components/BFormSelect/BFormSelect.vue.d.mts +1 -3
  377. package/dist/components/BFormSelect/BFormSelect.vue.d.ts +1 -3
  378. package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +1 -1
  379. package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +1 -1
  380. package/dist/components/BFormSelect/BFormSelectOption.vue.d.mts +1 -2
  381. package/dist/components/BFormSelect/BFormSelectOption.vue.d.ts +1 -2
  382. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.mts +1 -2
  383. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.ts +1 -2
  384. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.mts +3 -3
  385. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.ts +3 -3
  386. package/dist/components/BFormTags/BFormTag.vue.d.mts +1 -2
  387. package/dist/components/BFormTags/BFormTag.vue.d.ts +1 -2
  388. package/dist/components/BFormTags/BFormTags.vue.d.mts +4 -3
  389. package/dist/components/BFormTags/BFormTags.vue.d.ts +4 -3
  390. package/dist/components/BFormTextarea/BFormTextarea.vue.d.mts +2 -2
  391. package/dist/components/BFormTextarea/BFormTextarea.vue.d.ts +2 -2
  392. package/dist/components/BImg/BImg.vue.d.mts +1 -1
  393. package/dist/components/BImg/BImg.vue.d.ts +1 -1
  394. package/dist/components/BInputGroup/BInputGroup.vue.d.mts +1 -2
  395. package/dist/components/BInputGroup/BInputGroup.vue.d.ts +1 -2
  396. package/dist/components/BInputGroup/BInputGroupText.vue.d.mts +1 -2
  397. package/dist/components/BInputGroup/BInputGroupText.vue.d.ts +1 -2
  398. package/dist/components/BListGroup/BListGroup.vue.d.mts +1 -2
  399. package/dist/components/BListGroup/BListGroup.vue.d.ts +1 -2
  400. package/dist/components/BListGroup/BListGroupItem.vue.d.mts +1 -2
  401. package/dist/components/BListGroup/BListGroupItem.vue.d.ts +1 -2
  402. package/dist/components/BModal/BModal.vue.d.mts +2 -2
  403. package/dist/components/BModal/BModal.vue.d.ts +2 -2
  404. package/dist/components/BNav/BNav.vue.d.mts +1 -2
  405. package/dist/components/BNav/BNav.vue.d.ts +1 -2
  406. package/dist/components/BNav/BNavForm.vue.d.mts +1 -2
  407. package/dist/components/BNav/BNavForm.vue.d.ts +1 -2
  408. package/dist/components/BNav/BNavItem.vue.d.mts +1 -2
  409. package/dist/components/BNav/BNavItem.vue.d.ts +1 -2
  410. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +1 -2
  411. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +1 -2
  412. package/dist/components/BNav/BNavText.vue.d.mts +1 -2
  413. package/dist/components/BNav/BNavText.vue.d.ts +1 -2
  414. package/dist/components/BNavbar/BNavbar.vue.d.mts +1 -2
  415. package/dist/components/BNavbar/BNavbar.vue.d.ts +1 -2
  416. package/dist/components/BNavbar/BNavbarBrand.vue.d.mts +1 -2
  417. package/dist/components/BNavbar/BNavbarBrand.vue.d.ts +1 -2
  418. package/dist/components/BNavbar/BNavbarNav.vue.d.mts +1 -2
  419. package/dist/components/BNavbar/BNavbarNav.vue.d.ts +1 -2
  420. package/dist/components/BNavbar/BNavbarToggle.vue.d.mts +1 -2
  421. package/dist/components/BNavbar/BNavbarToggle.vue.d.ts +1 -2
  422. package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +1 -2
  423. package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +1 -2
  424. package/dist/components/BOverlay/BOverlay.vue.d.mts +1 -2
  425. package/dist/components/BOverlay/BOverlay.vue.d.ts +1 -2
  426. package/dist/components/BPagination/BPagination.vue.d.mts +1 -1
  427. package/dist/components/BPagination/BPagination.vue.d.ts +1 -1
  428. package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +1 -1
  429. package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +1 -1
  430. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +1 -1
  431. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +1 -1
  432. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.mts +1 -2
  433. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.ts +1 -2
  434. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.mts +1 -2
  435. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.ts +1 -2
  436. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.mts +1 -2
  437. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.ts +1 -2
  438. package/dist/components/BPopover/BPopover.vue.d.mts +1 -1
  439. package/dist/components/BPopover/BPopover.vue.d.ts +1 -1
  440. package/dist/components/BProgress/BProgress.vue.d.mts +1 -2
  441. package/dist/components/BProgress/BProgress.vue.d.ts +1 -2
  442. package/dist/components/BProgress/BProgressBar.vue.d.mts +1 -2
  443. package/dist/components/BProgress/BProgressBar.vue.d.ts +1 -2
  444. package/dist/components/BSpinner/BSpinner.vue.d.mts +1 -2
  445. package/dist/components/BSpinner/BSpinner.vue.d.ts +1 -2
  446. package/dist/components/BTable/BTableLite.vue.d.mts +1 -2
  447. package/dist/components/BTable/BTableLite.vue.d.ts +1 -2
  448. package/dist/components/BTable/BTableSimple.vue.d.mts +1 -2
  449. package/dist/components/BTable/BTableSimple.vue.d.ts +1 -2
  450. package/dist/components/BTable/BTbody.vue.d.mts +1 -2
  451. package/dist/components/BTable/BTbody.vue.d.ts +1 -2
  452. package/dist/components/BTable/BTd.vue.d.mts +1 -2
  453. package/dist/components/BTable/BTd.vue.d.ts +1 -2
  454. package/dist/components/BTable/BTfoot.vue.d.mts +1 -2
  455. package/dist/components/BTable/BTfoot.vue.d.ts +1 -2
  456. package/dist/components/BTable/BTh.vue.d.mts +1 -2
  457. package/dist/components/BTable/BTh.vue.d.ts +1 -2
  458. package/dist/components/BTable/BThead.vue.d.mts +1 -2
  459. package/dist/components/BTable/BThead.vue.d.ts +1 -2
  460. package/dist/components/BTable/BTr.vue.d.mts +1 -2
  461. package/dist/components/BTable/BTr.vue.d.ts +1 -2
  462. package/dist/components/BTabs/BTabs.vue.d.mts +2 -0
  463. package/dist/components/BTabs/BTabs.vue.d.ts +2 -0
  464. package/dist/components/BTabsTabContent.vue.d.mts +27 -0
  465. package/dist/components/BTabsTabContent.vue.d.ts +27 -0
  466. package/dist/components/BTimeField/BTimeField.vue.d.mts +2 -3
  467. package/dist/components/BTimeField/BTimeField.vue.d.ts +2 -3
  468. package/dist/components/BToast/BToast.vue.d.mts +1 -2
  469. package/dist/components/BToast/BToast.vue.d.ts +1 -2
  470. package/dist/components/BTooltip/BTooltip.vue.d.mts +1 -1
  471. package/dist/components/BTooltip/BTooltip.vue.d.ts +1 -1
  472. package/dist/composables/useAriaInvalid.d.mts +3 -2
  473. package/dist/composables/useAriaInvalid.d.ts +3 -2
  474. package/dist/composables/useFormInput.d.mts +1 -1
  475. package/dist/composables/useFormInput.d.ts +1 -1
  476. package/dist/{constants-hccBP09R.js → constants-BLIvvaat.js} +1 -1
  477. package/dist/{constants-hccBP09R.js.map → constants-BLIvvaat.js.map} +1 -1
  478. package/dist/{constants-BSIK14yA.mjs → constants-Ba9iJn2H.mjs} +1 -1
  479. package/dist/{constants-BSIK14yA.mjs.map → constants-Ba9iJn2H.mjs.map} +1 -1
  480. package/dist/{debounce-C-5Oukxb.js → debounce-D6kifS6w.js} +1 -1
  481. package/dist/{debounce-C-5Oukxb.js.map → debounce-D6kifS6w.js.map} +1 -1
  482. package/dist/{debounce-C_wjWVGH.mjs → debounce-DHxNfjan.mjs} +1 -1
  483. package/dist/{debounce-C_wjWVGH.mjs.map → debounce-DHxNfjan.mjs.map} +1 -1
  484. package/dist/{dist-BJ15ThEs.js → dist-DiXKLh_W.js} +2 -66
  485. package/dist/{dist-BJ15ThEs.js.map → dist-DiXKLh_W.js.map} +1 -1
  486. package/dist/{dist-B10a-gZ8.mjs → dist-Dk9C_HFS.mjs} +4 -62
  487. package/dist/dist-Dk9C_HFS.mjs.map +1 -0
  488. package/dist/{floating-ui.vue-CAMaNcqI.mjs → floating-ui.vue-CH2o_mZU.mjs} +1 -1
  489. package/dist/{floating-ui.vue-CAMaNcqI.mjs.map → floating-ui.vue-CH2o_mZU.mjs.map} +1 -1
  490. package/dist/{floating-ui.vue-GXIS2sFG.js → floating-ui.vue-DDOIU2nS.js} +1 -1
  491. package/dist/{floating-ui.vue-GXIS2sFG.js.map → floating-ui.vue-DDOIU2nS.js.map} +1 -1
  492. package/dist/{floatingUi-BAUk171g.mjs → floatingUi-8xXp54zf.mjs} +12 -12
  493. package/dist/floatingUi-8xXp54zf.mjs.map +1 -0
  494. package/dist/{floatingUi-DBLN9xLH.js → floatingUi-9SWu8BgZ.js} +12 -12
  495. package/dist/floatingUi-9SWu8BgZ.js.map +1 -0
  496. package/dist/{getClasses-qqI6x4f4.js → getClasses-8P0iBind.js} +1 -1
  497. package/dist/{getClasses-qqI6x4f4.js.map → getClasses-8P0iBind.js.map} +1 -1
  498. package/dist/{getClasses-DaWzwT2S.mjs → getClasses-COokMI60.mjs} +1 -1
  499. package/dist/{getClasses-DaWzwT2S.mjs.map → getClasses-COokMI60.mjs.map} +1 -1
  500. package/dist/{getElement-0_htvrFw.mjs → getElement-D2Jr1cbp.mjs} +1 -1
  501. package/dist/{getElement-0_htvrFw.mjs.map → getElement-D2Jr1cbp.mjs.map} +1 -1
  502. package/dist/{getElement-CxWWOx3K.js → getElement-DWGFJn0w.js} +1 -1
  503. package/dist/{getElement-CxWWOx3K.js.map → getElement-DWGFJn0w.js.map} +1 -1
  504. package/dist/{registryAccess-D-YxwQJq.js → registryAccess-B9QDQwV8.js} +1 -1
  505. package/dist/{registryAccess-D-YxwQJq.js.map → registryAccess-B9QDQwV8.js.map} +1 -1
  506. package/dist/{registryAccess-C1Ti_nxW.mjs → registryAccess-BkJDdh-3.mjs} +1 -1
  507. package/dist/{registryAccess-C1Ti_nxW.mjs.map → registryAccess-BkJDdh-3.mjs.map} +1 -1
  508. package/dist/src/components/BAccordion/index.mjs +1 -1
  509. package/dist/src/components/BAccordion/index.umd.js +1 -1
  510. package/dist/src/components/BAlert/index.mjs +1 -1
  511. package/dist/src/components/BAlert/index.umd.js +1 -1
  512. package/dist/src/components/BApp/index.mjs +1 -1
  513. package/dist/src/components/BApp/index.umd.js +1 -1
  514. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  515. package/dist/src/components/BAutocomplete/index.umd.js +1 -1
  516. package/dist/src/components/BAvatar/index.mjs +1 -1
  517. package/dist/src/components/BAvatar/index.umd.js +1 -1
  518. package/dist/src/components/BBadge/index.mjs +1 -1
  519. package/dist/src/components/BBadge/index.umd.js +1 -1
  520. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  521. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  522. package/dist/src/components/BButton/index.mjs +3 -3
  523. package/dist/src/components/BButton/index.umd.js +3 -3
  524. package/dist/src/components/BCard/index.mjs +2 -2
  525. package/dist/src/components/BCard/index.umd.js +2 -2
  526. package/dist/src/components/BCarousel/index.mjs +1 -1
  527. package/dist/src/components/BCarousel/index.umd.js +1 -1
  528. package/dist/src/components/BCol/index.mjs +1 -1
  529. package/dist/src/components/BCol/index.umd.js +1 -1
  530. package/dist/src/components/BCollapse/index.mjs +1 -1
  531. package/dist/src/components/BCollapse/index.umd.js +1 -1
  532. package/dist/src/components/BContainer/index.mjs +3 -3
  533. package/dist/src/components/BContainer/index.umd.js +3 -3
  534. package/dist/src/components/BDateField/index.mjs +1 -1
  535. package/dist/src/components/BDateField/index.umd.js +1 -1
  536. package/dist/src/components/BDatePicker/index.mjs +1 -1
  537. package/dist/src/components/BDatePicker/index.umd.js +1 -1
  538. package/dist/src/components/BDropdown/index.mjs +2 -2
  539. package/dist/src/components/BDropdown/index.umd.js +2 -2
  540. package/dist/src/components/BForm/index.mjs +3 -3
  541. package/dist/src/components/BForm/index.umd.js +3 -3
  542. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  543. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  544. package/dist/src/components/BFormFile/index.mjs +1 -1
  545. package/dist/src/components/BFormFile/index.umd.js +1 -1
  546. package/dist/src/components/BFormGroup/index.mjs +1 -1
  547. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  548. package/dist/src/components/BFormInput/index.mjs +1 -1
  549. package/dist/src/components/BFormInput/index.umd.js +1 -1
  550. package/dist/src/components/BFormOtp/index.mjs +1 -1
  551. package/dist/src/components/BFormOtp/index.umd.js +1 -1
  552. package/dist/src/components/BFormRadio/index.mjs +1 -1
  553. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  554. package/dist/src/components/BFormRating/index.mjs +1 -1
  555. package/dist/src/components/BFormRating/index.umd.js +1 -1
  556. package/dist/src/components/BFormSelect/index.mjs +2 -2
  557. package/dist/src/components/BFormSelect/index.umd.js +2 -2
  558. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  559. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  560. package/dist/src/components/BFormTags/index.mjs +2 -2
  561. package/dist/src/components/BFormTags/index.umd.js +2 -2
  562. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  563. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  564. package/dist/src/components/BImg/index.mjs +1 -1
  565. package/dist/src/components/BImg/index.umd.js +1 -1
  566. package/dist/src/components/BInputGroup/index.mjs +2 -2
  567. package/dist/src/components/BInputGroup/index.umd.js +2 -2
  568. package/dist/src/components/BLink/index.mjs +1 -1
  569. package/dist/src/components/BLink/index.umd.js +1 -1
  570. package/dist/src/components/BListGroup/index.mjs +1 -1
  571. package/dist/src/components/BListGroup/index.umd.js +1 -1
  572. package/dist/src/components/BModal/index.mjs +1 -1
  573. package/dist/src/components/BModal/index.umd.js +1 -1
  574. package/dist/src/components/BNav/index.mjs +1 -1
  575. package/dist/src/components/BNav/index.umd.js +1 -1
  576. package/dist/src/components/BNavbar/index.mjs +1 -1
  577. package/dist/src/components/BNavbar/index.umd.js +1 -1
  578. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  579. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  580. package/dist/src/components/BOverlay/index.mjs +1 -1
  581. package/dist/src/components/BOverlay/index.umd.js +1 -1
  582. package/dist/src/components/BPagination/index.mjs +1 -1
  583. package/dist/src/components/BPagination/index.umd.js +1 -1
  584. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  585. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  586. package/dist/src/components/BPopover/index.mjs +1 -1
  587. package/dist/src/components/BPopover/index.umd.js +1 -1
  588. package/dist/src/components/BProgress/index.mjs +1 -1
  589. package/dist/src/components/BProgress/index.umd.js +1 -1
  590. package/dist/src/components/BRow/index.mjs +1 -1
  591. package/dist/src/components/BRow/index.umd.js +1 -1
  592. package/dist/src/components/BSpinner/index.mjs +1 -1
  593. package/dist/src/components/BSpinner/index.umd.js +1 -1
  594. package/dist/src/components/BTable/index.mjs +2 -2
  595. package/dist/src/components/BTable/index.umd.js +2 -2
  596. package/dist/src/components/BTabs/index.mjs +1 -1
  597. package/dist/src/components/BTabs/index.umd.js +1 -1
  598. package/dist/src/components/BTimeField/index.mjs +1 -1
  599. package/dist/src/components/BTimeField/index.umd.js +1 -1
  600. package/dist/src/components/BToast/index.mjs +1 -1
  601. package/dist/src/components/BToast/index.umd.js +1 -1
  602. package/dist/src/components/BTooltip/index.mjs +1 -1
  603. package/dist/src/components/BTooltip/index.umd.js +1 -1
  604. package/dist/src/components/index.mjs +58 -58
  605. package/dist/src/components/index.umd.js +58 -58
  606. package/dist/src/composables/useColorMode/index.mjs +1 -1
  607. package/dist/src/composables/useColorMode/index.umd.js +1 -1
  608. package/dist/src/composables/useModal/index.mjs +1 -1
  609. package/dist/src/composables/useModal/index.umd.js +1 -1
  610. package/dist/src/composables/usePopover/index.mjs +2 -2
  611. package/dist/src/composables/usePopover/index.umd.js +2 -2
  612. package/dist/src/composables/useScrollLock/index.mjs +1 -1
  613. package/dist/src/composables/useScrollLock/index.umd.js +1 -1
  614. package/dist/src/composables/useScrollspy/index.mjs +2 -2
  615. package/dist/src/composables/useScrollspy/index.umd.js +2 -2
  616. package/dist/src/composables/useToast/index.mjs +1 -1
  617. package/dist/src/composables/useToast/index.umd.js +1 -1
  618. package/dist/src/composables/useToggle/index.mjs +1 -1
  619. package/dist/src/composables/useToggle/index.umd.js +1 -1
  620. package/dist/src/directives/BPopover/index.mjs +2 -2
  621. package/dist/src/directives/BPopover/index.umd.js +2 -2
  622. package/dist/src/directives/BScrollspy/index.mjs +1 -1
  623. package/dist/src/directives/BScrollspy/index.umd.js +1 -1
  624. package/dist/src/directives/BToggle/index.mjs +3 -3
  625. package/dist/src/directives/BToggle/index.umd.js +3 -3
  626. package/dist/src/directives/BTooltip/index.mjs +2 -2
  627. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  628. package/dist/src/resolvers/index.mjs +1 -1
  629. package/dist/src/resolvers/index.umd.js +1 -1
  630. package/dist/src/types/index.mjs +1 -1
  631. package/dist/src/types/index.umd.js +1 -1
  632. package/dist/{stringUtils-BwKOASdU.js → stringUtils-68ZN_GRt.js} +2 -2
  633. package/dist/{stringUtils-BwKOASdU.js.map → stringUtils-68ZN_GRt.js.map} +1 -1
  634. package/dist/{stringUtils-CslYpDTt.mjs → stringUtils-D4eEDlt1.mjs} +2 -2
  635. package/dist/{stringUtils-CslYpDTt.mjs.map → stringUtils-D4eEDlt1.mjs.map} +1 -1
  636. package/dist/types/AriaInvalid.d.mts +1 -0
  637. package/dist/types/AriaInvalid.d.ts +1 -0
  638. package/dist/types/ComponentEmits.d.mts +8 -1
  639. package/dist/types/ComponentEmits.d.ts +8 -1
  640. package/dist/types/ComponentProps.d.mts +3 -0
  641. package/dist/types/ComponentProps.d.ts +3 -0
  642. package/dist/types/ComponentSlots.d.mts +23 -0
  643. package/dist/types/ComponentSlots.d.ts +23 -0
  644. package/dist/{useAlignment-BiCREohQ.mjs → useAlignment-DuR8ymKI.mjs} +1 -1
  645. package/dist/{useAlignment-BiCREohQ.mjs.map → useAlignment-DuR8ymKI.mjs.map} +1 -1
  646. package/dist/{useAlignment-D5xKBRez.js → useAlignment-oKolnDpb.js} +1 -1
  647. package/dist/{useAlignment-D5xKBRez.js.map → useAlignment-oKolnDpb.js.map} +1 -1
  648. package/dist/useAriaInvalid-CHHPHNLU.js.map +1 -1
  649. package/dist/useAriaInvalid-apOwgexm.mjs.map +1 -1
  650. package/dist/{useColorVariantClasses-B6Me_Kx6.mjs → useColorVariantClasses-CqeXHjRh.mjs} +1 -1
  651. package/dist/{useColorVariantClasses-B6Me_Kx6.mjs.map → useColorVariantClasses-CqeXHjRh.mjs.map} +1 -1
  652. package/dist/{useColorVariantClasses-CEfOwjPv.js → useColorVariantClasses-Dq0sOYDL.js} +1 -1
  653. package/dist/{useColorVariantClasses-CEfOwjPv.js.map → useColorVariantClasses-Dq0sOYDL.js.map} +1 -1
  654. package/dist/{useCountdownHover-t9O7DHoK.mjs → useCountdownHover-C3NXiAaF.mjs} +2 -2
  655. package/dist/{useCountdownHover-t9O7DHoK.mjs.map → useCountdownHover-C3NXiAaF.mjs.map} +1 -1
  656. package/dist/{useCountdownHover-8bwLWYoN.js → useCountdownHover-DbVhE-N0.js} +2 -2
  657. package/dist/{useCountdownHover-8bwLWYoN.js.map → useCountdownHover-DbVhE-N0.js.map} +1 -1
  658. package/dist/{useDateField-DmmXa0_5.mjs → useDateField-CJKgollJ.mjs} +3 -3
  659. package/dist/{useDateField-DmmXa0_5.mjs.map → useDateField-CJKgollJ.mjs.map} +1 -1
  660. package/dist/{useDateField-COTiu3aN.js → useDateField-DWv3600o.js} +3 -3
  661. package/dist/{useDateField-COTiu3aN.js.map → useDateField-DWv3600o.js.map} +1 -1
  662. package/dist/{useFormCheck-CbRHduFK.mjs → useFormCheck-BKXrwS3g.mjs} +2 -2
  663. package/dist/{useFormCheck-CbRHduFK.mjs.map → useFormCheck-BKXrwS3g.mjs.map} +1 -1
  664. package/dist/{useFormCheck-Cj5K6pk-.js → useFormCheck-DYjLG4WA.js} +2 -2
  665. package/dist/{useFormCheck-Cj5K6pk-.js.map → useFormCheck-DYjLG4WA.js.map} +1 -1
  666. package/dist/{useFormInput-BgJCT9k_.mjs → useFormInput-CA4FYoV7.mjs} +4 -4
  667. package/dist/{useFormInput-BgJCT9k_.mjs.map → useFormInput-CA4FYoV7.mjs.map} +1 -1
  668. package/dist/{useFormInput-CsR38QR6.js → useFormInput-D31FCDxr.js} +4 -4
  669. package/dist/{useFormInput-CsR38QR6.js.map → useFormInput-D31FCDxr.js.map} +1 -1
  670. package/dist/{useFormSelect-D3gVO4jJ.mjs → useFormSelect-C0nvno12.mjs} +1 -1
  671. package/dist/{useFormSelect-D3gVO4jJ.mjs.map → useFormSelect-C0nvno12.mjs.map} +1 -1
  672. package/dist/{useFormSelect-CiIMUolC.js → useFormSelect-CjAziZpu.js} +1 -1
  673. package/dist/{useFormSelect-CiIMUolC.js.map → useFormSelect-CjAziZpu.js.map} +1 -1
  674. package/dist/{useForwardExpose-DrJOy0jY.js → useForwardExpose-BpZJluPs.js} +2 -2
  675. package/dist/{useForwardExpose-DrJOy0jY.js.map → useForwardExpose-BpZJluPs.js.map} +1 -1
  676. package/dist/{useForwardExpose-4OUimdPL.mjs → useForwardExpose-Cob6LlGd.mjs} +2 -2
  677. package/dist/{useForwardExpose-4OUimdPL.mjs.map → useForwardExpose-Cob6LlGd.mjs.map} +1 -1
  678. package/dist/{useKbd-IZRktImL.mjs → useKbd-DfmgFov6.mjs} +1 -1
  679. package/dist/{useKbd-IZRktImL.mjs.map → useKbd-DfmgFov6.mjs.map} +1 -1
  680. package/dist/{useKbd-ZZushx7D.js → useKbd-sqDCJtXL.js} +1 -1
  681. package/dist/{useKbd-ZZushx7D.js.map → useKbd-sqDCJtXL.js.map} +1 -1
  682. package/dist/{useNumberishToStyle-DFf9fokb.js → useNumberishToStyle-BtMa0R27.js} +2 -2
  683. package/dist/{useNumberishToStyle-DFf9fokb.js.map → useNumberishToStyle-BtMa0R27.js.map} +1 -1
  684. package/dist/{useNumberishToStyle-DEqGK1UH.mjs → useNumberishToStyle-DgS1slD3.mjs} +2 -2
  685. package/dist/{useNumberishToStyle-DEqGK1UH.mjs.map → useNumberishToStyle-DgS1slD3.mjs.map} +1 -1
  686. package/dist/{useRadiusElementClasses-BlrN-T6U.mjs → useRadiusElementClasses-BW832F7F.mjs} +1 -1
  687. package/dist/{useRadiusElementClasses-BlrN-T6U.mjs.map → useRadiusElementClasses-BW832F7F.mjs.map} +1 -1
  688. package/dist/{useRadiusElementClasses-C13_PhPM.js → useRadiusElementClasses-DWiUVgex.js} +1 -1
  689. package/dist/{useRadiusElementClasses-C13_PhPM.js.map → useRadiusElementClasses-DWiUVgex.js.map} +1 -1
  690. package/dist/{useRtl-DXAooTrl.js → useRtl-DDPRnA7g.js} +1 -1
  691. package/dist/{useRtl-DXAooTrl.js.map → useRtl-DDPRnA7g.js.map} +1 -1
  692. package/dist/{useRtl-DpwU_RM8.mjs → useRtl-VR3M2Txg.mjs} +1 -1
  693. package/dist/{useRtl-DpwU_RM8.mjs.map → useRtl-VR3M2Txg.mjs.map} +1 -1
  694. package/dist/{useSafeScrollLock-Bm9RxDoY.js → useSafeScrollLock-7wmPH_Hy.js} +2 -2
  695. package/dist/{useSafeScrollLock-Bm9RxDoY.js.map → useSafeScrollLock-7wmPH_Hy.js.map} +1 -1
  696. package/dist/{useSafeScrollLock-D62o8jto.mjs → useSafeScrollLock-Me5LyqjD.mjs} +2 -2
  697. package/dist/{useSafeScrollLock-D62o8jto.mjs.map → useSafeScrollLock-Me5LyqjD.mjs.map} +1 -1
  698. package/dist/{useShowHide-BTCaeU5j.js → useShowHide-BhdrR1wG.js} +2 -2
  699. package/dist/{useShowHide-BTCaeU5j.js.map → useShowHide-BhdrR1wG.js.map} +1 -1
  700. package/dist/{useShowHide-yAK5dhPT.mjs → useShowHide-DKdljnpv.mjs} +2 -2
  701. package/dist/{useShowHide-yAK5dhPT.mjs.map → useShowHide-DKdljnpv.mjs.map} +1 -1
  702. package/dist/{useStateClass-CJ24hpkn.js → useStateClass-CXK3nCg9.js} +1 -1
  703. package/dist/{useStateClass-CJ24hpkn.js.map → useStateClass-CXK3nCg9.js.map} +1 -1
  704. package/dist/{useStateClass-CdmlbrGn.mjs → useStateClass-DxlL_m2E.mjs} +1 -1
  705. package/dist/{useStateClass-CdmlbrGn.mjs.map → useStateClass-DxlL_m2E.mjs.map} +1 -1
  706. package/dist/{utils-DtPi91ue.js → utils-BTPjS0XS.js} +2 -2
  707. package/dist/{utils-DtPi91ue.js.map → utils-BTPjS0XS.js.map} +1 -1
  708. package/dist/{utils-D30CwVm-.mjs → utils-Dgz9Trtl.mjs} +2 -2
  709. package/dist/{utils-D30CwVm-.mjs.map → utils-Dgz9Trtl.mjs.map} +1 -1
  710. package/package.json +1 -1
  711. package/src/components/BAutocomplete/_autocomplete.scss +69 -1
  712. package/dist/BAlert-CHbgLTZH.js.map +0 -1
  713. package/dist/BAlert-CRRUJXYi.mjs.map +0 -1
  714. package/dist/BApp-DJWC2mB8.mjs.map +0 -1
  715. package/dist/BApp-DaM0UKIg.js.map +0 -1
  716. package/dist/BAvatar-BHqTW5Ll.js.map +0 -1
  717. package/dist/BAvatar-BSLk69M0.mjs.map +0 -1
  718. package/dist/BBadge-BBUcrujj.js.map +0 -1
  719. package/dist/BBadge-D5ra3W5R.mjs.map +0 -1
  720. package/dist/BBreadcrumb-BSsiwCNB.js.map +0 -1
  721. package/dist/BBreadcrumb-amkzWyz6.mjs.map +0 -1
  722. package/dist/BButton-BUYwco3v.js.map +0 -1
  723. package/dist/BButton-Bw4HgpsF.js.map +0 -1
  724. package/dist/BButton-CDo9SRvU.mjs.map +0 -1
  725. package/dist/BButton-DgequxLk.mjs.map +0 -1
  726. package/dist/BCard-C1G8PO5k.mjs.map +0 -1
  727. package/dist/BCard-CJ822HyH.mjs.map +0 -1
  728. package/dist/BCard-CSyEHz8Z.js.map +0 -1
  729. package/dist/BCard-CgbTFn3S.js.map +0 -1
  730. package/dist/BCloseButton-CN__Jjcj.js.map +0 -1
  731. package/dist/BCloseButton-CjgbR1Ec.mjs.map +0 -1
  732. package/dist/BCol-0tZmpOme.js.map +0 -1
  733. package/dist/BCol-C4v-TOX6.mjs.map +0 -1
  734. package/dist/BCollapse-D-xTGkX_.mjs.map +0 -1
  735. package/dist/BCollapse-DZ1z2c8U.js.map +0 -1
  736. package/dist/BContainer-BZUI2qQv.js.map +0 -1
  737. package/dist/BContainer-DjIGH6-y.mjs.map +0 -1
  738. package/dist/BDateField-BJIq6gs9.mjs.map +0 -1
  739. package/dist/BDateField-RWwEMIwd.js.map +0 -1
  740. package/dist/BDropdown-BxciLgyt.js.map +0 -1
  741. package/dist/BDropdown-CRIh9xqy.mjs.map +0 -1
  742. package/dist/BDropdown-D2pBrZsG.mjs.map +0 -1
  743. package/dist/BDropdown-DgbFCKfP.js.map +0 -1
  744. package/dist/BForm-Bp7SFxiK.js.map +0 -1
  745. package/dist/BForm-C8I6v7bU.mjs.map +0 -1
  746. package/dist/BForm-Oh6PpdcD.mjs.map +0 -1
  747. package/dist/BForm-_h0kYDl7.js.map +0 -1
  748. package/dist/BFormCheckbox-BPQxUDQG.js.map +0 -1
  749. package/dist/BFormCheckbox-DPNPjRKN.mjs.map +0 -1
  750. package/dist/BFormGroup--38dFj0X.mjs +0 -381
  751. package/dist/BFormGroup--38dFj0X.mjs.map +0 -1
  752. package/dist/BFormGroup-BwO1BZD1.js +0 -387
  753. package/dist/BFormGroup-BwO1BZD1.js.map +0 -1
  754. package/dist/BFormInput-BuRSGYdY.js.map +0 -1
  755. package/dist/BFormInput-Dg9dbwHp.mjs.map +0 -1
  756. package/dist/BFormRadio-BZ0etDxl.js.map +0 -1
  757. package/dist/BFormRadio-CqYd0bLV.mjs.map +0 -1
  758. package/dist/BFormRating-Bb_ACp-9.mjs.map +0 -1
  759. package/dist/BFormRating-CNqf91vN.js.map +0 -1
  760. package/dist/BFormSelect-B_mbfTMC.js.map +0 -1
  761. package/dist/BFormSelect-CpkJ1haI.mjs.map +0 -1
  762. package/dist/BFormSelectOption-BY4P8HOf.js.map +0 -1
  763. package/dist/BFormSelectOption-O8cyyv3i.mjs.map +0 -1
  764. package/dist/BFormTag-BUWEugEC.mjs.map +0 -1
  765. package/dist/BFormTag-C7B-bX72.js.map +0 -1
  766. package/dist/BFormTags-DJzXJp7d.js.map +0 -1
  767. package/dist/BFormTags-DWAWX2av.mjs.map +0 -1
  768. package/dist/BFormTextarea-8c3B3kAI.js.map +0 -1
  769. package/dist/BFormTextarea-BMk05ojJ.mjs.map +0 -1
  770. package/dist/BFormValidFeedback-DvTgwqSe.js.map +0 -1
  771. package/dist/BFormValidFeedback-_Dgzm0Ag.mjs.map +0 -1
  772. package/dist/BImg-BQqZfIM9.mjs.map +0 -1
  773. package/dist/BImg-Dyy0N-WQ.js.map +0 -1
  774. package/dist/BInputGroup-Bfcs5h_Q.js.map +0 -1
  775. package/dist/BInputGroup-C5sxenhE.mjs.map +0 -1
  776. package/dist/BInputGroup-DTP5Vf1f.js.map +0 -1
  777. package/dist/BInputGroup-Dl9AgpAx.mjs.map +0 -1
  778. package/dist/BListGroup-BmtN0xQ3.mjs.map +0 -1
  779. package/dist/BListGroup-DuyMdAxJ.js.map +0 -1
  780. package/dist/BNav-BdO2N7G0.mjs.map +0 -1
  781. package/dist/BNav-MjroX-Jl.js.map +0 -1
  782. package/dist/BNavbar-s9Ak5PnO.js.map +0 -1
  783. package/dist/BNavbar-vN3_CMLn.mjs.map +0 -1
  784. package/dist/BOffcanvas-ColOuYdV.js.map +0 -1
  785. package/dist/BOffcanvas-DmkJSSFy.mjs.map +0 -1
  786. package/dist/BOverlay-B7vJAdHO.js.map +0 -1
  787. package/dist/BOverlay-BGxH9JVy.mjs.map +0 -1
  788. package/dist/BPagination-C0-4NVzW.js.map +0 -1
  789. package/dist/BPagination-CvoSN1He.mjs.map +0 -1
  790. package/dist/BPlaceholder-DKDtjMjy.mjs.map +0 -1
  791. package/dist/BPlaceholder-n447tOzJ.js.map +0 -1
  792. package/dist/BProgress-BIqo6vLh.mjs.map +0 -1
  793. package/dist/BProgress-Bc3ZSkac.js.map +0 -1
  794. package/dist/BRow-BCEK3fe6.mjs.map +0 -1
  795. package/dist/BRow-tqMEhkZS.js.map +0 -1
  796. package/dist/BSpinner-8UMAINYb.js.map +0 -1
  797. package/dist/BSpinner-BpnwONvx.mjs.map +0 -1
  798. package/dist/BTable-Btzu1IJ_.js.map +0 -1
  799. package/dist/BTable-CjHMx8Yv.mjs.map +0 -1
  800. package/dist/BTableSimple-BcdizuDm.js.map +0 -1
  801. package/dist/BTableSimple-C901Z5V9.mjs.map +0 -1
  802. package/dist/BTabs-DZEF9kgT.mjs.map +0 -1
  803. package/dist/BTabs-DiYaJi22.js.map +0 -1
  804. package/dist/BToast-BFcT76M1.js.map +0 -1
  805. package/dist/BToast-D5XkJqF4.mjs.map +0 -1
  806. package/dist/BTooltip-BwiqjqX-.js.map +0 -1
  807. package/dist/BTooltip-DohT1Q3C.mjs.map +0 -1
  808. package/dist/ConditionalTeleport-BJZk6HAx.js.map +0 -1
  809. package/dist/ConditionalTeleport-BNsziElf.mjs.map +0 -1
  810. package/dist/dist-B10a-gZ8.mjs.map +0 -1
  811. package/dist/floatingUi-BAUk171g.mjs.map +0 -1
  812. package/dist/floatingUi-DBLN9xLH.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BModal-BnHYbFuj.js","names":["$attrs"],"sources":["../src/composables/useModalManager.ts","../src/components/BModal/BModal.vue","../src/components/BModal/BModal.vue"],"sourcesContent":["import {getSSRHandler, tryOnScopeDispose, unrefElement} from '@vueuse/core'\nimport {\n type ComponentInternalInstance,\n computed,\n getCurrentInstance,\n inject,\n type Ref,\n toValue,\n watch,\n} from 'vue'\nimport {modalManagerKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nconst modalOpenClassName = 'modal-open'\n\nexport const useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey, null)\n\n /**\n * Removes an item from both the stack and registry\n */\n const dispose = (modal: Readonly<ComponentInternalInstance>): void => {\n modalManagerPlugin?.removeStack(modal)\n modalManagerPlugin?.removeRegistry(modal)\n }\n\n const updateHTMLAttrs = getSSRHandler('updateHTMLAttrs', (selector, attribute, value) => {\n const el =\n typeof selector !== 'string'\n ? unrefElement(selector)\n : selector\n ? getSafeDocument()?.querySelector(selector)\n : undefined\n if (!el) return\n\n if (attribute === 'class') {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName)\n } else {\n el.setAttribute(attribute, value)\n }\n })\n\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs('body', 'class', '')\n }\n })\n\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === undefined) return\n updateHTMLAttrs('body', 'class', newValue > 0 ? modalOpenClassName : '')\n }\n )\n\n return {\n ...modalManagerPlugin,\n dispose,\n }\n}\n\nexport const useModalManager = (modalOpen: Readonly<Ref<boolean>>, initialValue: boolean) => {\n const {pushRegistry, pushStack, removeStack, stack, dispose, countStack} = useSharedModalStack()\n\n const currentModal = getCurrentInstance()\n\n if (!currentModal || currentModal.type.__name !== 'BModal') {\n throw new Error('useModalManager must only use in BModal component')\n }\n\n pushRegistry?.(currentModal)\n\n tryOnScopeDispose(() => {\n dispose(currentModal)\n })\n\n const setInStack = (newValue: boolean, oldValue: boolean) => {\n if (newValue) {\n pushStack?.(currentModal)\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal)\n }\n }\n\n // (initialValue, initialValue) is meant to always only ever trigger the first `if (newValue) {` block. The other block is skipped _always_\n setInStack(initialValue, initialValue)\n\n watch(modalOpen, setInStack)\n\n return {\n activePosition: computed(() =>\n stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () =>\n stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n ),\n }\n}\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BModal-6hh-azT8.js","names":["$attrs"],"sources":["../src/composables/useModalManager.ts","../src/components/BModal/BModal.vue","../src/components/BModal/BModal.vue"],"sourcesContent":["import {getSSRHandler, tryOnScopeDispose, unrefElement} from '@vueuse/core'\nimport {\n type ComponentInternalInstance,\n computed,\n getCurrentInstance,\n inject,\n type Ref,\n toValue,\n watch,\n} from 'vue'\nimport {modalManagerKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nconst modalOpenClassName = 'modal-open'\n\nexport const useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey, null)\n\n /**\n * Removes an item from both the stack and registry\n */\n const dispose = (modal: Readonly<ComponentInternalInstance>): void => {\n modalManagerPlugin?.removeStack(modal)\n modalManagerPlugin?.removeRegistry(modal)\n }\n\n const updateHTMLAttrs = getSSRHandler('updateHTMLAttrs', (selector, attribute, value) => {\n const el =\n typeof selector !== 'string'\n ? unrefElement(selector)\n : selector\n ? getSafeDocument()?.querySelector(selector)\n : undefined\n if (!el) return\n\n if (attribute === 'class') {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName)\n } else {\n el.setAttribute(attribute, value)\n }\n })\n\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs('body', 'class', '')\n }\n })\n\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === undefined) return\n updateHTMLAttrs('body', 'class', newValue > 0 ? modalOpenClassName : '')\n }\n )\n\n return {\n ...modalManagerPlugin,\n dispose,\n }\n}\n\nexport const useModalManager = (modalOpen: Readonly<Ref<boolean>>, initialValue: boolean) => {\n const {pushRegistry, pushStack, removeStack, stack, dispose, countStack} = useSharedModalStack()\n\n const currentModal = getCurrentInstance()\n\n if (!currentModal || currentModal.type.__name !== 'BModal') {\n throw new Error('useModalManager must only use in BModal component')\n }\n\n pushRegistry?.(currentModal)\n\n tryOnScopeDispose(() => {\n dispose(currentModal)\n })\n\n const setInStack = (newValue: boolean, oldValue: boolean) => {\n if (newValue) {\n pushStack?.(currentModal)\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal)\n }\n }\n\n // (initialValue, initialValue) is meant to always only ever trigger the first `if (newValue) {` block. The other block is skipped _always_\n setInStack(initialValue, initialValue)\n\n watch(modalOpen, setInStack)\n\n return {\n activePosition: computed(() =>\n stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () =>\n stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n ),\n }\n}\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { h as modalManagerKey } from "./keys-CQKrwmvN.mjs";
2
- import { I as tryOnScopeDispose, i as getSSRHandler, o as onKeyStroke, s as unrefElement } from "./dist-B10a-gZ8.mjs";
2
+ import { F as tryOnScopeDispose, a as onKeyStroke, o as unrefElement, r as getSSRHandler } from "./dist-Dk9C_HFS.mjs";
3
3
  import { i as getSafeDocument, o as isEmptySlot, r as getModalZIndex } from "./dom-AhkaSoh8.mjs";
4
4
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
5
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
- import { t as useShowHide } from "./useShowHide-yAK5dhPT.mjs";
7
- import { t as useColorVariantClasses } from "./useColorVariantClasses-B6Me_Kx6.mjs";
8
- import { t as BButton_default } from "./BButton-CDo9SRvU.mjs";
9
- import { t as BCloseButton_default } from "./BCloseButton-CjgbR1Ec.mjs";
10
- import { t as ConditionalTeleport_default } from "./ConditionalTeleport-BNsziElf.mjs";
11
- import { t as getElement } from "./getElement-0_htvrFw.mjs";
12
- import { n as useActivatedFocusTrap, t as useSafeScrollLock } from "./useSafeScrollLock-D62o8jto.mjs";
6
+ import { t as useShowHide } from "./useShowHide-DKdljnpv.mjs";
7
+ import { t as BCloseButton_default } from "./BCloseButton-CCdRwLDo.mjs";
8
+ import { t as useColorVariantClasses } from "./useColorVariantClasses-CqeXHjRh.mjs";
9
+ import { t as BButton_default } from "./BButton-D_sCrjpg.mjs";
10
+ import { t as ConditionalTeleport_default } from "./ConditionalTeleport-B4KYZIM6.mjs";
11
+ import { t as getElement } from "./getElement-D2Jr1cbp.mjs";
12
+ import { n as useActivatedFocusTrap, t as useSafeScrollLock } from "./useSafeScrollLock-Me5LyqjD.mjs";
13
13
  import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, inject, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onMounted, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, toValue, unref, useModel, useSlots, useTemplateRef, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
14
14
  //#region src/composables/useModalManager.ts
15
15
  var modalOpenClassName = "modal-open";
@@ -506,4 +506,4 @@ var BModal_default = /* @__PURE__ */ defineComponent({
506
506
  //#endregion
507
507
  export { useSharedModalStack as n, BModal_default as t };
508
508
 
509
- //# sourceMappingURL=BModal-CAjLrkBp.mjs.map
509
+ //# sourceMappingURL=BModal-BEmloby5.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BModal-CAjLrkBp.mjs","names":["$attrs"],"sources":["../src/composables/useModalManager.ts","../src/components/BModal/BModal.vue","../src/components/BModal/BModal.vue"],"sourcesContent":["import {getSSRHandler, tryOnScopeDispose, unrefElement} from '@vueuse/core'\nimport {\n type ComponentInternalInstance,\n computed,\n getCurrentInstance,\n inject,\n type Ref,\n toValue,\n watch,\n} from 'vue'\nimport {modalManagerKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nconst modalOpenClassName = 'modal-open'\n\nexport const useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey, null)\n\n /**\n * Removes an item from both the stack and registry\n */\n const dispose = (modal: Readonly<ComponentInternalInstance>): void => {\n modalManagerPlugin?.removeStack(modal)\n modalManagerPlugin?.removeRegistry(modal)\n }\n\n const updateHTMLAttrs = getSSRHandler('updateHTMLAttrs', (selector, attribute, value) => {\n const el =\n typeof selector !== 'string'\n ? unrefElement(selector)\n : selector\n ? getSafeDocument()?.querySelector(selector)\n : undefined\n if (!el) return\n\n if (attribute === 'class') {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName)\n } else {\n el.setAttribute(attribute, value)\n }\n })\n\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs('body', 'class', '')\n }\n })\n\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === undefined) return\n updateHTMLAttrs('body', 'class', newValue > 0 ? modalOpenClassName : '')\n }\n )\n\n return {\n ...modalManagerPlugin,\n dispose,\n }\n}\n\nexport const useModalManager = (modalOpen: Readonly<Ref<boolean>>, initialValue: boolean) => {\n const {pushRegistry, pushStack, removeStack, stack, dispose, countStack} = useSharedModalStack()\n\n const currentModal = getCurrentInstance()\n\n if (!currentModal || currentModal.type.__name !== 'BModal') {\n throw new Error('useModalManager must only use in BModal component')\n }\n\n pushRegistry?.(currentModal)\n\n tryOnScopeDispose(() => {\n dispose(currentModal)\n })\n\n const setInStack = (newValue: boolean, oldValue: boolean) => {\n if (newValue) {\n pushStack?.(currentModal)\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal)\n }\n }\n\n // (initialValue, initialValue) is meant to always only ever trigger the first `if (newValue) {` block. The other block is skipped _always_\n setInStack(initialValue, initialValue)\n\n watch(modalOpen, setInStack)\n\n return {\n activePosition: computed(() =>\n stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () =>\n stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n ),\n }\n}\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BModal-BEmloby5.mjs","names":["$attrs"],"sources":["../src/composables/useModalManager.ts","../src/components/BModal/BModal.vue","../src/components/BModal/BModal.vue"],"sourcesContent":["import {getSSRHandler, tryOnScopeDispose, unrefElement} from '@vueuse/core'\nimport {\n type ComponentInternalInstance,\n computed,\n getCurrentInstance,\n inject,\n type Ref,\n toValue,\n watch,\n} from 'vue'\nimport {modalManagerKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nconst modalOpenClassName = 'modal-open'\n\nexport const useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey, null)\n\n /**\n * Removes an item from both the stack and registry\n */\n const dispose = (modal: Readonly<ComponentInternalInstance>): void => {\n modalManagerPlugin?.removeStack(modal)\n modalManagerPlugin?.removeRegistry(modal)\n }\n\n const updateHTMLAttrs = getSSRHandler('updateHTMLAttrs', (selector, attribute, value) => {\n const el =\n typeof selector !== 'string'\n ? unrefElement(selector)\n : selector\n ? getSafeDocument()?.querySelector(selector)\n : undefined\n if (!el) return\n\n if (attribute === 'class') {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName)\n } else {\n el.setAttribute(attribute, value)\n }\n })\n\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs('body', 'class', '')\n }\n })\n\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === undefined) return\n updateHTMLAttrs('body', 'class', newValue > 0 ? modalOpenClassName : '')\n }\n )\n\n return {\n ...modalManagerPlugin,\n dispose,\n }\n}\n\nexport const useModalManager = (modalOpen: Readonly<Ref<boolean>>, initialValue: boolean) => {\n const {pushRegistry, pushStack, removeStack, stack, dispose, countStack} = useSharedModalStack()\n\n const currentModal = getCurrentInstance()\n\n if (!currentModal || currentModal.type.__name !== 'BModal') {\n throw new Error('useModalManager must only use in BModal component')\n }\n\n pushRegistry?.(currentModal)\n\n tryOnScopeDispose(() => {\n dispose(currentModal)\n })\n\n const setInStack = (newValue: boolean, oldValue: boolean) => {\n if (newValue) {\n pushStack?.(currentModal)\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal)\n }\n }\n\n // (initialValue, initialValue) is meant to always only ever trigger the first `if (newValue) {` block. The other block is skipped _always_\n setInStack(initialValue, initialValue)\n\n watch(modalOpen, setInStack)\n\n return {\n activePosition: computed(() =>\n stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () =>\n stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n ),\n }\n}\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n","<template>\n <ConditionalTeleport :to=\"props.teleportTo\" :disabled=\"props.teleportDisabled\">\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)\"\n :id=\"computedId\"\n ref=\"_element\"\n class=\"modal\"\n :class=\"[\n props.modalClass,\n {\n fade: !computedNoAnimation,\n show: isVisible,\n ...sharedClasses,\n },\n ]\"\n role=\"dialog\"\n :aria-labelledby=\"!props.noHeader ? `${computedId}-label` : undefined\"\n :aria-describedby=\"`${computedId}-body`\"\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n :style=\"computedZIndex\"\n style=\"display: block\"\n @mousedown.left.self=\"hide('backdrop')\"\n >\n <div class=\"modal-dialog\" :class=\"modalDialogClasses\">\n <div v-if=\"contentShowing\" class=\"modal-content\" :class=\"props.contentClass\">\n <div\n v-if=\"!props.noHeader\"\n class=\"modal-header\"\n :class=\"headerClasses\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <component\n :is=\"props.titleTag\"\n :id=\"`${computedId}-label`\"\n class=\"modal-title\"\n :class=\"titleClasses\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </component>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_closeButton\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_closeButton\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div\n :id=\"`${computedId}-body`\"\n class=\"modal-body\"\n :class=\"bodyClasses\"\n v-bind=\"props.bodyAttrs\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </div>\n <div v-if=\"!props.noFooter\" class=\"modal-footer\" :class=\"footerClasses\">\n <slot name=\"footer\" v-bind=\"sharedSlots\">\n <slot name=\"cancel\" v-bind=\"sharedSlots\">\n <BButton\n v-if=\"!props.okOnly\"\n ref=\"_cancelButton\"\n :disabled=\"disableCancel\"\n :size=\"props.buttonSize\"\n :variant=\"props.cancelVariant\"\n :class=\"props.cancelClass\"\n @click=\"hide('cancel')\"\n >\n {{ props.cancelTitle }}\n </BButton>\n </slot>\n <slot name=\"ok\" v-bind=\"sharedSlots\">\n <BButton\n ref=\"_okButton\"\n :disabled=\"disableOk\"\n :size=\"props.buttonSize\"\n :variant=\"props.okVariant\"\n :class=\"props.okClass\"\n @click=\"hide('ok')\"\n >\n {{ props.okTitle }}\n </BButton>\n </slot>\n </slot>\n </div>\n </div>\n </div>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showRef || (isLeaving && props.backdropFirst && !computedNoAnimation)\"\n class=\"modal-backdrop\"\n :style=\"computedZIndexBackdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n ...sharedClasses,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, unrefElement} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {\n computed,\n type CSSProperties,\n type EmitFn,\n nextTick,\n onMounted,\n ref,\n useTemplateRef,\n watch,\n} from 'vue'\nimport type {BModalEmits, BModalProps, BModalSlots, BModalSlotsData} from '../../types'\n\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {getModalZIndex, getSafeDocument, isEmptySlot} from '../../utils/dom'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useModalManager} from '../../composables/useModalManager'\nimport {useShowHide} from '../../composables/useShowHide'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {getElement} from '../../utils/getElement'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BModalProps, 'modelValue'>>(), {\n focus: undefined,\n backdropFirst: false,\n body: undefined,\n bodyBgVariant: null,\n bodyAttrs: undefined,\n bodyClass: null,\n bodyScrolling: false,\n bodyTextVariant: null,\n bodyVariant: null,\n busy: false,\n buttonSize: undefined,\n cancelClass: undefined,\n cancelDisabled: false,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n centered: false,\n contentClass: undefined,\n dialogClass: undefined,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerClass: undefined,\n footerTextVariant: null,\n footerVariant: null,\n fullscreen: false,\n headerAttrs: undefined,\n headerBgVariant: null,\n headerBorderVariant: null,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n headerTextVariant: null,\n headerVariant: null,\n noFooter: false,\n noHeader: false,\n noHeaderClose: false,\n id: undefined,\n initialAnimation: false,\n lazy: false,\n modalClass: undefined,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noFade: false,\n noTrap: false,\n okClass: undefined,\n okDisabled: false,\n okOnly: false,\n okTitle: 'OK',\n okVariant: 'primary',\n unmountLazy: false,\n scrollable: false,\n size: undefined,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n titleClass: undefined,\n titleVisuallyHidden: false,\n titleTag: 'h5',\n show: false,\n transProps: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BModal')\nconst emit = defineEmits<BModalEmits>()\nconst slots = defineSlots<BModalSlots>()\n\nconst computedId = useId(() => props.id, 'modal')\n// Note: passive: true will sync an internal ref... This is required for useModalManager to exit,\n// Since the modelValue that's passed from that composable is not reactive, this internal ref _is_ and thus it will trigger closing the modal\nconst modelValue = defineModel<Exclude<BModalProps['modelValue'], undefined>>({default: false})\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst okButton = useTemplateRef<HTMLElement | null>('_okButton')\nconst cancelButton = useTemplateRef<HTMLElement | null>('_cancelButton')\nconst closeButton = useTemplateRef<HTMLElement | null>('_closeButton')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'ok') {\n return okButton\n } else if (props.focus === 'close') {\n return closeButton\n } else if (props.focus === 'cancel') {\n return cancelButton\n }\n return getElement(props.focus, element.value ?? undefined) ?? element.value\n }\n return element\n}\n\nlet activeElement: HTMLElement | null = null\nconst onAfterEnter = () => {\n const doc = getSafeDocument()\n if (props.noTrap && props.focus !== false && doc) {\n // Hypothetically this could be an issue\n activeElement = doc.activeElement as HTMLElement\n if (activeElement === element.value) {\n activeElement = null\n }\n const el = unrefElement(pickFocusItem())\n if (!el) return\n el?.focus()\n if (\n el.tagName &&\n el.tagName.toLowerCase() === 'input' &&\n typeof (el as HTMLInputElement).select === 'function'\n ) {\n ;(el as HTMLInputElement).select()\n }\n }\n}\n\nconst onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus()\n activeElement = null\n }\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave,\n },\n})\n\nconst fallbackClassSelector = 'modal-fallback-focus'\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector,\n },\n focus: () => (props.focus === false ? false : (unrefElement(pickFocusItem()) ?? undefined)),\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n})\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\nuseSafeScrollLock(showRef, () => props.bodyScrolling)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\n\nconst modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n 'modal-fullscreen': props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === 'string',\n [`modal-${props.size}`]: props.size !== undefined,\n 'modal-dialog-centered': props.centered,\n 'modal-dialog-scrollable': props.scrollable,\n },\n])\n\nconst bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant,\n}))\nconst bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value])\n\nconst headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant,\n}))\nconst headerClasses = computed(() => [props.headerClass, headerColorClasses.value])\n\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: props.headerCloseClass,\n}))\n\nconst footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant,\n}))\nconst footerClasses = computed(() => [props.footerClass, footerColorClasses.value])\n\nconst titleClasses = computed(() => [\n props.titleClass,\n {\n ['visually-hidden']: props.titleVisuallyHidden,\n },\n])\n\nconst disableCancel = computed(() => props.cancelDisabled || props.busy)\nconst disableOk = computed(() => props.okDisabled || props.busy)\n\nconst {activePosition, activeModalCount, stackWithoutSelf} = useModalManager(\n showRef,\n modelValue.value\n)\n\nconst sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,\n}))\n\nwatch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking) hide()\n})\n\nconst defaultModalDialogZIndex = ref(getModalZIndex(element.value ?? getSafeDocument()?.body))\n\nonMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return\n nextTick(() => {\n if (!element.value) return\n defaultModalDialogZIndex.value = getModalZIndex(element.value)\n })\n },\n {immediate: true}\n )\n})\n\nconst computedZIndexNumber = computed<number>(() =>\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n\n showRef.value || isLeaving.value\n ? // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value -\n ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n : defaultModalDialogZIndex.value\n)\nconst computedZIndex = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\nconst computedZIndexBackdrop = computed<CSSProperties>(() => ({\n 'z-index': computedZIndexNumber.value - 1,\n '--b-position': activePosition?.value ?? 0,\n '--b-inverse-position': (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n '--b-count': activeModalCount?.value ?? 0,\n}))\n\nconst sharedSlots = computed<BModalSlotsData>(() => ({\n id: computedId.value,\n cancel: () => {\n hide('cancel')\n },\n close: () => {\n hide('close')\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide('ok')\n },\n active: showRef.value,\n visible: showRef.value,\n}))\n\ndefineExpose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef,\n})\n</script>\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
2
2
  import { a as pick } from "./object-CHQkkner.mjs";
3
- import { t as BLink_default } from "./BLink-Cz5YCsnv.mjs";
4
- import { t as useAlignment } from "./useAlignment-BiCREohQ.mjs";
5
- import { t as BDropdown_default } from "./BDropdown-D2pBrZsG.mjs";
6
- import { t as BForm_default } from "./BForm-Oh6PpdcD.mjs";
3
+ import { t as BLink_default } from "./BLink-CNFWSz0D.mjs";
4
+ import { t as useAlignment } from "./useAlignment-DuR8ymKI.mjs";
5
+ import { t as BDropdown_default } from "./BDropdown-B2vWJ-u0.mjs";
6
+ import { t as BForm_default } from "./BForm-CpNuvbIt.mjs";
7
7
  import { computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useAttrs, useModel, useTemplateRef, withCtx, withModifiers } from "vue";
8
8
  //#endregion
9
9
  //#region src/components/BNav/BNav.vue
@@ -420,4 +420,4 @@ var BNavText_default = /* @__PURE__ */ defineComponent({
420
420
  //#endregion
421
421
  export { BNav_default as a, BNavForm_default as i, BNavItemDropdown_default as n, BNavItem_default as r, BNavText_default as t };
422
422
 
423
- //# sourceMappingURL=BNav-BdO2N7G0.mjs.map
423
+ //# sourceMappingURL=BNav-EHHlEg1E.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BNav-EHHlEg1E.mjs","names":[],"sources":["../src/components/BNav/BNav.vue","../src/components/BNav/BNav.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavText.vue","../src/components/BNav/BNavText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BNavProps, BNavSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\ndefineSlots<BNavSlots>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BNavProps, BNavSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\ndefineSlots<BNavSlots>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <li :class=\"liClasses\" v-bind=\"wrapperAttrs\">\n <BForm\n v-bind=\"processedAttrs.formAttrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n :class=\"props.formClass\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BForm from '../BForm/BForm.vue'\nimport type {BNavFormEmits, BNavFormProps, BNavFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n wrapperAttrs: undefined,\n formClass: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\nconst emit = defineEmits<BNavFormEmits>()\ndefineSlots<BNavFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n\nconst liClasses = computed(() => [\n 'd-flex',\n 'flex-row',\n 'align-items-center',\n 'flex-wrap',\n processedAttrs.value.wrapperClass,\n])\n</script>\n","<template>\n <li :class=\"liClasses\" v-bind=\"wrapperAttrs\">\n <BForm\n v-bind=\"processedAttrs.formAttrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n :class=\"props.formClass\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BForm from '../BForm/BForm.vue'\nimport type {BNavFormEmits, BNavFormProps, BNavFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n wrapperAttrs: undefined,\n formClass: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\nconst emit = defineEmits<BNavFormEmits>()\ndefineSlots<BNavFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n\nconst liClasses = computed(() => [\n 'd-flex',\n 'flex-row',\n 'align-items-center',\n 'flex-wrap',\n processedAttrs.value.wrapperClass,\n])\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n <slot name=\"after\" />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavItemEmits, BNavItemProps, BNavItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: 'router-link-exact-active active',\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n noPrefetch: undefined,\n noRel: undefined,\n opacity: undefined,\n opacityHover: undefined,\n prefetch: undefined,\n prefetchedClass: undefined,\n prefetchOn: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\nconst emit = defineEmits<BNavItemEmits>()\ndefineSlots<BNavItemSlots>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'noPrefetch',\n 'opacity',\n 'opacityHover',\n 'prefetch',\n 'prefetchedClass',\n 'prefetchOn',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n <slot name=\"after\" />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavItemEmits, BNavItemProps, BNavItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: 'router-link-exact-active active',\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n noPrefetch: undefined,\n noRel: undefined,\n opacity: undefined,\n opacityHover: undefined,\n prefetch: undefined,\n prefetchedClass: undefined,\n prefetchOn: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\nconst emit = defineEmits<BNavItemEmits>()\ndefineSlots<BNavItemSlots>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'noPrefetch',\n 'opacity',\n 'opacityHover',\n 'prefetch',\n 'prefetchedClass',\n 'prefetchOn',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"_dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n @split-click=\"emit('split-click', $event)\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useTemplateRef} from 'vue'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownEmits, BDropdownProps, BNavItemDropdownSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n floatingMiddleware: undefined,\n icon: false,\n id: undefined,\n initialAnimation: false,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: undefined,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n placement: undefined,\n noWrapper: undefined,\n wrapperClass: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleAttrs: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\nconst emit = defineEmits<BDropdownEmits>()\ndefineSlots<BNavItemDropdownSlots>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst dropdown = useTemplateRef('_dropdown')\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"_dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n @split-click=\"emit('split-click', $event)\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useTemplateRef} from 'vue'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownEmits, BDropdownProps, BNavItemDropdownSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n floatingMiddleware: undefined,\n icon: false,\n id: undefined,\n initialAnimation: false,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: undefined,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n placement: undefined,\n noWrapper: undefined,\n wrapperClass: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleAttrs: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\nconst emit = defineEmits<BDropdownEmits>()\ndefineSlots<BNavItemDropdownSlots>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst dropdown = useTemplateRef('_dropdown')\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavTextProps, BNavTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\ndefineSlots<BNavTextSlots>()\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavTextProps, BNavTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\ndefineSlots<BNavTextSlots>()\n</script>\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
2
  const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
3
3
  const require_object = require("./object-BN7QwMcz.js");
4
- const require_BLink = require("./BLink-uemyYKst.js");
5
- const require_useAlignment = require("./useAlignment-D5xKBRez.js");
6
- const require_BDropdown = require("./BDropdown-BxciLgyt.js");
7
- const require_BForm = require("./BForm-Bp7SFxiK.js");
4
+ const require_BLink = require("./BLink-uLjtY3bY.js");
5
+ const require_useAlignment = require("./useAlignment-oKolnDpb.js");
6
+ const require_BDropdown = require("./BDropdown-BSCasYDc.js");
7
+ const require_BForm = require("./BForm-K67Ciyza.js");
8
8
  let vue = require("vue");
9
9
  //#endregion
10
10
  //#region src/components/BNav/BNav.vue
@@ -450,4 +450,4 @@ Object.defineProperty(exports, "BNav_default", {
450
450
  }
451
451
  });
452
452
 
453
- //# sourceMappingURL=BNav-MjroX-Jl.js.map
453
+ //# sourceMappingURL=BNav-u9QwSGj3.js.map