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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTabs-C8rUY0Lx.js","names":[],"sources":["../src/components/BTabs/BTab.vue","../src/components/BTabs/BTab.vue","../src/components/BTabsTabContent.vue","../src/components/BTabsTabContent.vue","../src/components/BTabs/BTabs.vue","../src/components/BTabs/BTabs.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n ref=\"_el\"\n class=\"tab-pane\"\n :class=\"computedClasses\"\n role=\"tabpanel\"\n :aria-labelledby=\"computedButtonId\"\n v-bind=\"processedAttrs\"\n >\n <slot v-if=\"showSlot\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, onUnmounted, ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {TabType} from '../../types/Tab'\nimport type {BTabProps} from '../../types/ComponentProps'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport type {BTabSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BTabProps, 'active'>>(), {\n buttonId: undefined,\n disabled: false,\n id: undefined,\n lazy: undefined,\n unmountLazy: undefined,\n noBody: false,\n tag: 'div',\n title: undefined,\n titleItemClass: undefined,\n titleLinkAttrs: undefined,\n titleLinkClass: undefined,\n})\nconst props = useDefaults(_props, 'BTab')\nconst slots = defineSlots<BTabSlots>()\nconst attrs = useAttrs()\n\nconst activeModel = defineModel<Exclude<BTabProps['active'], undefined>>('active', {\n default: false,\n})\n\nconst parentData = inject(tabsInjectionKey, null)\n\nconst localId = ref(props.id)\nconst internalId = useId('', 'tabpane')\nconst computedId = computed(() => props.id ?? localId.value ?? internalId.value)\nconst computedButtonId = useId(() => props.buttonId, 'tab')\n\nconst lazyRenderCompleted = ref(false)\nconst el = useTemplateRef('_el')\n\nconst processedAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {onClick: _, ...tabAttrs} = attrs\n return tabAttrs\n})\n\nfunction updateTab() {\n if (!parentData) return\n const newId = parentData.registerTab(\n computed(\n () =>\n ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el,\n }) as TabType\n )\n )\n if (newId !== localId.value) {\n localId.value = newId\n }\n}\n\nif (parentData) {\n updateTab()\n if (activeModel.value) {\n parentData.activateTab(internalId.value)\n }\n}\n\nonUnmounted(() => {\n if (!parentData) return\n parentData.unregisterTab(internalId.value)\n})\n\nconst isActive = computed(() => parentData?.activeId.value === computedId.value)\nconst show = ref(isActive.value)\n\nconst computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy))\n\nconst computedActive = computed(() => isActive.value && !props.disabled)\nconst showSlot = computed(\n () =>\n computedActive.value ||\n !computedLazy.value ||\n (computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value)\n)\n\nwatch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true\n})\n\nwatch(isActive, (active) => {\n if (active) {\n activeModel.value = true\n setTimeout(() => {\n show.value = true\n }, 0)\n return\n }\n show.value = false\n activeModel.value = false\n})\n\nwatch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false\n return\n }\n if (!parentData) return\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(undefined)\n }\n return\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value)\n }\n})\n\nconst computedClasses = computed(() => [\n {\n 'active': isActive.value,\n 'show': show.value,\n 'card-body': parentData?.card.value && props.noBody === false,\n 'fade': !parentData?.noFade.value,\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value,\n])\n\ndefineExpose({\n activate: () => {\n activeModel.value = true\n },\n deactivate: () => {\n activeModel.value = false\n },\n})\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n ref=\"_el\"\n class=\"tab-pane\"\n :class=\"computedClasses\"\n role=\"tabpanel\"\n :aria-labelledby=\"computedButtonId\"\n v-bind=\"processedAttrs\"\n >\n <slot v-if=\"showSlot\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, onUnmounted, ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {TabType} from '../../types/Tab'\nimport type {BTabProps} from '../../types/ComponentProps'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport type {BTabSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BTabProps, 'active'>>(), {\n buttonId: undefined,\n disabled: false,\n id: undefined,\n lazy: undefined,\n unmountLazy: undefined,\n noBody: false,\n tag: 'div',\n title: undefined,\n titleItemClass: undefined,\n titleLinkAttrs: undefined,\n titleLinkClass: undefined,\n})\nconst props = useDefaults(_props, 'BTab')\nconst slots = defineSlots<BTabSlots>()\nconst attrs = useAttrs()\n\nconst activeModel = defineModel<Exclude<BTabProps['active'], undefined>>('active', {\n default: false,\n})\n\nconst parentData = inject(tabsInjectionKey, null)\n\nconst localId = ref(props.id)\nconst internalId = useId('', 'tabpane')\nconst computedId = computed(() => props.id ?? localId.value ?? internalId.value)\nconst computedButtonId = useId(() => props.buttonId, 'tab')\n\nconst lazyRenderCompleted = ref(false)\nconst el = useTemplateRef('_el')\n\nconst processedAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {onClick: _, ...tabAttrs} = attrs\n return tabAttrs\n})\n\nfunction updateTab() {\n if (!parentData) return\n const newId = parentData.registerTab(\n computed(\n () =>\n ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el,\n }) as TabType\n )\n )\n if (newId !== localId.value) {\n localId.value = newId\n }\n}\n\nif (parentData) {\n updateTab()\n if (activeModel.value) {\n parentData.activateTab(internalId.value)\n }\n}\n\nonUnmounted(() => {\n if (!parentData) return\n parentData.unregisterTab(internalId.value)\n})\n\nconst isActive = computed(() => parentData?.activeId.value === computedId.value)\nconst show = ref(isActive.value)\n\nconst computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy))\n\nconst computedActive = computed(() => isActive.value && !props.disabled)\nconst showSlot = computed(\n () =>\n computedActive.value ||\n !computedLazy.value ||\n (computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value)\n)\n\nwatch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true\n})\n\nwatch(isActive, (active) => {\n if (active) {\n activeModel.value = true\n setTimeout(() => {\n show.value = true\n }, 0)\n return\n }\n show.value = false\n activeModel.value = false\n})\n\nwatch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false\n return\n }\n if (!parentData) return\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(undefined)\n }\n return\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value)\n }\n})\n\nconst computedClasses = computed(() => [\n {\n 'active': isActive.value,\n 'show': show.value,\n 'card-body': parentData?.card.value && props.noBody === false,\n 'fade': !parentData?.noFade.value,\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value,\n])\n\ndefineExpose({\n activate: () => {\n activeModel.value = true\n },\n deactivate: () => {\n activeModel.value = false\n },\n})\n</script>\n","<template>\n <div class=\"tab-content\" :class=\"contentClass\">\n <slot />\n <div v-if=\"showEmpty\" key=\"bv-empty-tab\" class=\"tab-pane active\" :class=\"{'card-body': card}\">\n <slot name=\"empty\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\n\ndefineProps<{\n contentClass: ClassValue | undefined\n showEmpty: boolean\n card: boolean\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n default?: (props: Record<string, never>) => any\n empty?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <div class=\"tab-content\" :class=\"contentClass\">\n <slot />\n <div v-if=\"showEmpty\" key=\"bv-empty-tab\" class=\"tab-pane active\" :class=\"{'card-body': card}\">\n <slot name=\"empty\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\n\ndefineProps<{\n contentClass: ClassValue | undefined\n showEmpty: boolean\n card: boolean\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n default?: (props: Record<string, never>) => any\n empty?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" class=\"tabs\" :class=\"computedClasses\">\n <BTabsTabContent v-if=\"props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n <div\n :class=\"[\n props.navWrapperClass,\n {'card-header': props.card, 'ms-auto': vertical && props.end},\n ]\"\n >\n <ul\n class=\"nav\"\n :class=\"[navTabsClasses, props.navClass]\"\n role=\"tablist\"\n :aria-orientation=\"props.vertical ? 'vertical' : 'horizontal'\"\n >\n <slot name=\"tabs-start\" />\n <li\n v-for=\"(tab, idx) in tabs\"\n :key=\"tab.id ?? tab.internalId\"\n class=\"nav-item\"\n :class=\"tab.titleItemClass\"\n role=\"presentation\"\n >\n <button\n :id=\"tab.buttonId\"\n class=\"nav-link\"\n :class=\"[tab.navItemClasses, tab.titleLinkClass, tab.active ? props.activeNavLinkClass : props.inactiveNavLinkClass]\"\n role=\"tab\"\n :aria-controls=\"tab.id\"\n :aria-selected=\"tab.active\"\n :disabled=\"tab.disabled\"\n :tabindex=\"props.noKeyNav ? undefined : tab.active ? undefined : -1\"\n type=\"button\"\n v-bind=\"tab.titleLinkAttrs\"\n @keydown.left.exact=\"!props.vertical && keynav($event, -1)\"\n @keydown.left.shift=\"!props.vertical && keynav($event, -999)\"\n @keydown.up.exact=\"props.vertical && keynav($event, -1)\"\n @keydown.up.shift=\"props.vertical && keynav($event, -999)\"\n @keydown.right.exact=\"!props.vertical && keynav($event, 1)\"\n @keydown.right.shift=\"!props.vertical && keynav($event, 999)\"\n @keydown.down.exact=\"props.vertical && keynav($event, 1)\"\n @keydown.down.shift=\"props.vertical && keynav($event, 999)\"\n @keydown.page-up=\"keynav($event, -999)\"\n @keydown.page-down=\"keynav($event, 999)\"\n @keydown.home=\"keynav($event, -999)\"\n @keydown.end=\"keynav($event, 999)\"\n @click.stop=\"(e) => handleClick(e, idx)\"\n >\n <component :is=\"tab.titleComponent\" v-if=\"tab.titleComponent\" />\n <template v-else>\n {{ tab.title }}\n </template>\n </button>\n </li>\n <slot name=\"tabs-end\" />\n </ul>\n </div>\n <BTabsTabContent v-if=\"!props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n type Ref,\n ref,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {BvEvent} from '../../utils/classes'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useId} from '../../composables/useId'\nimport type {TabType, BTabsProps, BTabsEmits, BTabsSlots} from '../../types'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {getSafeDocument, sortSlotElementsByPosition} from '../../utils/dom'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BTab from './BTab.vue'\nimport BTabsTabContent from '../BTabsTabContent.vue'\n\nconst _props = withDefaults(defineProps<Omit<BTabsProps, 'modelValue' | 'activeIndex'>>(), {\n activeNavItemClass: undefined,\n activeNavLinkClass: undefined,\n activeTabClass: undefined,\n align: undefined,\n card: false,\n contentClass: undefined,\n end: false,\n fill: false,\n id: undefined,\n inactiveNavItemClass: undefined,\n inactiveNavLinkClass: undefined,\n inactiveTabClass: undefined,\n justified: false,\n lazy: false,\n navClass: undefined,\n navItemClass: undefined,\n navWrapperClass: undefined,\n noFade: false,\n noKeyNav: false,\n noNavStyle: false,\n pills: false,\n small: false,\n tag: 'div',\n tabClass: undefined,\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BTabs')\nconst emit = defineEmits<BTabsEmits>()\nconst slots = defineSlots<BTabsSlots>()\n\nconst activeIndex = defineModel<Exclude<BTabsProps['index'], undefined>>('index', {\n default: -1,\n})\nconst activeId = defineModel<BTabsProps['modelValue']>({\n default: undefined,\n})\n\nconst tabsInternal = ref<Ref<TabType>[]>([])\n\nconst tabElementsArray = ref<VNode[]>([])\n\nconst isChildActive = ref(false)\nconst initialIds = ref<string[]>([])\nconst hasExplicitIds = ref(false)\n\nconst updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? [])\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === BTab\n )\n // only get the ids once in setup context\n if (initialIds.value.length === 0) {\n // we need to get the ids of the tabs before they are registered. After that we use the internalId for the tabpane\n initialIds.value = tabElementsArray.value.map((tab) =>\n unref(useId(() => tab.props?.id, 'tabpane'))\n )\n // Check if any tab has an explicit ID\n hasExplicitIds.value = tabElementsArray.value.some((tab) => tab.props?.id !== undefined)\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== undefined && tab.props?.active !== false\n )\n}\nupdateTabElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray()\n nextTick(() => {\n sortTabs()\n })\n }\n)\n\nconst tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n // fail back on the slot elements, the children haven't been registered yet\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) =>\n (tab.props?.active !== undefined &&\n (tab.props.disabled === false || tab.props.disabled === undefined)) ||\n (activeId.value && tab.props?.id === activeId.value)\n )\n return tabElementsArray.value.map((tab, index) => {\n const active =\n _activeIndex !== -1\n ? index === _activeIndex\n : activeIndex.value > -1\n ? index === activeIndex.value\n : index === 0\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`, // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: (tab.children as {title: unknown})?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === undefined),\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab)\n const active = tab.id === activeId.value\n\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled,\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n})\n\nlet initialized = false\nlet updateInitialActiveIndex = false\nlet updateInitialActiveId = false\nlet delayedTabSelection = false\n\n// Check if we need to delay tab selection:\n// - We have v-model:index (activeIndex) but no v-model (activeId)\n// - AND tabs don't have explicit IDs (will use generated IDs)\n// - AND we have tabs to select from\nconst needsDelayedSelection =\n activeIndex.value > -1 &&\n !activeId.value &&\n !hasExplicitIds.value &&\n tabElementsArray.value.length > 0\n\nif (needsDelayedSelection) {\n // Delay tab selection until children register with their generated IDs\n delayedTabSelection = true\n updateInitialActiveId = true\n} else if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n } else {\n updateInitialActiveIndex = true\n }\n} else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id\n } else {\n updateInitialActiveId = true\n }\n} else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === undefined || t.disabled === false)\n activeId.value = tabs.value[activeIndex.value]?.id\n} else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) =>\n t.active !== undefined &&\n t.active !== false &&\n (t.disabled === undefined || t.disabled === false)\n )\n activeId.value = tabs.value[activeIndex.value]?.id\n}\n\nfunction updateInitialIndexAndId() {\n // we get the computedIds after registering the tabs\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value)\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index\n updateInitialActiveIndex = false\n })\n }\n }\n if (updateInitialActiveId) {\n // Wait for tabs to be registered if we're doing delayed selection\n if (delayedTabSelection && tabsInternal.value.length === 0) {\n // Children haven't registered yet, wait\n return\n }\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n updateInitialActiveId = false\n delayedTabSelection = false\n })\n }\n }\n}\n\nupdateInitialIndexAndId()\n\nconst showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0))\n\nconst tabContentProps = computed(() => ({\n contentClass: props.contentClass,\n showEmpty: showEmpty.value,\n card: props.card,\n}))\n\nconst computedClasses = computed(() => ({\n 'd-flex': props.vertical,\n 'align-items-start': props.vertical,\n}))\n\nconst alignment = useAlignment(() => props.align)\n\nconst navTabsClasses = computed(() => ({\n 'nav-pills': props.pills,\n 'nav-underline': props.underline,\n 'flex-column me-3': props.vertical,\n [alignment.value]: props.align !== undefined,\n 'nav-fill': props.fill,\n 'card-header-tabs': props.card && !props.pills && !props.underline,\n 'card-header-pills': props.card && props.pills,\n 'nav-justified': props.justified,\n 'nav-tabs': !props.noNavStyle && !props.pills && !props.underline,\n 'small': props.small,\n}))\n\nconst handleClick = (event: Readonly<MouseEvent>, index: number) => {\n if (\n index >= 0 &&\n !tabs.value[index]?.disabled &&\n tabs.value[index]?.onClick &&\n typeof tabs.value[index].onClick === 'function'\n ) {\n tabs.value[index].onClick?.(event)\n if (event.defaultPrevented) {\n getSafeDocument()?.getElementById(tabs.value[index].buttonId)?.blur()\n return\n }\n }\n activeIndex.value = index\n}\n\nconst keynav = (e: Event, direction: number) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return\n e.preventDefault()\n e.stopPropagation()\n activeIndex.value = nextIndex(activeIndex.value + direction, direction)\n nextTick(() => {\n if (activeIndex.value >= 0) {\n getSafeDocument()?.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus()\n }\n })\n}\n\nconst nextIndex = (start: number, direction: number) => {\n let index = start\n let minIdx = -1\n let maxIdx = -1\n\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i]?.disabled) {\n if (minIdx === -1) minIdx = i\n maxIdx = i\n }\n }\n\n while (index >= minIdx && index <= maxIdx && tabs.value[index]?.disabled) {\n index += direction\n }\n\n if (index < minIdx) index = minIdx\n if (index > maxIdx) index = maxIdx\n\n return index\n}\n\nlet previousIndex: number | undefined\nlet isReverting = false\nwatch(activeIndex, (newValue, oldValue) => {\n // Early exit if there are no tabs or all tabs are disabled\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n\n // If we're reverting due to a prevented event, don't process further\n if (isReverting) {\n isReverting = false\n return\n }\n // Calculate the next valid index\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1)\n if (index !== newValue) {\n // If the index is not the same as the new value, set the previous index to the old value\n // this is to prevent the event from being emitted twice\n previousIndex = oldValue\n activeIndex.value = index\n return\n }\n // Emit the activate-tab event\n const tabEvent = new BvEvent('activate-tab', {cancelable: true})\n emit('activate-tab', {\n newTabId: tabs.value[index]?.id,\n prevTabId: tabs.value[previousIndex ?? oldValue]?.id,\n newTabIndex: index,\n prevTabIndex: previousIndex ?? oldValue,\n event: tabEvent,\n })\n // If the event is prevented, revert to the previous index\n if (tabEvent.defaultPrevented) {\n isReverting = true\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1)\n previousIndex = undefined\n // Update the active id this will also trigger the activeId watch which will update the activeIndex\n // this is to make sure we handle case that starts with id change.\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id\n }\n nextTick(() => {\n if (prev >= 0) {\n getSafeDocument()?.getElementById(tabs.value[prev]?.buttonId)?.focus()\n }\n })\n return\n }\n\n // Update the active id\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id\n }\n previousIndex = undefined\n})\n\nwatch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n const index = tabs.value.findIndex((t) => t.id === newValue)\n // If the new tab is the same as the current tab, do nothing\n if (index === activeIndex.value) return\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue)\n // If the new tab is disabled, find the next enabled tab\n if (tabs.value[index]?.disabled) {\n // activeIndex watcher will update the activeId to the next enabled tab\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1)\n return\n }\n // If the new tab is not found, find the first enabled tab\n if (index === -1) {\n // activeIndex watcher will update the activeId to the first enabled tab\n activeIndex.value = nextIndex(0, 1)\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n })\n return\n }\n // change to the next tab\n activeIndex.value = index\n})\n\nconst registerTab = (tab: Ref<TabType>) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n if (idx === -1) {\n tabsInternal.value.push(tab)\n if (initialized) {\n nextTick(() => {\n sortTabs()\n })\n } else {\n // If we're doing delayed tab selection, try to update now that a tab has registered\n if (delayedTabSelection) {\n nextTick(() => {\n updateInitialIndexAndId()\n })\n }\n }\n } else {\n tabsInternal.value[idx] = tab\n if (initialized) {\n // sort just in case the tab was moved\n sortTabs()\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId)\n}\n\nonMounted(() => {\n updateInitialIndexAndId()\n sortTabs()\n initialized = true\n})\n\nconst sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value))\n if (\n activeId.value &&\n activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)\n ) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n }\n}\n\nconst unregisterTab = (id: string) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id)\n}\n\nprovide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId)\n if (internalId === undefined || idx === -1) {\n activeIndex.value = nextIndex(0, 1)\n return\n }\n activeIndex.value = idx\n },\n})\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" class=\"tabs\" :class=\"computedClasses\">\n <BTabsTabContent v-if=\"props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n <div\n :class=\"[\n props.navWrapperClass,\n {'card-header': props.card, 'ms-auto': vertical && props.end},\n ]\"\n >\n <ul\n class=\"nav\"\n :class=\"[navTabsClasses, props.navClass]\"\n role=\"tablist\"\n :aria-orientation=\"props.vertical ? 'vertical' : 'horizontal'\"\n >\n <slot name=\"tabs-start\" />\n <li\n v-for=\"(tab, idx) in tabs\"\n :key=\"tab.id ?? tab.internalId\"\n class=\"nav-item\"\n :class=\"tab.titleItemClass\"\n role=\"presentation\"\n >\n <button\n :id=\"tab.buttonId\"\n class=\"nav-link\"\n :class=\"[tab.navItemClasses, tab.titleLinkClass, tab.active ? props.activeNavLinkClass : props.inactiveNavLinkClass]\"\n role=\"tab\"\n :aria-controls=\"tab.id\"\n :aria-selected=\"tab.active\"\n :disabled=\"tab.disabled\"\n :tabindex=\"props.noKeyNav ? undefined : tab.active ? undefined : -1\"\n type=\"button\"\n v-bind=\"tab.titleLinkAttrs\"\n @keydown.left.exact=\"!props.vertical && keynav($event, -1)\"\n @keydown.left.shift=\"!props.vertical && keynav($event, -999)\"\n @keydown.up.exact=\"props.vertical && keynav($event, -1)\"\n @keydown.up.shift=\"props.vertical && keynav($event, -999)\"\n @keydown.right.exact=\"!props.vertical && keynav($event, 1)\"\n @keydown.right.shift=\"!props.vertical && keynav($event, 999)\"\n @keydown.down.exact=\"props.vertical && keynav($event, 1)\"\n @keydown.down.shift=\"props.vertical && keynav($event, 999)\"\n @keydown.page-up=\"keynav($event, -999)\"\n @keydown.page-down=\"keynav($event, 999)\"\n @keydown.home=\"keynav($event, -999)\"\n @keydown.end=\"keynav($event, 999)\"\n @click.stop=\"(e) => handleClick(e, idx)\"\n >\n <component :is=\"tab.titleComponent\" v-if=\"tab.titleComponent\" />\n <template v-else>\n {{ tab.title }}\n </template>\n </button>\n </li>\n <slot name=\"tabs-end\" />\n </ul>\n </div>\n <BTabsTabContent v-if=\"!props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n type Ref,\n ref,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {BvEvent} from '../../utils/classes'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useId} from '../../composables/useId'\nimport type {TabType, BTabsProps, BTabsEmits, BTabsSlots} from '../../types'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {getSafeDocument, sortSlotElementsByPosition} from '../../utils/dom'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BTab from './BTab.vue'\nimport BTabsTabContent from '../BTabsTabContent.vue'\n\nconst _props = withDefaults(defineProps<Omit<BTabsProps, 'modelValue' | 'activeIndex'>>(), {\n activeNavItemClass: undefined,\n activeNavLinkClass: undefined,\n activeTabClass: undefined,\n align: undefined,\n card: false,\n contentClass: undefined,\n end: false,\n fill: false,\n id: undefined,\n inactiveNavItemClass: undefined,\n inactiveNavLinkClass: undefined,\n inactiveTabClass: undefined,\n justified: false,\n lazy: false,\n navClass: undefined,\n navItemClass: undefined,\n navWrapperClass: undefined,\n noFade: false,\n noKeyNav: false,\n noNavStyle: false,\n pills: false,\n small: false,\n tag: 'div',\n tabClass: undefined,\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BTabs')\nconst emit = defineEmits<BTabsEmits>()\nconst slots = defineSlots<BTabsSlots>()\n\nconst activeIndex = defineModel<Exclude<BTabsProps['index'], undefined>>('index', {\n default: -1,\n})\nconst activeId = defineModel<BTabsProps['modelValue']>({\n default: undefined,\n})\n\nconst tabsInternal = ref<Ref<TabType>[]>([])\n\nconst tabElementsArray = ref<VNode[]>([])\n\nconst isChildActive = ref(false)\nconst initialIds = ref<string[]>([])\nconst hasExplicitIds = ref(false)\n\nconst updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? [])\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === BTab\n )\n // only get the ids once in setup context\n if (initialIds.value.length === 0) {\n // we need to get the ids of the tabs before they are registered. After that we use the internalId for the tabpane\n initialIds.value = tabElementsArray.value.map((tab) =>\n unref(useId(() => tab.props?.id, 'tabpane'))\n )\n // Check if any tab has an explicit ID\n hasExplicitIds.value = tabElementsArray.value.some((tab) => tab.props?.id !== undefined)\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== undefined && tab.props?.active !== false\n )\n}\nupdateTabElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray()\n nextTick(() => {\n sortTabs()\n })\n }\n)\n\nconst tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n // fail back on the slot elements, the children haven't been registered yet\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) =>\n (tab.props?.active !== undefined &&\n (tab.props.disabled === false || tab.props.disabled === undefined)) ||\n (activeId.value && tab.props?.id === activeId.value)\n )\n return tabElementsArray.value.map((tab, index) => {\n const active =\n _activeIndex !== -1\n ? index === _activeIndex\n : activeIndex.value > -1\n ? index === activeIndex.value\n : index === 0\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`, // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: (tab.children as {title: unknown})?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === undefined),\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab)\n const active = tab.id === activeId.value\n\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled,\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n})\n\nlet initialized = false\nlet updateInitialActiveIndex = false\nlet updateInitialActiveId = false\nlet delayedTabSelection = false\n\n// Check if we need to delay tab selection:\n// - We have v-model:index (activeIndex) but no v-model (activeId)\n// - AND tabs don't have explicit IDs (will use generated IDs)\n// - AND we have tabs to select from\nconst needsDelayedSelection =\n activeIndex.value > -1 &&\n !activeId.value &&\n !hasExplicitIds.value &&\n tabElementsArray.value.length > 0\n\nif (needsDelayedSelection) {\n // Delay tab selection until children register with their generated IDs\n delayedTabSelection = true\n updateInitialActiveId = true\n} else if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n } else {\n updateInitialActiveIndex = true\n }\n} else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id\n } else {\n updateInitialActiveId = true\n }\n} else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === undefined || t.disabled === false)\n activeId.value = tabs.value[activeIndex.value]?.id\n} else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) =>\n t.active !== undefined &&\n t.active !== false &&\n (t.disabled === undefined || t.disabled === false)\n )\n activeId.value = tabs.value[activeIndex.value]?.id\n}\n\nfunction updateInitialIndexAndId() {\n // we get the computedIds after registering the tabs\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value)\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index\n updateInitialActiveIndex = false\n })\n }\n }\n if (updateInitialActiveId) {\n // Wait for tabs to be registered if we're doing delayed selection\n if (delayedTabSelection && tabsInternal.value.length === 0) {\n // Children haven't registered yet, wait\n return\n }\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n updateInitialActiveId = false\n delayedTabSelection = false\n })\n }\n }\n}\n\nupdateInitialIndexAndId()\n\nconst showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0))\n\nconst tabContentProps = computed(() => ({\n contentClass: props.contentClass,\n showEmpty: showEmpty.value,\n card: props.card,\n}))\n\nconst computedClasses = computed(() => ({\n 'd-flex': props.vertical,\n 'align-items-start': props.vertical,\n}))\n\nconst alignment = useAlignment(() => props.align)\n\nconst navTabsClasses = computed(() => ({\n 'nav-pills': props.pills,\n 'nav-underline': props.underline,\n 'flex-column me-3': props.vertical,\n [alignment.value]: props.align !== undefined,\n 'nav-fill': props.fill,\n 'card-header-tabs': props.card && !props.pills && !props.underline,\n 'card-header-pills': props.card && props.pills,\n 'nav-justified': props.justified,\n 'nav-tabs': !props.noNavStyle && !props.pills && !props.underline,\n 'small': props.small,\n}))\n\nconst handleClick = (event: Readonly<MouseEvent>, index: number) => {\n if (\n index >= 0 &&\n !tabs.value[index]?.disabled &&\n tabs.value[index]?.onClick &&\n typeof tabs.value[index].onClick === 'function'\n ) {\n tabs.value[index].onClick?.(event)\n if (event.defaultPrevented) {\n getSafeDocument()?.getElementById(tabs.value[index].buttonId)?.blur()\n return\n }\n }\n activeIndex.value = index\n}\n\nconst keynav = (e: Event, direction: number) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return\n e.preventDefault()\n e.stopPropagation()\n activeIndex.value = nextIndex(activeIndex.value + direction, direction)\n nextTick(() => {\n if (activeIndex.value >= 0) {\n getSafeDocument()?.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus()\n }\n })\n}\n\nconst nextIndex = (start: number, direction: number) => {\n let index = start\n let minIdx = -1\n let maxIdx = -1\n\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i]?.disabled) {\n if (minIdx === -1) minIdx = i\n maxIdx = i\n }\n }\n\n while (index >= minIdx && index <= maxIdx && tabs.value[index]?.disabled) {\n index += direction\n }\n\n if (index < minIdx) index = minIdx\n if (index > maxIdx) index = maxIdx\n\n return index\n}\n\nlet previousIndex: number | undefined\nlet isReverting = false\nwatch(activeIndex, (newValue, oldValue) => {\n // Early exit if there are no tabs or all tabs are disabled\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n\n // If we're reverting due to a prevented event, don't process further\n if (isReverting) {\n isReverting = false\n return\n }\n // Calculate the next valid index\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1)\n if (index !== newValue) {\n // If the index is not the same as the new value, set the previous index to the old value\n // this is to prevent the event from being emitted twice\n previousIndex = oldValue\n activeIndex.value = index\n return\n }\n // Emit the activate-tab event\n const tabEvent = new BvEvent('activate-tab', {cancelable: true})\n emit('activate-tab', {\n newTabId: tabs.value[index]?.id,\n prevTabId: tabs.value[previousIndex ?? oldValue]?.id,\n newTabIndex: index,\n prevTabIndex: previousIndex ?? oldValue,\n event: tabEvent,\n })\n // If the event is prevented, revert to the previous index\n if (tabEvent.defaultPrevented) {\n isReverting = true\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1)\n previousIndex = undefined\n // Update the active id this will also trigger the activeId watch which will update the activeIndex\n // this is to make sure we handle case that starts with id change.\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id\n }\n nextTick(() => {\n if (prev >= 0) {\n getSafeDocument()?.getElementById(tabs.value[prev]?.buttonId)?.focus()\n }\n })\n return\n }\n\n // Update the active id\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id\n }\n previousIndex = undefined\n})\n\nwatch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n const index = tabs.value.findIndex((t) => t.id === newValue)\n // If the new tab is the same as the current tab, do nothing\n if (index === activeIndex.value) return\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue)\n // If the new tab is disabled, find the next enabled tab\n if (tabs.value[index]?.disabled) {\n // activeIndex watcher will update the activeId to the next enabled tab\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1)\n return\n }\n // If the new tab is not found, find the first enabled tab\n if (index === -1) {\n // activeIndex watcher will update the activeId to the first enabled tab\n activeIndex.value = nextIndex(0, 1)\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n })\n return\n }\n // change to the next tab\n activeIndex.value = index\n})\n\nconst registerTab = (tab: Ref<TabType>) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n if (idx === -1) {\n tabsInternal.value.push(tab)\n if (initialized) {\n nextTick(() => {\n sortTabs()\n })\n } else {\n // If we're doing delayed tab selection, try to update now that a tab has registered\n if (delayedTabSelection) {\n nextTick(() => {\n updateInitialIndexAndId()\n })\n }\n }\n } else {\n tabsInternal.value[idx] = tab\n if (initialized) {\n // sort just in case the tab was moved\n sortTabs()\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId)\n}\n\nonMounted(() => {\n updateInitialIndexAndId()\n sortTabs()\n initialized = true\n})\n\nconst sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value))\n if (\n activeId.value &&\n activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)\n ) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n }\n}\n\nconst unregisterTab = (id: string) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id)\n}\n\nprovide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId)\n if (internalId === undefined || idx === -1) {\n activeIndex.value = nextIndex(0, 1)\n return\n }\n activeIndex.value = idx\n },\n})\n</script>\n"],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { C as tabsInjectionKey } from "./keys-CQKrwmvN.mjs";
2
- import { n as createReusableTemplate } from "./dist-B10a-gZ8.mjs";
3
2
  import { c as sortSlotElementsByPosition, i as getSafeDocument } from "./dom-AhkaSoh8.mjs";
4
3
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
4
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
5
  import { t as flattenFragments } from "./flattenFragments-ClbLQGqR.mjs";
7
6
  import { n as BvEvent } from "./classes-B0E5Y78Y.mjs";
8
- import { t as useAlignment } from "./useAlignment-BiCREohQ.mjs";
9
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, mergeModels, mergeProps, nextTick, normalizeClass, onMounted, onUnmounted, openBlock, provide, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, toRef, unref, useAttrs, useModel, useSlots, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
7
+ import { t as useAlignment } from "./useAlignment-DuR8ymKI.mjs";
8
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, inject, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, onMounted, onUnmounted, openBlock, provide, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, toRef, unref, useAttrs, useModel, useSlots, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
10
9
  //#endregion
11
10
  //#region src/components/BTabs/BTab.vue
12
11
  var BTab_default = /* @__PURE__ */ defineComponent({
@@ -154,6 +153,24 @@ var BTab_default = /* @__PURE__ */ defineComponent({
154
153
  }
155
154
  });
156
155
  //#endregion
156
+ //#region src/components/BTabsTabContent.vue
157
+ var BTabsTabContent_default = /* @__PURE__ */ defineComponent({
158
+ __name: "BTabsTabContent",
159
+ props: {
160
+ contentClass: {},
161
+ showEmpty: { type: Boolean },
162
+ card: { type: Boolean }
163
+ },
164
+ setup(__props) {
165
+ return (_ctx, _cache) => {
166
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["tab-content", __props.contentClass]) }, [renderSlot(_ctx.$slots, "default"), __props.showEmpty ? (openBlock(), createElementBlock("div", {
167
+ key: "bv-empty-tab",
168
+ class: normalizeClass(["tab-pane active", { "card-body": __props.card }])
169
+ }, [renderSlot(_ctx.$slots, "empty")], 2)) : createCommentVNode("", true)], 2);
170
+ };
171
+ }
172
+ });
173
+ //#endregion
157
174
  //#region src/components/BTabs/BTabs.vue?vue&type=script&setup=true&lang.ts
158
175
  var _hoisted_1 = ["aria-orientation"];
159
176
  var _hoisted_2 = [
@@ -170,6 +187,7 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
170
187
  __name: "BTabs",
171
188
  props: /* @__PURE__ */ mergeModels({
172
189
  activeNavItemClass: { default: void 0 },
190
+ activeNavLinkClass: { default: void 0 },
173
191
  activeTabClass: { default: void 0 },
174
192
  align: { default: void 0 },
175
193
  card: {
@@ -188,6 +206,7 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
188
206
  id: { default: void 0 },
189
207
  index: {},
190
208
  inactiveNavItemClass: { default: void 0 },
209
+ inactiveNavLinkClass: { default: void 0 },
191
210
  inactiveTabClass: { default: void 0 },
192
211
  justified: {
193
212
  type: Boolean,
@@ -243,7 +262,6 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
243
262
  const slots = useSlots();
244
263
  const activeIndex = useModel(__props, "index");
245
264
  const activeId = useModel(__props, "modelValue");
246
- const ReusableEmptyTab = createReusableTemplate();
247
265
  const tabsInternal = ref([]);
248
266
  const tabElementsArray = ref([]);
249
267
  const isChildActive = ref(false);
@@ -347,6 +365,11 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
347
365
  }
348
366
  updateInitialIndexAndId();
349
367
  const showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0));
368
+ const tabContentProps = computed(() => ({
369
+ contentClass: props.contentClass,
370
+ showEmpty: showEmpty.value,
371
+ card: props.card
372
+ }));
350
373
  const computedClasses = computed(() => ({
351
374
  "d-flex": props.vertical,
352
375
  "align-items-start": props.vertical
@@ -503,14 +526,11 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
503
526
  class: normalizeClass(["tabs", computedClasses.value])
504
527
  }, {
505
528
  default: withCtx(() => [
506
- createVNode(unref(ReusableEmptyTab).define, null, {
507
- default: withCtx(() => [createElementVNode("div", { class: normalizeClass(["tab-content", unref(props).contentClass]) }, [renderSlot(_ctx.$slots, "default"), showEmpty.value ? (openBlock(), createElementBlock("div", {
508
- key: "bv-empty-tab",
509
- class: normalizeClass(["tab-pane active", { "card-body": unref(props).card }])
510
- }, [renderSlot(_ctx.$slots, "empty")], 2)) : createCommentVNode("", true)], 2)]),
529
+ unref(props).end ? (openBlock(), createBlock(BTabsTabContent_default, normalizeProps(mergeProps({ key: 0 }, tabContentProps.value)), {
530
+ empty: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
531
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
511
532
  _: 3
512
- }),
513
- unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 0 })) : createCommentVNode("", true),
533
+ }, 16)) : createCommentVNode("", true),
514
534
  createElementVNode("div", { class: normalizeClass([unref(props).navWrapperClass, {
515
535
  "card-header": unref(props).card,
516
536
  "ms-auto": __props.vertical && unref(props).end
@@ -527,7 +547,11 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
527
547
  role: "presentation"
528
548
  }, [createElementVNode("button", mergeProps({
529
549
  id: tab.buttonId,
530
- class: ["nav-link", [tab.navItemClasses, tab.titleLinkClass]],
550
+ class: ["nav-link", [
551
+ tab.navItemClasses,
552
+ tab.titleLinkClass,
553
+ tab.active ? unref(props).activeNavLinkClass : unref(props).inactiveNavLinkClass
554
+ ]],
531
555
  role: "tab",
532
556
  "aria-controls": tab.id,
533
557
  "aria-selected": tab.active,
@@ -554,7 +578,11 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
554
578
  }), 128)),
555
579
  renderSlot(_ctx.$slots, "tabs-end")
556
580
  ], 10, _hoisted_1)], 2),
557
- !unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 1 })) : createCommentVNode("", true)
581
+ !unref(props).end ? (openBlock(), createBlock(BTabsTabContent_default, normalizeProps(mergeProps({ key: 1 }, tabContentProps.value)), {
582
+ empty: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
583
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
584
+ _: 3
585
+ }, 16)) : createCommentVNode("", true)
558
586
  ]),
559
587
  _: 3
560
588
  }, 8, ["id", "class"]);
@@ -564,4 +592,4 @@ var BTabs_default = /* @__PURE__ */ defineComponent({
564
592
  //#endregion
565
593
  export { BTab_default as n, BTabs_default as t };
566
594
 
567
- //# sourceMappingURL=BTabs-DZEF9kgT.mjs.map
595
+ //# sourceMappingURL=BTabs-Krs_Lv-R.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTabs-Krs_Lv-R.mjs","names":[],"sources":["../src/components/BTabs/BTab.vue","../src/components/BTabs/BTab.vue","../src/components/BTabsTabContent.vue","../src/components/BTabsTabContent.vue","../src/components/BTabs/BTabs.vue","../src/components/BTabs/BTabs.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n ref=\"_el\"\n class=\"tab-pane\"\n :class=\"computedClasses\"\n role=\"tabpanel\"\n :aria-labelledby=\"computedButtonId\"\n v-bind=\"processedAttrs\"\n >\n <slot v-if=\"showSlot\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, onUnmounted, ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {TabType} from '../../types/Tab'\nimport type {BTabProps} from '../../types/ComponentProps'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport type {BTabSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BTabProps, 'active'>>(), {\n buttonId: undefined,\n disabled: false,\n id: undefined,\n lazy: undefined,\n unmountLazy: undefined,\n noBody: false,\n tag: 'div',\n title: undefined,\n titleItemClass: undefined,\n titleLinkAttrs: undefined,\n titleLinkClass: undefined,\n})\nconst props = useDefaults(_props, 'BTab')\nconst slots = defineSlots<BTabSlots>()\nconst attrs = useAttrs()\n\nconst activeModel = defineModel<Exclude<BTabProps['active'], undefined>>('active', {\n default: false,\n})\n\nconst parentData = inject(tabsInjectionKey, null)\n\nconst localId = ref(props.id)\nconst internalId = useId('', 'tabpane')\nconst computedId = computed(() => props.id ?? localId.value ?? internalId.value)\nconst computedButtonId = useId(() => props.buttonId, 'tab')\n\nconst lazyRenderCompleted = ref(false)\nconst el = useTemplateRef('_el')\n\nconst processedAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {onClick: _, ...tabAttrs} = attrs\n return tabAttrs\n})\n\nfunction updateTab() {\n if (!parentData) return\n const newId = parentData.registerTab(\n computed(\n () =>\n ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el,\n }) as TabType\n )\n )\n if (newId !== localId.value) {\n localId.value = newId\n }\n}\n\nif (parentData) {\n updateTab()\n if (activeModel.value) {\n parentData.activateTab(internalId.value)\n }\n}\n\nonUnmounted(() => {\n if (!parentData) return\n parentData.unregisterTab(internalId.value)\n})\n\nconst isActive = computed(() => parentData?.activeId.value === computedId.value)\nconst show = ref(isActive.value)\n\nconst computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy))\n\nconst computedActive = computed(() => isActive.value && !props.disabled)\nconst showSlot = computed(\n () =>\n computedActive.value ||\n !computedLazy.value ||\n (computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value)\n)\n\nwatch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true\n})\n\nwatch(isActive, (active) => {\n if (active) {\n activeModel.value = true\n setTimeout(() => {\n show.value = true\n }, 0)\n return\n }\n show.value = false\n activeModel.value = false\n})\n\nwatch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false\n return\n }\n if (!parentData) return\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(undefined)\n }\n return\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value)\n }\n})\n\nconst computedClasses = computed(() => [\n {\n 'active': isActive.value,\n 'show': show.value,\n 'card-body': parentData?.card.value && props.noBody === false,\n 'fade': !parentData?.noFade.value,\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value,\n])\n\ndefineExpose({\n activate: () => {\n activeModel.value = true\n },\n deactivate: () => {\n activeModel.value = false\n },\n})\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n ref=\"_el\"\n class=\"tab-pane\"\n :class=\"computedClasses\"\n role=\"tabpanel\"\n :aria-labelledby=\"computedButtonId\"\n v-bind=\"processedAttrs\"\n >\n <slot v-if=\"showSlot\" />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, onUnmounted, ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {TabType} from '../../types/Tab'\nimport type {BTabProps} from '../../types/ComponentProps'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport type {BTabSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BTabProps, 'active'>>(), {\n buttonId: undefined,\n disabled: false,\n id: undefined,\n lazy: undefined,\n unmountLazy: undefined,\n noBody: false,\n tag: 'div',\n title: undefined,\n titleItemClass: undefined,\n titleLinkAttrs: undefined,\n titleLinkClass: undefined,\n})\nconst props = useDefaults(_props, 'BTab')\nconst slots = defineSlots<BTabSlots>()\nconst attrs = useAttrs()\n\nconst activeModel = defineModel<Exclude<BTabProps['active'], undefined>>('active', {\n default: false,\n})\n\nconst parentData = inject(tabsInjectionKey, null)\n\nconst localId = ref(props.id)\nconst internalId = useId('', 'tabpane')\nconst computedId = computed(() => props.id ?? localId.value ?? internalId.value)\nconst computedButtonId = useId(() => props.buttonId, 'tab')\n\nconst lazyRenderCompleted = ref(false)\nconst el = useTemplateRef('_el')\n\nconst processedAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {onClick: _, ...tabAttrs} = attrs\n return tabAttrs\n})\n\nfunction updateTab() {\n if (!parentData) return\n const newId = parentData.registerTab(\n computed(\n () =>\n ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el,\n }) as TabType\n )\n )\n if (newId !== localId.value) {\n localId.value = newId\n }\n}\n\nif (parentData) {\n updateTab()\n if (activeModel.value) {\n parentData.activateTab(internalId.value)\n }\n}\n\nonUnmounted(() => {\n if (!parentData) return\n parentData.unregisterTab(internalId.value)\n})\n\nconst isActive = computed(() => parentData?.activeId.value === computedId.value)\nconst show = ref(isActive.value)\n\nconst computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy))\n\nconst computedActive = computed(() => isActive.value && !props.disabled)\nconst showSlot = computed(\n () =>\n computedActive.value ||\n !computedLazy.value ||\n (computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value)\n)\n\nwatch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true\n})\n\nwatch(isActive, (active) => {\n if (active) {\n activeModel.value = true\n setTimeout(() => {\n show.value = true\n }, 0)\n return\n }\n show.value = false\n activeModel.value = false\n})\n\nwatch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false\n return\n }\n if (!parentData) return\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(undefined)\n }\n return\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value)\n }\n})\n\nconst computedClasses = computed(() => [\n {\n 'active': isActive.value,\n 'show': show.value,\n 'card-body': parentData?.card.value && props.noBody === false,\n 'fade': !parentData?.noFade.value,\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value,\n])\n\ndefineExpose({\n activate: () => {\n activeModel.value = true\n },\n deactivate: () => {\n activeModel.value = false\n },\n})\n</script>\n","<template>\n <div class=\"tab-content\" :class=\"contentClass\">\n <slot />\n <div v-if=\"showEmpty\" key=\"bv-empty-tab\" class=\"tab-pane active\" :class=\"{'card-body': card}\">\n <slot name=\"empty\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\n\ndefineProps<{\n contentClass: ClassValue | undefined\n showEmpty: boolean\n card: boolean\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n default?: (props: Record<string, never>) => any\n empty?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <div class=\"tab-content\" :class=\"contentClass\">\n <slot />\n <div v-if=\"showEmpty\" key=\"bv-empty-tab\" class=\"tab-pane active\" :class=\"{'card-body': card}\">\n <slot name=\"empty\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\n\ndefineProps<{\n contentClass: ClassValue | undefined\n showEmpty: boolean\n card: boolean\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n default?: (props: Record<string, never>) => any\n empty?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" class=\"tabs\" :class=\"computedClasses\">\n <BTabsTabContent v-if=\"props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n <div\n :class=\"[\n props.navWrapperClass,\n {'card-header': props.card, 'ms-auto': vertical && props.end},\n ]\"\n >\n <ul\n class=\"nav\"\n :class=\"[navTabsClasses, props.navClass]\"\n role=\"tablist\"\n :aria-orientation=\"props.vertical ? 'vertical' : 'horizontal'\"\n >\n <slot name=\"tabs-start\" />\n <li\n v-for=\"(tab, idx) in tabs\"\n :key=\"tab.id ?? tab.internalId\"\n class=\"nav-item\"\n :class=\"tab.titleItemClass\"\n role=\"presentation\"\n >\n <button\n :id=\"tab.buttonId\"\n class=\"nav-link\"\n :class=\"[tab.navItemClasses, tab.titleLinkClass, tab.active ? props.activeNavLinkClass : props.inactiveNavLinkClass]\"\n role=\"tab\"\n :aria-controls=\"tab.id\"\n :aria-selected=\"tab.active\"\n :disabled=\"tab.disabled\"\n :tabindex=\"props.noKeyNav ? undefined : tab.active ? undefined : -1\"\n type=\"button\"\n v-bind=\"tab.titleLinkAttrs\"\n @keydown.left.exact=\"!props.vertical && keynav($event, -1)\"\n @keydown.left.shift=\"!props.vertical && keynav($event, -999)\"\n @keydown.up.exact=\"props.vertical && keynav($event, -1)\"\n @keydown.up.shift=\"props.vertical && keynav($event, -999)\"\n @keydown.right.exact=\"!props.vertical && keynav($event, 1)\"\n @keydown.right.shift=\"!props.vertical && keynav($event, 999)\"\n @keydown.down.exact=\"props.vertical && keynav($event, 1)\"\n @keydown.down.shift=\"props.vertical && keynav($event, 999)\"\n @keydown.page-up=\"keynav($event, -999)\"\n @keydown.page-down=\"keynav($event, 999)\"\n @keydown.home=\"keynav($event, -999)\"\n @keydown.end=\"keynav($event, 999)\"\n @click.stop=\"(e) => handleClick(e, idx)\"\n >\n <component :is=\"tab.titleComponent\" v-if=\"tab.titleComponent\" />\n <template v-else>\n {{ tab.title }}\n </template>\n </button>\n </li>\n <slot name=\"tabs-end\" />\n </ul>\n </div>\n <BTabsTabContent v-if=\"!props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n type Ref,\n ref,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {BvEvent} from '../../utils/classes'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useId} from '../../composables/useId'\nimport type {TabType, BTabsProps, BTabsEmits, BTabsSlots} from '../../types'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {getSafeDocument, sortSlotElementsByPosition} from '../../utils/dom'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BTab from './BTab.vue'\nimport BTabsTabContent from '../BTabsTabContent.vue'\n\nconst _props = withDefaults(defineProps<Omit<BTabsProps, 'modelValue' | 'activeIndex'>>(), {\n activeNavItemClass: undefined,\n activeNavLinkClass: undefined,\n activeTabClass: undefined,\n align: undefined,\n card: false,\n contentClass: undefined,\n end: false,\n fill: false,\n id: undefined,\n inactiveNavItemClass: undefined,\n inactiveNavLinkClass: undefined,\n inactiveTabClass: undefined,\n justified: false,\n lazy: false,\n navClass: undefined,\n navItemClass: undefined,\n navWrapperClass: undefined,\n noFade: false,\n noKeyNav: false,\n noNavStyle: false,\n pills: false,\n small: false,\n tag: 'div',\n tabClass: undefined,\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BTabs')\nconst emit = defineEmits<BTabsEmits>()\nconst slots = defineSlots<BTabsSlots>()\n\nconst activeIndex = defineModel<Exclude<BTabsProps['index'], undefined>>('index', {\n default: -1,\n})\nconst activeId = defineModel<BTabsProps['modelValue']>({\n default: undefined,\n})\n\nconst tabsInternal = ref<Ref<TabType>[]>([])\n\nconst tabElementsArray = ref<VNode[]>([])\n\nconst isChildActive = ref(false)\nconst initialIds = ref<string[]>([])\nconst hasExplicitIds = ref(false)\n\nconst updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? [])\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === BTab\n )\n // only get the ids once in setup context\n if (initialIds.value.length === 0) {\n // we need to get the ids of the tabs before they are registered. After that we use the internalId for the tabpane\n initialIds.value = tabElementsArray.value.map((tab) =>\n unref(useId(() => tab.props?.id, 'tabpane'))\n )\n // Check if any tab has an explicit ID\n hasExplicitIds.value = tabElementsArray.value.some((tab) => tab.props?.id !== undefined)\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== undefined && tab.props?.active !== false\n )\n}\nupdateTabElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray()\n nextTick(() => {\n sortTabs()\n })\n }\n)\n\nconst tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n // fail back on the slot elements, the children haven't been registered yet\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) =>\n (tab.props?.active !== undefined &&\n (tab.props.disabled === false || tab.props.disabled === undefined)) ||\n (activeId.value && tab.props?.id === activeId.value)\n )\n return tabElementsArray.value.map((tab, index) => {\n const active =\n _activeIndex !== -1\n ? index === _activeIndex\n : activeIndex.value > -1\n ? index === activeIndex.value\n : index === 0\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`, // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: (tab.children as {title: unknown})?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === undefined),\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab)\n const active = tab.id === activeId.value\n\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled,\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n})\n\nlet initialized = false\nlet updateInitialActiveIndex = false\nlet updateInitialActiveId = false\nlet delayedTabSelection = false\n\n// Check if we need to delay tab selection:\n// - We have v-model:index (activeIndex) but no v-model (activeId)\n// - AND tabs don't have explicit IDs (will use generated IDs)\n// - AND we have tabs to select from\nconst needsDelayedSelection =\n activeIndex.value > -1 &&\n !activeId.value &&\n !hasExplicitIds.value &&\n tabElementsArray.value.length > 0\n\nif (needsDelayedSelection) {\n // Delay tab selection until children register with their generated IDs\n delayedTabSelection = true\n updateInitialActiveId = true\n} else if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n } else {\n updateInitialActiveIndex = true\n }\n} else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id\n } else {\n updateInitialActiveId = true\n }\n} else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === undefined || t.disabled === false)\n activeId.value = tabs.value[activeIndex.value]?.id\n} else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) =>\n t.active !== undefined &&\n t.active !== false &&\n (t.disabled === undefined || t.disabled === false)\n )\n activeId.value = tabs.value[activeIndex.value]?.id\n}\n\nfunction updateInitialIndexAndId() {\n // we get the computedIds after registering the tabs\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value)\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index\n updateInitialActiveIndex = false\n })\n }\n }\n if (updateInitialActiveId) {\n // Wait for tabs to be registered if we're doing delayed selection\n if (delayedTabSelection && tabsInternal.value.length === 0) {\n // Children haven't registered yet, wait\n return\n }\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n updateInitialActiveId = false\n delayedTabSelection = false\n })\n }\n }\n}\n\nupdateInitialIndexAndId()\n\nconst showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0))\n\nconst tabContentProps = computed(() => ({\n contentClass: props.contentClass,\n showEmpty: showEmpty.value,\n card: props.card,\n}))\n\nconst computedClasses = computed(() => ({\n 'd-flex': props.vertical,\n 'align-items-start': props.vertical,\n}))\n\nconst alignment = useAlignment(() => props.align)\n\nconst navTabsClasses = computed(() => ({\n 'nav-pills': props.pills,\n 'nav-underline': props.underline,\n 'flex-column me-3': props.vertical,\n [alignment.value]: props.align !== undefined,\n 'nav-fill': props.fill,\n 'card-header-tabs': props.card && !props.pills && !props.underline,\n 'card-header-pills': props.card && props.pills,\n 'nav-justified': props.justified,\n 'nav-tabs': !props.noNavStyle && !props.pills && !props.underline,\n 'small': props.small,\n}))\n\nconst handleClick = (event: Readonly<MouseEvent>, index: number) => {\n if (\n index >= 0 &&\n !tabs.value[index]?.disabled &&\n tabs.value[index]?.onClick &&\n typeof tabs.value[index].onClick === 'function'\n ) {\n tabs.value[index].onClick?.(event)\n if (event.defaultPrevented) {\n getSafeDocument()?.getElementById(tabs.value[index].buttonId)?.blur()\n return\n }\n }\n activeIndex.value = index\n}\n\nconst keynav = (e: Event, direction: number) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return\n e.preventDefault()\n e.stopPropagation()\n activeIndex.value = nextIndex(activeIndex.value + direction, direction)\n nextTick(() => {\n if (activeIndex.value >= 0) {\n getSafeDocument()?.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus()\n }\n })\n}\n\nconst nextIndex = (start: number, direction: number) => {\n let index = start\n let minIdx = -1\n let maxIdx = -1\n\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i]?.disabled) {\n if (minIdx === -1) minIdx = i\n maxIdx = i\n }\n }\n\n while (index >= minIdx && index <= maxIdx && tabs.value[index]?.disabled) {\n index += direction\n }\n\n if (index < minIdx) index = minIdx\n if (index > maxIdx) index = maxIdx\n\n return index\n}\n\nlet previousIndex: number | undefined\nlet isReverting = false\nwatch(activeIndex, (newValue, oldValue) => {\n // Early exit if there are no tabs or all tabs are disabled\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n\n // If we're reverting due to a prevented event, don't process further\n if (isReverting) {\n isReverting = false\n return\n }\n // Calculate the next valid index\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1)\n if (index !== newValue) {\n // If the index is not the same as the new value, set the previous index to the old value\n // this is to prevent the event from being emitted twice\n previousIndex = oldValue\n activeIndex.value = index\n return\n }\n // Emit the activate-tab event\n const tabEvent = new BvEvent('activate-tab', {cancelable: true})\n emit('activate-tab', {\n newTabId: tabs.value[index]?.id,\n prevTabId: tabs.value[previousIndex ?? oldValue]?.id,\n newTabIndex: index,\n prevTabIndex: previousIndex ?? oldValue,\n event: tabEvent,\n })\n // If the event is prevented, revert to the previous index\n if (tabEvent.defaultPrevented) {\n isReverting = true\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1)\n previousIndex = undefined\n // Update the active id this will also trigger the activeId watch which will update the activeIndex\n // this is to make sure we handle case that starts with id change.\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id\n }\n nextTick(() => {\n if (prev >= 0) {\n getSafeDocument()?.getElementById(tabs.value[prev]?.buttonId)?.focus()\n }\n })\n return\n }\n\n // Update the active id\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id\n }\n previousIndex = undefined\n})\n\nwatch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n const index = tabs.value.findIndex((t) => t.id === newValue)\n // If the new tab is the same as the current tab, do nothing\n if (index === activeIndex.value) return\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue)\n // If the new tab is disabled, find the next enabled tab\n if (tabs.value[index]?.disabled) {\n // activeIndex watcher will update the activeId to the next enabled tab\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1)\n return\n }\n // If the new tab is not found, find the first enabled tab\n if (index === -1) {\n // activeIndex watcher will update the activeId to the first enabled tab\n activeIndex.value = nextIndex(0, 1)\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n })\n return\n }\n // change to the next tab\n activeIndex.value = index\n})\n\nconst registerTab = (tab: Ref<TabType>) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n if (idx === -1) {\n tabsInternal.value.push(tab)\n if (initialized) {\n nextTick(() => {\n sortTabs()\n })\n } else {\n // If we're doing delayed tab selection, try to update now that a tab has registered\n if (delayedTabSelection) {\n nextTick(() => {\n updateInitialIndexAndId()\n })\n }\n }\n } else {\n tabsInternal.value[idx] = tab\n if (initialized) {\n // sort just in case the tab was moved\n sortTabs()\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId)\n}\n\nonMounted(() => {\n updateInitialIndexAndId()\n sortTabs()\n initialized = true\n})\n\nconst sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value))\n if (\n activeId.value &&\n activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)\n ) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n }\n}\n\nconst unregisterTab = (id: string) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id)\n}\n\nprovide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId)\n if (internalId === undefined || idx === -1) {\n activeIndex.value = nextIndex(0, 1)\n return\n }\n activeIndex.value = idx\n },\n})\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" class=\"tabs\" :class=\"computedClasses\">\n <BTabsTabContent v-if=\"props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n <div\n :class=\"[\n props.navWrapperClass,\n {'card-header': props.card, 'ms-auto': vertical && props.end},\n ]\"\n >\n <ul\n class=\"nav\"\n :class=\"[navTabsClasses, props.navClass]\"\n role=\"tablist\"\n :aria-orientation=\"props.vertical ? 'vertical' : 'horizontal'\"\n >\n <slot name=\"tabs-start\" />\n <li\n v-for=\"(tab, idx) in tabs\"\n :key=\"tab.id ?? tab.internalId\"\n class=\"nav-item\"\n :class=\"tab.titleItemClass\"\n role=\"presentation\"\n >\n <button\n :id=\"tab.buttonId\"\n class=\"nav-link\"\n :class=\"[tab.navItemClasses, tab.titleLinkClass, tab.active ? props.activeNavLinkClass : props.inactiveNavLinkClass]\"\n role=\"tab\"\n :aria-controls=\"tab.id\"\n :aria-selected=\"tab.active\"\n :disabled=\"tab.disabled\"\n :tabindex=\"props.noKeyNav ? undefined : tab.active ? undefined : -1\"\n type=\"button\"\n v-bind=\"tab.titleLinkAttrs\"\n @keydown.left.exact=\"!props.vertical && keynav($event, -1)\"\n @keydown.left.shift=\"!props.vertical && keynav($event, -999)\"\n @keydown.up.exact=\"props.vertical && keynav($event, -1)\"\n @keydown.up.shift=\"props.vertical && keynav($event, -999)\"\n @keydown.right.exact=\"!props.vertical && keynav($event, 1)\"\n @keydown.right.shift=\"!props.vertical && keynav($event, 999)\"\n @keydown.down.exact=\"props.vertical && keynav($event, 1)\"\n @keydown.down.shift=\"props.vertical && keynav($event, 999)\"\n @keydown.page-up=\"keynav($event, -999)\"\n @keydown.page-down=\"keynav($event, 999)\"\n @keydown.home=\"keynav($event, -999)\"\n @keydown.end=\"keynav($event, 999)\"\n @click.stop=\"(e) => handleClick(e, idx)\"\n >\n <component :is=\"tab.titleComponent\" v-if=\"tab.titleComponent\" />\n <template v-else>\n {{ tab.title }}\n </template>\n </button>\n </li>\n <slot name=\"tabs-end\" />\n </ul>\n </div>\n <BTabsTabContent v-if=\"!props.end\" v-bind=\"tabContentProps\">\n <slot />\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </BTabsTabContent>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n type Ref,\n ref,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {BvEvent} from '../../utils/classes'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useId} from '../../composables/useId'\nimport type {TabType, BTabsProps, BTabsEmits, BTabsSlots} from '../../types'\nimport {tabsInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {getSafeDocument, sortSlotElementsByPosition} from '../../utils/dom'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BTab from './BTab.vue'\nimport BTabsTabContent from '../BTabsTabContent.vue'\n\nconst _props = withDefaults(defineProps<Omit<BTabsProps, 'modelValue' | 'activeIndex'>>(), {\n activeNavItemClass: undefined,\n activeNavLinkClass: undefined,\n activeTabClass: undefined,\n align: undefined,\n card: false,\n contentClass: undefined,\n end: false,\n fill: false,\n id: undefined,\n inactiveNavItemClass: undefined,\n inactiveNavLinkClass: undefined,\n inactiveTabClass: undefined,\n justified: false,\n lazy: false,\n navClass: undefined,\n navItemClass: undefined,\n navWrapperClass: undefined,\n noFade: false,\n noKeyNav: false,\n noNavStyle: false,\n pills: false,\n small: false,\n tag: 'div',\n tabClass: undefined,\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BTabs')\nconst emit = defineEmits<BTabsEmits>()\nconst slots = defineSlots<BTabsSlots>()\n\nconst activeIndex = defineModel<Exclude<BTabsProps['index'], undefined>>('index', {\n default: -1,\n})\nconst activeId = defineModel<BTabsProps['modelValue']>({\n default: undefined,\n})\n\nconst tabsInternal = ref<Ref<TabType>[]>([])\n\nconst tabElementsArray = ref<VNode[]>([])\n\nconst isChildActive = ref(false)\nconst initialIds = ref<string[]>([])\nconst hasExplicitIds = ref(false)\n\nconst updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? [])\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === BTab\n )\n // only get the ids once in setup context\n if (initialIds.value.length === 0) {\n // we need to get the ids of the tabs before they are registered. After that we use the internalId for the tabpane\n initialIds.value = tabElementsArray.value.map((tab) =>\n unref(useId(() => tab.props?.id, 'tabpane'))\n )\n // Check if any tab has an explicit ID\n hasExplicitIds.value = tabElementsArray.value.some((tab) => tab.props?.id !== undefined)\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== undefined && tab.props?.active !== false\n )\n}\nupdateTabElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray()\n nextTick(() => {\n sortTabs()\n })\n }\n)\n\nconst tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n // fail back on the slot elements, the children haven't been registered yet\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) =>\n (tab.props?.active !== undefined &&\n (tab.props.disabled === false || tab.props.disabled === undefined)) ||\n (activeId.value && tab.props?.id === activeId.value)\n )\n return tabElementsArray.value.map((tab, index) => {\n const active =\n _activeIndex !== -1\n ? index === _activeIndex\n : activeIndex.value > -1\n ? index === activeIndex.value\n : index === 0\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`, // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: (tab.children as {title: unknown})?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === undefined),\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab)\n const active = tab.id === activeId.value\n\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled,\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass,\n ],\n }\n })\n})\n\nlet initialized = false\nlet updateInitialActiveIndex = false\nlet updateInitialActiveId = false\nlet delayedTabSelection = false\n\n// Check if we need to delay tab selection:\n// - We have v-model:index (activeIndex) but no v-model (activeId)\n// - AND tabs don't have explicit IDs (will use generated IDs)\n// - AND we have tabs to select from\nconst needsDelayedSelection =\n activeIndex.value > -1 &&\n !activeId.value &&\n !hasExplicitIds.value &&\n tabElementsArray.value.length > 0\n\nif (needsDelayedSelection) {\n // Delay tab selection until children register with their generated IDs\n delayedTabSelection = true\n updateInitialActiveId = true\n} else if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n } else {\n updateInitialActiveIndex = true\n }\n} else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id\n } else {\n updateInitialActiveId = true\n }\n} else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === undefined || t.disabled === false)\n activeId.value = tabs.value[activeIndex.value]?.id\n} else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) =>\n t.active !== undefined &&\n t.active !== false &&\n (t.disabled === undefined || t.disabled === false)\n )\n activeId.value = tabs.value[activeIndex.value]?.id\n}\n\nfunction updateInitialIndexAndId() {\n // we get the computedIds after registering the tabs\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value)\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index\n updateInitialActiveIndex = false\n })\n }\n }\n if (updateInitialActiveId) {\n // Wait for tabs to be registered if we're doing delayed selection\n if (delayedTabSelection && tabsInternal.value.length === 0) {\n // Children haven't registered yet, wait\n return\n }\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n updateInitialActiveId = false\n delayedTabSelection = false\n })\n }\n }\n}\n\nupdateInitialIndexAndId()\n\nconst showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0))\n\nconst tabContentProps = computed(() => ({\n contentClass: props.contentClass,\n showEmpty: showEmpty.value,\n card: props.card,\n}))\n\nconst computedClasses = computed(() => ({\n 'd-flex': props.vertical,\n 'align-items-start': props.vertical,\n}))\n\nconst alignment = useAlignment(() => props.align)\n\nconst navTabsClasses = computed(() => ({\n 'nav-pills': props.pills,\n 'nav-underline': props.underline,\n 'flex-column me-3': props.vertical,\n [alignment.value]: props.align !== undefined,\n 'nav-fill': props.fill,\n 'card-header-tabs': props.card && !props.pills && !props.underline,\n 'card-header-pills': props.card && props.pills,\n 'nav-justified': props.justified,\n 'nav-tabs': !props.noNavStyle && !props.pills && !props.underline,\n 'small': props.small,\n}))\n\nconst handleClick = (event: Readonly<MouseEvent>, index: number) => {\n if (\n index >= 0 &&\n !tabs.value[index]?.disabled &&\n tabs.value[index]?.onClick &&\n typeof tabs.value[index].onClick === 'function'\n ) {\n tabs.value[index].onClick?.(event)\n if (event.defaultPrevented) {\n getSafeDocument()?.getElementById(tabs.value[index].buttonId)?.blur()\n return\n }\n }\n activeIndex.value = index\n}\n\nconst keynav = (e: Event, direction: number) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return\n e.preventDefault()\n e.stopPropagation()\n activeIndex.value = nextIndex(activeIndex.value + direction, direction)\n nextTick(() => {\n if (activeIndex.value >= 0) {\n getSafeDocument()?.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus()\n }\n })\n}\n\nconst nextIndex = (start: number, direction: number) => {\n let index = start\n let minIdx = -1\n let maxIdx = -1\n\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i]?.disabled) {\n if (minIdx === -1) minIdx = i\n maxIdx = i\n }\n }\n\n while (index >= minIdx && index <= maxIdx && tabs.value[index]?.disabled) {\n index += direction\n }\n\n if (index < minIdx) index = minIdx\n if (index > maxIdx) index = maxIdx\n\n return index\n}\n\nlet previousIndex: number | undefined\nlet isReverting = false\nwatch(activeIndex, (newValue, oldValue) => {\n // Early exit if there are no tabs or all tabs are disabled\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n\n // If we're reverting due to a prevented event, don't process further\n if (isReverting) {\n isReverting = false\n return\n }\n // Calculate the next valid index\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1)\n if (index !== newValue) {\n // If the index is not the same as the new value, set the previous index to the old value\n // this is to prevent the event from being emitted twice\n previousIndex = oldValue\n activeIndex.value = index\n return\n }\n // Emit the activate-tab event\n const tabEvent = new BvEvent('activate-tab', {cancelable: true})\n emit('activate-tab', {\n newTabId: tabs.value[index]?.id,\n prevTabId: tabs.value[previousIndex ?? oldValue]?.id,\n newTabIndex: index,\n prevTabIndex: previousIndex ?? oldValue,\n event: tabEvent,\n })\n // If the event is prevented, revert to the previous index\n if (tabEvent.defaultPrevented) {\n isReverting = true\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1)\n previousIndex = undefined\n // Update the active id this will also trigger the activeId watch which will update the activeIndex\n // this is to make sure we handle case that starts with id change.\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id\n }\n nextTick(() => {\n if (prev >= 0) {\n getSafeDocument()?.getElementById(tabs.value[prev]?.buttonId)?.focus()\n }\n })\n return\n }\n\n // Update the active id\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id\n }\n previousIndex = undefined\n})\n\nwatch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return\n }\n const index = tabs.value.findIndex((t) => t.id === newValue)\n // If the new tab is the same as the current tab, do nothing\n if (index === activeIndex.value) return\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue)\n // If the new tab is disabled, find the next enabled tab\n if (tabs.value[index]?.disabled) {\n // activeIndex watcher will update the activeId to the next enabled tab\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1)\n return\n }\n // If the new tab is not found, find the first enabled tab\n if (index === -1) {\n // activeIndex watcher will update the activeId to the first enabled tab\n activeIndex.value = nextIndex(0, 1)\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id\n })\n return\n }\n // change to the next tab\n activeIndex.value = index\n})\n\nconst registerTab = (tab: Ref<TabType>) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n if (idx === -1) {\n tabsInternal.value.push(tab)\n if (initialized) {\n nextTick(() => {\n sortTabs()\n })\n } else {\n // If we're doing delayed tab selection, try to update now that a tab has registered\n if (delayedTabSelection) {\n nextTick(() => {\n updateInitialIndexAndId()\n })\n }\n }\n } else {\n tabsInternal.value[idx] = tab\n if (initialized) {\n // sort just in case the tab was moved\n sortTabs()\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId)\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId)\n}\n\nonMounted(() => {\n updateInitialIndexAndId()\n sortTabs()\n initialized = true\n})\n\nconst sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value))\n if (\n activeId.value &&\n activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)\n ) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value)\n }\n}\n\nconst unregisterTab = (id: string) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id)\n}\n\nprovide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId)\n if (internalId === undefined || idx === -1) {\n activeIndex.value = nextIndex(0, 1)\n return\n }\n activeIndex.value = idx\n },\n})\n</script>\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { C as useVModel } from "./dist-B10a-gZ8.mjs";
1
+ import { S as useVModel } from "./dist-Dk9C_HFS.mjs";
2
2
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
3
3
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
4
- import { B as $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3, F as $14e0f24ef4ac5c92$export$91b62ebf2ba703ee, a as createContent, d as useDateFormatter, h as normalizeHourCycle, i as isSegmentNavigationKey, j as $11d87f3f76e88657$export$b21e0b124e224484, k as $35ea8db9cb2ccb90$export$680ea196effce5f, l as syncTimeSegmentValues, m as normalizeDateStep, r as getTimeFieldSegmentElements, s as initializeTimeSegmentValues, t as useDateField, u as useLocale, w as isBefore, y as getDefaultTime, z as $14e0f24ef4ac5c92$export$aa8b41735afcabd2 } from "./useDateField-DmmXa0_5.mjs";
5
- import { a as useDirection, c as createContext, n as usePrimitiveElement, r as Primitive, t as VisuallyHidden_default } from "./VisuallyHidden-Bbwok8oL.mjs";
6
- import { r as isNullish, t as useKbd } from "./useKbd-IZRktImL.mjs";
4
+ import { B as $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3, F as $14e0f24ef4ac5c92$export$91b62ebf2ba703ee, a as createContent, d as useDateFormatter, h as normalizeHourCycle, i as isSegmentNavigationKey, j as $11d87f3f76e88657$export$b21e0b124e224484, k as $35ea8db9cb2ccb90$export$680ea196effce5f, l as syncTimeSegmentValues, m as normalizeDateStep, r as getTimeFieldSegmentElements, s as initializeTimeSegmentValues, t as useDateField, u as useLocale, w as isBefore, y as getDefaultTime, z as $14e0f24ef4ac5c92$export$aa8b41735afcabd2 } from "./useDateField-CJKgollJ.mjs";
5
+ import { a as useDirection, c as createContext, n as usePrimitiveElement, r as Primitive, t as VisuallyHidden_default } from "./VisuallyHidden-C4sXnc-k.mjs";
6
+ import { r as isNullish, t as useKbd } from "./useKbd-DfmgFov6.mjs";
7
7
  import { Fragment, computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, onMounted, openBlock, ref, renderList, renderSlot, toDisplayString, toHandlers, toRefs, unref, useModel, watch, withCtx, withKeys } from "vue";
8
8
  //#region ../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeField/TimeFieldRoot.js
9
9
  var [injectTimeFieldRootContext, provideTimeFieldRootContext] = createContext("TimeFieldRoot");
@@ -508,4 +508,4 @@ var BTimeField_default = /* @__PURE__ */ defineComponent({
508
508
  //#endregion
509
509
  export { BTimeField_default as t };
510
510
 
511
- //# sourceMappingURL=BTimeField-DSWZeGYP.mjs.map
511
+ //# sourceMappingURL=BTimeField-DSf4cMpN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BTimeField-DSWZeGYP.mjs","names":["today","getLocalTimeZone","toCalendarDateTime","Time","isEqualDay"],"sources":["../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeField/TimeFieldRoot.js","../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeField/TimeFieldInput.js","../src/components/BTimeField/BTimeField.vue","../src/components/BTimeField/BTimeField.vue"],"sourcesContent":["import { createContext } from \"../shared/createContext.js\";\nimport { isNullish } from \"../shared/nullish.js\";\nimport { getDefaultTime, isBefore } from \"../date/comparators.js\";\nimport { normalizeDateStep, normalizeHourCycle } from \"../date/utils.js\";\nimport { useDateFormatter } from \"../shared/useDateFormatter.js\";\nimport { useDirection } from \"../shared/useDirection.js\";\nimport { useKbd } from \"../shared/useKbd.js\";\nimport { useLocale } from \"../shared/useLocale.js\";\nimport { Primitive } from \"../Primitive/Primitive.js\";\nimport { usePrimitiveElement } from \"../Primitive/usePrimitiveElement.js\";\nimport { VisuallyHidden_default } from \"../VisuallyHidden/VisuallyHidden.js\";\nimport { createContent, initializeTimeSegmentValues, syncTimeSegmentValues } from \"../date/parser.js\";\nimport { getTimeFieldSegmentElements, isSegmentNavigationKey } from \"../date/segment.js\";\nimport { computed, createBlock, createVNode, defineComponent, mergeProps, nextTick, onMounted, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx, withKeys } from \"vue\";\nimport { useVModel } from \"@vueuse/core\";\nimport { Time, getLocalTimeZone, isEqualDay, toCalendarDateTime, today } from \"@internationalized/date\";\n\n//#region src/TimeField/TimeFieldRoot.vue?vue&type=script&setup=true&lang.ts\nconst [injectTimeFieldRootContext, provideTimeFieldRootContext] = createContext(\"TimeFieldRoot\");\nfunction convertValue(value, date = today(getLocalTimeZone())) {\n\tif (value && \"day\" in value) return value;\n\treturn toCalendarDateTime(date, value);\n}\nvar TimeFieldRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\tinheritAttrs: false,\n\t__name: \"TimeFieldRoot\",\n\tprops: {\n\t\tdefaultValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tdefaultPlaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tmodelValue: {\n\t\t\ttype: [Object, null],\n\t\t\trequired: false\n\t\t},\n\t\thourCycle: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tstep: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tstepSnapping: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\tgranularity: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\thideTimeZone: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tmaxValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tminValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tlocale: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\treadonly: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdir: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t}\n\t},\n\temits: [\"update:modelValue\", \"update:placeholder\"],\n\tsetup(__props, { expose: __expose, emit: __emit }) {\n\t\tconst props = __props;\n\t\tconst emits = __emit;\n\t\tconst { disabled, readonly, granularity, defaultValue, minValue, maxValue, stepSnapping, dir: propDir, locale: propLocale } = toRefs(props);\n\t\tconst locale = useLocale(propLocale);\n\t\tconst dir = useDirection(propDir);\n\t\tconst formatter = useDateFormatter(locale.value, { hourCycle: normalizeHourCycle(props.hourCycle) });\n\t\tconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement();\n\t\tconst segmentElements = ref(/* @__PURE__ */ new Set());\n\t\tconst step = computed(() => normalizeDateStep(props));\n\t\tconst convertedMinValue = computed(() => minValue.value ? convertValue(minValue.value) : void 0);\n\t\tconst convertedMaxValue = computed(() => maxValue.value ? convertValue(maxValue.value) : void 0);\n\t\tonMounted(() => {\n\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t});\n\t\tconst modelValue = useVModel(props, \"modelValue\", emits, {\n\t\t\tdefaultValue: defaultValue.value,\n\t\t\tpassive: props.modelValue === void 0\n\t\t});\n\t\tconst convertedModelValue = computed({\n\t\t\tget() {\n\t\t\t\tif (isNullish(modelValue.value)) return modelValue.value;\n\t\t\t\treturn convertValue(modelValue.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) modelValue.value = modelValue.value && \"day\" in modelValue.value ? newValue : new Time(newValue.hour, newValue.minute, newValue.second, modelValue.value?.millisecond);\n\t\t\t\telse modelValue.value = newValue;\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst defaultDate = getDefaultTime({\n\t\t\tdefaultPlaceholder: props.placeholder,\n\t\t\tdefaultValue: modelValue.value\n\t\t});\n\t\tconst placeholder = useVModel(props, \"placeholder\", emits, {\n\t\t\tdefaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n\t\t\tpassive: props.placeholder === void 0\n\t\t});\n\t\tconst convertedPlaceholder = computed({\n\t\t\tget() {\n\t\t\t\treturn convertValue(placeholder.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) placeholder.value = \"day\" in placeholder.value ? newValue.copy() : new Time(newValue.hour, newValue.minute, newValue.second, placeholder.value?.millisecond);\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst inferredGranularity = computed(() => {\n\t\t\tif (granularity.value) return granularity.value;\n\t\t\treturn \"minute\";\n\t\t});\n\t\tconst isInvalid = computed(() => {\n\t\t\tif (!modelValue.value) return false;\n\t\t\tif (convertedMinValue.value && isBefore(convertedModelValue.value, convertedMinValue.value)) return true;\n\t\t\tif (convertedMaxValue.value && isBefore(convertedMaxValue.value, convertedModelValue.value)) return true;\n\t\t\treturn false;\n\t\t});\n\t\tconst initialSegments = initializeTimeSegmentValues(inferredGranularity.value);\n\t\tconst segmentValues = ref(modelValue.value ? { ...syncTimeSegmentValues({\n\t\t\tvalue: convertedModelValue.value,\n\t\t\tformatter\n\t\t}) } : { ...initialSegments });\n\t\tconst allSegmentContent = computed(() => createContent({\n\t\t\tgranularity: inferredGranularity.value,\n\t\t\tdateRef: convertedPlaceholder.value,\n\t\t\tformatter,\n\t\t\thideTimeZone: props.hideTimeZone,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tsegmentValues: segmentValues.value,\n\t\t\tlocale,\n\t\t\tisTimeValue: true\n\t\t}));\n\t\tconst segmentContents = computed(() => {\n\t\t\tconst contents = allSegmentContent.value.arr;\n\t\t\tif (props.hourCycle === 12) return contents.map((segment) => {\n\t\t\t\tif (segment.part === \"hour\" && \"hour\" in segmentValues.value) {\n\t\t\t\t\tconst hour = segmentValues.value.hour;\n\t\t\t\t\tif (hour !== null) {\n\t\t\t\t\t\tconst displayHour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...segment,\n\t\t\t\t\t\t\tvalue: displayHour.toString()\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn segment;\n\t\t\t});\n\t\t\treturn contents;\n\t\t});\n\t\tconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== \"literal\"));\n\t\twatch(locale, (value) => {\n\t\t\tif (formatter.getLocale() !== value) {\n\t\t\t\tformatter.setLocale(value);\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tsegmentElements.value.clear();\n\t\t\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(convertedModelValue, (_modelValue) => {\n\t\t\tif (!isNullish(_modelValue) && (!isEqualDay(convertedPlaceholder.value, _modelValue) || convertedPlaceholder.value.compare(_modelValue) !== 0)) placeholder.value = _modelValue.copy();\n\t\t});\n\t\twatch([convertedModelValue, locale], ([_modelValue]) => {\n\t\t\tif (!isNullish(_modelValue)) segmentValues.value = { ...syncTimeSegmentValues({\n\t\t\t\tvalue: _modelValue,\n\t\t\t\tformatter\n\t\t\t}) };\n\t\t\telse if (Object.values(segmentValues.value).every((value) => value !== null) && isNullish(_modelValue)) segmentValues.value = { ...initialSegments };\n\t\t});\n\t\tconst currentFocusedElement = ref(null);\n\t\tconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex((el) => el.getAttribute(\"data-reka-time-field-segment\") === currentFocusedElement.value?.getAttribute(\"data-reka-time-field-segment\")));\n\t\tconst nextFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (nextCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst prevFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (prevCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst kbd = useKbd();\n\t\tfunction handleKeydown(e) {\n\t\t\tif (!isSegmentNavigationKey(e.key)) return;\n\t\t\tif (e.key === kbd.ARROW_LEFT) prevFocusableSegment.value?.focus();\n\t\t\tif (e.key === kbd.ARROW_RIGHT) nextFocusableSegment.value?.focus();\n\t\t}\n\t\tfunction setFocusedElement(el) {\n\t\t\tcurrentFocusedElement.value = el;\n\t\t}\n\t\tprovideTimeFieldRootContext({\n\t\t\tlocale,\n\t\t\tmodelValue: convertedModelValue,\n\t\t\tplaceholder: convertedPlaceholder,\n\t\t\tdisabled,\n\t\t\tformatter,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tstep,\n\t\t\tstepSnapping,\n\t\t\treadonly,\n\t\t\tsegmentValues,\n\t\t\tisInvalid,\n\t\t\tsegmentContents: editableSegmentContents,\n\t\t\telements: segmentElements,\n\t\t\tsetFocusedElement,\n\t\t\tfocusNext() {\n\t\t\t\tnextFocusableSegment.value?.focus();\n\t\t\t}\n\t\t});\n\t\t__expose({ setFocusedElement });\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {\n\t\t\t\tref_key: \"primitiveElement\",\n\t\t\t\tref: primitiveElement,\n\t\t\t\trole: \"group\",\n\t\t\t\t\"aria-disabled\": unref(disabled) ? true : void 0,\n\t\t\t\t\"data-disabled\": unref(disabled) ? \"\" : void 0,\n\t\t\t\t\"data-readonly\": unref(readonly) ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\tdir: unref(dir),\n\t\t\t\tonKeydown: withKeys(handleKeydown, [\"left\", \"right\"])\n\t\t\t}), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\", {\n\t\t\t\t\tmodelValue: unref(modelValue),\n\t\t\t\t\tsegments: segmentContents.value,\n\t\t\t\t\tisInvalid: isInvalid.value\n\t\t\t\t}), createVNode(unref(VisuallyHidden_default), {\n\t\t\t\t\tid: _ctx.id,\n\t\t\t\t\tas: \"input\",\n\t\t\t\t\tfeature: \"focusable\",\n\t\t\t\t\ttabindex: \"-1\",\n\t\t\t\t\tvalue: unref(modelValue) ? unref(modelValue).toString() : \"\",\n\t\t\t\t\tname: _ctx.name,\n\t\t\t\t\tdisabled: unref(disabled),\n\t\t\t\t\trequired: _ctx.required,\n\t\t\t\t\tonFocus: _cache[0] || (_cache[0] = ($event) => Array.from(segmentElements.value)?.[0]?.focus())\n\t\t\t\t}, null, 8, [\n\t\t\t\t\t\"id\",\n\t\t\t\t\t\"value\",\n\t\t\t\t\t\"name\",\n\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\"required\"\n\t\t\t\t])]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-readonly\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"dir\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeField/TimeFieldRoot.vue\nvar TimeFieldRoot_default = TimeFieldRoot_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeFieldRoot_default, injectTimeFieldRootContext };\n//# sourceMappingURL=TimeFieldRoot.js.map","import { Primitive } from \"../Primitive/Primitive.js\";\nimport { useDateField } from \"../date/useDateField.js\";\nimport { injectTimeFieldRootContext } from \"./TimeFieldRoot.js\";\nimport { computed, createBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, toHandlers, unref, withCtx } from \"vue\";\n\n//#region src/TimeField/TimeFieldInput.vue?vue&type=script&setup=true&lang.ts\nvar TimeFieldInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\t__name: \"TimeFieldInput\",\n\tprops: {\n\t\tpart: {\n\t\t\ttype: null,\n\t\t\trequired: true\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t}\n\t},\n\tsetup(__props) {\n\t\tconst props = __props;\n\t\tconst rootContext = injectTimeFieldRootContext();\n\t\tconst hasLeftFocus = ref(true);\n\t\tconst lastKeyZero = ref(false);\n\t\tconst { handleSegmentClick, handleSegmentKeydown, handleSegmentFocusOut, attributes } = useDateField({\n\t\t\thasLeftFocus,\n\t\t\tlastKeyZero,\n\t\t\tplaceholder: rootContext.placeholder,\n\t\t\thourCycle: rootContext.hourCycle,\n\t\t\tstep: rootContext.step,\n\t\t\tstepSnapping: rootContext.stepSnapping,\n\t\t\tsegmentValues: rootContext.segmentValues,\n\t\t\tformatter: rootContext.formatter,\n\t\t\tpart: props.part,\n\t\t\tdisabled: rootContext.disabled,\n\t\t\treadonly: rootContext.readonly,\n\t\t\tfocusNext: rootContext.focusNext,\n\t\t\tmodelValue: rootContext.modelValue\n\t\t});\n\t\tconst disabled = computed(() => rootContext.disabled.value);\n\t\tconst readonly = computed(() => rootContext.readonly.value);\n\t\tconst isInvalid = computed(() => rootContext.isInvalid.value);\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps({\n\t\t\t\tas: _ctx.as,\n\t\t\t\t\"as-child\": _ctx.asChild\n\t\t\t}, unref(attributes), {\n\t\t\t\tcontenteditable: disabled.value || readonly.value ? false : _ctx.part !== \"literal\",\n\t\t\t\t\"data-reka-time-field-segment\": _ctx.part,\n\t\t\t\t\"aria-disabled\": disabled.value ? true : void 0,\n\t\t\t\t\"aria-readonly\": readonly.value ? true : void 0,\n\t\t\t\t\"data-disabled\": disabled.value ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\t\"aria-invalid\": isInvalid.value ? true : void 0\n\t\t\t}, toHandlers(_ctx.part !== \"literal\" ? {\n\t\t\t\tmousedown: unref(handleSegmentClick),\n\t\t\t\tkeydown: unref(handleSegmentKeydown),\n\t\t\t\tfocusout: () => {\n\t\t\t\t\thasLeftFocus.value = true;\n\t\t\t\t\tunref(handleSegmentFocusOut)();\n\t\t\t\t},\n\t\t\t\tfocusin: (e) => {\n\t\t\t\t\tunref(rootContext).setFocusedElement(e.target);\n\t\t\t\t}\n\t\t\t} : {})), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"as\",\n\t\t\t\t\"as-child\",\n\t\t\t\t\"contenteditable\",\n\t\t\t\t\"data-reka-time-field-segment\",\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"aria-readonly\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"aria-invalid\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeField/TimeFieldInput.vue\nvar TimeFieldInput_default = TimeFieldInput_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeFieldInput_default };\n//# sourceMappingURL=TimeFieldInput.js.map","<template>\n <TimeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :step-snapping=\"props.stepSnapping\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :class=\"computedRootClasses\"\n class=\"b-time-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <TimeFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-time-field-literal\">\n {{ value }}\n </TimeFieldInput>\n <TimeFieldInput v-else :part=\"part\" class=\"b-time-field-segment\">\n {{ value }}\n </TimeFieldInput>\n </template>\n </slot>\n </TimeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeFieldInput, TimeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeFieldSlots} from '../../types'\nimport type {BTimeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BTimeFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n})\nconst props = useDefaults(_props, 'BTimeField')\ndefineSlots<BTimeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <TimeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :step-snapping=\"props.stepSnapping\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :class=\"computedRootClasses\"\n class=\"b-time-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <TimeFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-time-field-literal\">\n {{ value }}\n </TimeFieldInput>\n <TimeFieldInput v-else :part=\"part\" class=\"b-time-field-segment\">\n {{ value }}\n </TimeFieldInput>\n </template>\n </slot>\n </TimeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeFieldInput, TimeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeFieldSlots} from '../../types'\nimport type {BTimeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BTimeFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n})\nconst props = useDefaults(_props, 'BTimeField')\ndefineSlots<BTimeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"BTimeField-DSf4cMpN.mjs","names":["today","getLocalTimeZone","toCalendarDateTime","Time","isEqualDay"],"sources":["../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeField/TimeFieldRoot.js","../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeField/TimeFieldInput.js","../src/components/BTimeField/BTimeField.vue","../src/components/BTimeField/BTimeField.vue"],"sourcesContent":["import { createContext } from \"../shared/createContext.js\";\nimport { isNullish } from \"../shared/nullish.js\";\nimport { getDefaultTime, isBefore } from \"../date/comparators.js\";\nimport { normalizeDateStep, normalizeHourCycle } from \"../date/utils.js\";\nimport { useDateFormatter } from \"../shared/useDateFormatter.js\";\nimport { useDirection } from \"../shared/useDirection.js\";\nimport { useKbd } from \"../shared/useKbd.js\";\nimport { useLocale } from \"../shared/useLocale.js\";\nimport { Primitive } from \"../Primitive/Primitive.js\";\nimport { usePrimitiveElement } from \"../Primitive/usePrimitiveElement.js\";\nimport { VisuallyHidden_default } from \"../VisuallyHidden/VisuallyHidden.js\";\nimport { createContent, initializeTimeSegmentValues, syncTimeSegmentValues } from \"../date/parser.js\";\nimport { getTimeFieldSegmentElements, isSegmentNavigationKey } from \"../date/segment.js\";\nimport { computed, createBlock, createVNode, defineComponent, mergeProps, nextTick, onMounted, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx, withKeys } from \"vue\";\nimport { useVModel } from \"@vueuse/core\";\nimport { Time, getLocalTimeZone, isEqualDay, toCalendarDateTime, today } from \"@internationalized/date\";\n\n//#region src/TimeField/TimeFieldRoot.vue?vue&type=script&setup=true&lang.ts\nconst [injectTimeFieldRootContext, provideTimeFieldRootContext] = createContext(\"TimeFieldRoot\");\nfunction convertValue(value, date = today(getLocalTimeZone())) {\n\tif (value && \"day\" in value) return value;\n\treturn toCalendarDateTime(date, value);\n}\nvar TimeFieldRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\tinheritAttrs: false,\n\t__name: \"TimeFieldRoot\",\n\tprops: {\n\t\tdefaultValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tdefaultPlaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tmodelValue: {\n\t\t\ttype: [Object, null],\n\t\t\trequired: false\n\t\t},\n\t\thourCycle: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tstep: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tstepSnapping: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\tgranularity: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\thideTimeZone: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tmaxValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tminValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tlocale: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\treadonly: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdir: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t}\n\t},\n\temits: [\"update:modelValue\", \"update:placeholder\"],\n\tsetup(__props, { expose: __expose, emit: __emit }) {\n\t\tconst props = __props;\n\t\tconst emits = __emit;\n\t\tconst { disabled, readonly, granularity, defaultValue, minValue, maxValue, stepSnapping, dir: propDir, locale: propLocale } = toRefs(props);\n\t\tconst locale = useLocale(propLocale);\n\t\tconst dir = useDirection(propDir);\n\t\tconst formatter = useDateFormatter(locale.value, { hourCycle: normalizeHourCycle(props.hourCycle) });\n\t\tconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement();\n\t\tconst segmentElements = ref(/* @__PURE__ */ new Set());\n\t\tconst step = computed(() => normalizeDateStep(props));\n\t\tconst convertedMinValue = computed(() => minValue.value ? convertValue(minValue.value) : void 0);\n\t\tconst convertedMaxValue = computed(() => maxValue.value ? convertValue(maxValue.value) : void 0);\n\t\tonMounted(() => {\n\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t});\n\t\tconst modelValue = useVModel(props, \"modelValue\", emits, {\n\t\t\tdefaultValue: defaultValue.value,\n\t\t\tpassive: props.modelValue === void 0\n\t\t});\n\t\tconst convertedModelValue = computed({\n\t\t\tget() {\n\t\t\t\tif (isNullish(modelValue.value)) return modelValue.value;\n\t\t\t\treturn convertValue(modelValue.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) modelValue.value = modelValue.value && \"day\" in modelValue.value ? newValue : new Time(newValue.hour, newValue.minute, newValue.second, modelValue.value?.millisecond);\n\t\t\t\telse modelValue.value = newValue;\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst defaultDate = getDefaultTime({\n\t\t\tdefaultPlaceholder: props.placeholder,\n\t\t\tdefaultValue: modelValue.value\n\t\t});\n\t\tconst placeholder = useVModel(props, \"placeholder\", emits, {\n\t\t\tdefaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n\t\t\tpassive: props.placeholder === void 0\n\t\t});\n\t\tconst convertedPlaceholder = computed({\n\t\t\tget() {\n\t\t\t\treturn convertValue(placeholder.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) placeholder.value = \"day\" in placeholder.value ? newValue.copy() : new Time(newValue.hour, newValue.minute, newValue.second, placeholder.value?.millisecond);\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst inferredGranularity = computed(() => {\n\t\t\tif (granularity.value) return granularity.value;\n\t\t\treturn \"minute\";\n\t\t});\n\t\tconst isInvalid = computed(() => {\n\t\t\tif (!modelValue.value) return false;\n\t\t\tif (convertedMinValue.value && isBefore(convertedModelValue.value, convertedMinValue.value)) return true;\n\t\t\tif (convertedMaxValue.value && isBefore(convertedMaxValue.value, convertedModelValue.value)) return true;\n\t\t\treturn false;\n\t\t});\n\t\tconst initialSegments = initializeTimeSegmentValues(inferredGranularity.value);\n\t\tconst segmentValues = ref(modelValue.value ? { ...syncTimeSegmentValues({\n\t\t\tvalue: convertedModelValue.value,\n\t\t\tformatter\n\t\t}) } : { ...initialSegments });\n\t\tconst allSegmentContent = computed(() => createContent({\n\t\t\tgranularity: inferredGranularity.value,\n\t\t\tdateRef: convertedPlaceholder.value,\n\t\t\tformatter,\n\t\t\thideTimeZone: props.hideTimeZone,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tsegmentValues: segmentValues.value,\n\t\t\tlocale,\n\t\t\tisTimeValue: true\n\t\t}));\n\t\tconst segmentContents = computed(() => {\n\t\t\tconst contents = allSegmentContent.value.arr;\n\t\t\tif (props.hourCycle === 12) return contents.map((segment) => {\n\t\t\t\tif (segment.part === \"hour\" && \"hour\" in segmentValues.value) {\n\t\t\t\t\tconst hour = segmentValues.value.hour;\n\t\t\t\t\tif (hour !== null) {\n\t\t\t\t\t\tconst displayHour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...segment,\n\t\t\t\t\t\t\tvalue: displayHour.toString()\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn segment;\n\t\t\t});\n\t\t\treturn contents;\n\t\t});\n\t\tconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== \"literal\"));\n\t\twatch(locale, (value) => {\n\t\t\tif (formatter.getLocale() !== value) {\n\t\t\t\tformatter.setLocale(value);\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tsegmentElements.value.clear();\n\t\t\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(convertedModelValue, (_modelValue) => {\n\t\t\tif (!isNullish(_modelValue) && (!isEqualDay(convertedPlaceholder.value, _modelValue) || convertedPlaceholder.value.compare(_modelValue) !== 0)) placeholder.value = _modelValue.copy();\n\t\t});\n\t\twatch([convertedModelValue, locale], ([_modelValue]) => {\n\t\t\tif (!isNullish(_modelValue)) segmentValues.value = { ...syncTimeSegmentValues({\n\t\t\t\tvalue: _modelValue,\n\t\t\t\tformatter\n\t\t\t}) };\n\t\t\telse if (Object.values(segmentValues.value).every((value) => value !== null) && isNullish(_modelValue)) segmentValues.value = { ...initialSegments };\n\t\t});\n\t\tconst currentFocusedElement = ref(null);\n\t\tconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex((el) => el.getAttribute(\"data-reka-time-field-segment\") === currentFocusedElement.value?.getAttribute(\"data-reka-time-field-segment\")));\n\t\tconst nextFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (nextCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst prevFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (prevCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst kbd = useKbd();\n\t\tfunction handleKeydown(e) {\n\t\t\tif (!isSegmentNavigationKey(e.key)) return;\n\t\t\tif (e.key === kbd.ARROW_LEFT) prevFocusableSegment.value?.focus();\n\t\t\tif (e.key === kbd.ARROW_RIGHT) nextFocusableSegment.value?.focus();\n\t\t}\n\t\tfunction setFocusedElement(el) {\n\t\t\tcurrentFocusedElement.value = el;\n\t\t}\n\t\tprovideTimeFieldRootContext({\n\t\t\tlocale,\n\t\t\tmodelValue: convertedModelValue,\n\t\t\tplaceholder: convertedPlaceholder,\n\t\t\tdisabled,\n\t\t\tformatter,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tstep,\n\t\t\tstepSnapping,\n\t\t\treadonly,\n\t\t\tsegmentValues,\n\t\t\tisInvalid,\n\t\t\tsegmentContents: editableSegmentContents,\n\t\t\telements: segmentElements,\n\t\t\tsetFocusedElement,\n\t\t\tfocusNext() {\n\t\t\t\tnextFocusableSegment.value?.focus();\n\t\t\t}\n\t\t});\n\t\t__expose({ setFocusedElement });\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {\n\t\t\t\tref_key: \"primitiveElement\",\n\t\t\t\tref: primitiveElement,\n\t\t\t\trole: \"group\",\n\t\t\t\t\"aria-disabled\": unref(disabled) ? true : void 0,\n\t\t\t\t\"data-disabled\": unref(disabled) ? \"\" : void 0,\n\t\t\t\t\"data-readonly\": unref(readonly) ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\tdir: unref(dir),\n\t\t\t\tonKeydown: withKeys(handleKeydown, [\"left\", \"right\"])\n\t\t\t}), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\", {\n\t\t\t\t\tmodelValue: unref(modelValue),\n\t\t\t\t\tsegments: segmentContents.value,\n\t\t\t\t\tisInvalid: isInvalid.value\n\t\t\t\t}), createVNode(unref(VisuallyHidden_default), {\n\t\t\t\t\tid: _ctx.id,\n\t\t\t\t\tas: \"input\",\n\t\t\t\t\tfeature: \"focusable\",\n\t\t\t\t\ttabindex: \"-1\",\n\t\t\t\t\tvalue: unref(modelValue) ? unref(modelValue).toString() : \"\",\n\t\t\t\t\tname: _ctx.name,\n\t\t\t\t\tdisabled: unref(disabled),\n\t\t\t\t\trequired: _ctx.required,\n\t\t\t\t\tonFocus: _cache[0] || (_cache[0] = ($event) => Array.from(segmentElements.value)?.[0]?.focus())\n\t\t\t\t}, null, 8, [\n\t\t\t\t\t\"id\",\n\t\t\t\t\t\"value\",\n\t\t\t\t\t\"name\",\n\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\"required\"\n\t\t\t\t])]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-readonly\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"dir\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeField/TimeFieldRoot.vue\nvar TimeFieldRoot_default = TimeFieldRoot_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeFieldRoot_default, injectTimeFieldRootContext };\n//# sourceMappingURL=TimeFieldRoot.js.map","import { Primitive } from \"../Primitive/Primitive.js\";\nimport { useDateField } from \"../date/useDateField.js\";\nimport { injectTimeFieldRootContext } from \"./TimeFieldRoot.js\";\nimport { computed, createBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, toHandlers, unref, withCtx } from \"vue\";\n\n//#region src/TimeField/TimeFieldInput.vue?vue&type=script&setup=true&lang.ts\nvar TimeFieldInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\t__name: \"TimeFieldInput\",\n\tprops: {\n\t\tpart: {\n\t\t\ttype: null,\n\t\t\trequired: true\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t}\n\t},\n\tsetup(__props) {\n\t\tconst props = __props;\n\t\tconst rootContext = injectTimeFieldRootContext();\n\t\tconst hasLeftFocus = ref(true);\n\t\tconst lastKeyZero = ref(false);\n\t\tconst { handleSegmentClick, handleSegmentKeydown, handleSegmentFocusOut, attributes } = useDateField({\n\t\t\thasLeftFocus,\n\t\t\tlastKeyZero,\n\t\t\tplaceholder: rootContext.placeholder,\n\t\t\thourCycle: rootContext.hourCycle,\n\t\t\tstep: rootContext.step,\n\t\t\tstepSnapping: rootContext.stepSnapping,\n\t\t\tsegmentValues: rootContext.segmentValues,\n\t\t\tformatter: rootContext.formatter,\n\t\t\tpart: props.part,\n\t\t\tdisabled: rootContext.disabled,\n\t\t\treadonly: rootContext.readonly,\n\t\t\tfocusNext: rootContext.focusNext,\n\t\t\tmodelValue: rootContext.modelValue\n\t\t});\n\t\tconst disabled = computed(() => rootContext.disabled.value);\n\t\tconst readonly = computed(() => rootContext.readonly.value);\n\t\tconst isInvalid = computed(() => rootContext.isInvalid.value);\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps({\n\t\t\t\tas: _ctx.as,\n\t\t\t\t\"as-child\": _ctx.asChild\n\t\t\t}, unref(attributes), {\n\t\t\t\tcontenteditable: disabled.value || readonly.value ? false : _ctx.part !== \"literal\",\n\t\t\t\t\"data-reka-time-field-segment\": _ctx.part,\n\t\t\t\t\"aria-disabled\": disabled.value ? true : void 0,\n\t\t\t\t\"aria-readonly\": readonly.value ? true : void 0,\n\t\t\t\t\"data-disabled\": disabled.value ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\t\"aria-invalid\": isInvalid.value ? true : void 0\n\t\t\t}, toHandlers(_ctx.part !== \"literal\" ? {\n\t\t\t\tmousedown: unref(handleSegmentClick),\n\t\t\t\tkeydown: unref(handleSegmentKeydown),\n\t\t\t\tfocusout: () => {\n\t\t\t\t\thasLeftFocus.value = true;\n\t\t\t\t\tunref(handleSegmentFocusOut)();\n\t\t\t\t},\n\t\t\t\tfocusin: (e) => {\n\t\t\t\t\tunref(rootContext).setFocusedElement(e.target);\n\t\t\t\t}\n\t\t\t} : {})), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"as\",\n\t\t\t\t\"as-child\",\n\t\t\t\t\"contenteditable\",\n\t\t\t\t\"data-reka-time-field-segment\",\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"aria-readonly\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"aria-invalid\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeField/TimeFieldInput.vue\nvar TimeFieldInput_default = TimeFieldInput_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeFieldInput_default };\n//# sourceMappingURL=TimeFieldInput.js.map","<template>\n <TimeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :step-snapping=\"props.stepSnapping\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :class=\"computedRootClasses\"\n class=\"b-time-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <TimeFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-time-field-literal\">\n {{ value }}\n </TimeFieldInput>\n <TimeFieldInput v-else :part=\"part\" class=\"b-time-field-segment\">\n {{ value }}\n </TimeFieldInput>\n </template>\n </slot>\n </TimeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeFieldInput, TimeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeFieldProps, BTimeFieldSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BTimeFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n})\nconst props = useDefaults(_props, 'BTimeField')\ndefineSlots<BTimeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <TimeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :step-snapping=\"props.stepSnapping\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :class=\"computedRootClasses\"\n class=\"b-time-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <TimeFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-time-field-literal\">\n {{ value }}\n </TimeFieldInput>\n <TimeFieldInput v-else :part=\"part\" class=\"b-time-field-segment\">\n {{ value }}\n </TimeFieldInput>\n </template>\n </slot>\n </TimeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeFieldInput, TimeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeFieldProps, BTimeFieldSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BTimeFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n})\nconst props = useDefaults(_props, 'BTimeField')\ndefineSlots<BTimeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n"],"x_google_ignoreList":[0,1],"mappings":"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"}