bootstrap-vue-next 0.44.2 → 0.44.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/dist/{BAccordion-CQIw-5xs.js → BAccordion-CJZMsvwP.js} +6 -6
  2. package/dist/{BAccordion-CQIw-5xs.js.map → BAccordion-CJZMsvwP.js.map} +1 -1
  3. package/dist/{BAccordion-BJcDjMYL.mjs → BAccordion-CNzV6f8e.mjs} +6 -6
  4. package/dist/{BAccordion-BJcDjMYL.mjs.map → BAccordion-CNzV6f8e.mjs.map} +1 -1
  5. package/dist/{BAlert-CVtoW2SX.js → BAlert-BnT7fF6B.js} +9 -9
  6. package/dist/{BAlert-CVtoW2SX.js.map → BAlert-BnT7fF6B.js.map} +1 -1
  7. package/dist/{BAlert-DaQxH8c1.mjs → BAlert-Qiyqq4rE.mjs} +9 -9
  8. package/dist/{BAlert-DaQxH8c1.mjs.map → BAlert-Qiyqq4rE.mjs.map} +1 -1
  9. package/dist/{BApp-CIu-zI8K.mjs → BApp-DJWC2mB8.mjs} +2 -2
  10. package/dist/{BApp-CIu-zI8K.mjs.map → BApp-DJWC2mB8.mjs.map} +1 -1
  11. package/dist/{BApp-cBKQc5Dd.js → BApp-DaM0UKIg.js} +2 -2
  12. package/dist/{BApp-cBKQc5Dd.js.map → BApp-DaM0UKIg.js.map} +1 -1
  13. package/dist/BAspect-BULTO240.js +50 -0
  14. package/dist/BAspect-BULTO240.js.map +1 -0
  15. package/dist/BAspect-CwokVvvn.mjs +44 -0
  16. package/dist/BAspect-CwokVvvn.mjs.map +1 -0
  17. package/dist/BAutocomplete-C7Odx4At.js +2342 -0
  18. package/dist/BAutocomplete-C7Odx4At.js.map +1 -0
  19. package/dist/BAutocomplete-Depalqe-.mjs +2336 -0
  20. package/dist/BAutocomplete-Depalqe-.mjs.map +1 -0
  21. package/dist/{BAvatar-C7Vc4wad.mjs → BAvatar-D7aFEXLH.mjs} +8 -8
  22. package/dist/{BAvatar-C7Vc4wad.mjs.map → BAvatar-D7aFEXLH.mjs.map} +1 -1
  23. package/dist/{BAvatar-BcQeFYZU.js → BAvatar-lefHkDuG.js} +8 -8
  24. package/dist/{BAvatar-BcQeFYZU.js.map → BAvatar-lefHkDuG.js.map} +1 -1
  25. package/dist/{BBadge-CKGGd4xB.js → BBadge-BBUcrujj.js} +5 -5
  26. package/dist/{BBadge-CKGGd4xB.js.map → BBadge-BBUcrujj.js.map} +1 -1
  27. package/dist/{BBadge-Dfkx4SMN.mjs → BBadge-D5ra3W5R.mjs} +5 -5
  28. package/dist/{BBadge-Dfkx4SMN.mjs.map → BBadge-D5ra3W5R.mjs.map} +1 -1
  29. package/dist/{BBreadcrumb-1Wxpf1iy.js → BBreadcrumb-BSsiwCNB.js} +4 -4
  30. package/dist/{BBreadcrumb-1Wxpf1iy.js.map → BBreadcrumb-BSsiwCNB.js.map} +1 -1
  31. package/dist/{BBreadcrumb-CR35-KcI.mjs → BBreadcrumb-amkzWyz6.mjs} +4 -4
  32. package/dist/{BBreadcrumb-CR35-KcI.mjs.map → BBreadcrumb-amkzWyz6.mjs.map} +1 -1
  33. package/dist/{BButton-1yV1UiT7.mjs → BButton-BRvIFnRm.mjs} +5 -5
  34. package/dist/{BButton-1yV1UiT7.mjs.map → BButton-BRvIFnRm.mjs.map} +1 -1
  35. package/dist/{BButton-BID3NrxE.js → BButton-DBRs8Pz_.js} +5 -5
  36. package/dist/{BButton-BID3NrxE.js.map → BButton-DBRs8Pz_.js.map} +1 -1
  37. package/dist/{BButton-BtCX70_2.mjs → BButton-DNmtqoqR.mjs} +5 -5
  38. package/dist/{BButton-BtCX70_2.mjs.map → BButton-DNmtqoqR.mjs.map} +1 -1
  39. package/dist/{BButton-C_bVBx8e.js → BButton-kykTWnBy.js} +5 -5
  40. package/dist/{BButton-C_bVBx8e.js.map → BButton-kykTWnBy.js.map} +1 -1
  41. package/dist/{BCard-Vf1haqo5.mjs → BCard-C1G8PO5k.mjs} +6 -6
  42. package/dist/{BCard-Vf1haqo5.mjs.map → BCard-C1G8PO5k.mjs.map} +1 -1
  43. package/dist/{BCard-CY6iY456.mjs → BCard-CJ822HyH.mjs} +3 -3
  44. package/dist/{BCard-CY6iY456.mjs.map → BCard-CJ822HyH.mjs.map} +1 -1
  45. package/dist/{BCard-D1J5OVRY.js → BCard-CSyEHz8Z.js} +3 -3
  46. package/dist/{BCard-D1J5OVRY.js.map → BCard-CSyEHz8Z.js.map} +1 -1
  47. package/dist/{BCard-BIQQg9Rx.js → BCard-CgbTFn3S.js} +6 -6
  48. package/dist/{BCard-BIQQg9Rx.js.map → BCard-CgbTFn3S.js.map} +1 -1
  49. package/dist/{BCarousel-BH6WIvJx.js → BCarousel-Be7z13f9.js} +10 -7
  50. package/dist/BCarousel-Be7z13f9.js.map +1 -0
  51. package/dist/{BCarousel-C3CA_wGV.mjs → BCarousel-D81alfFC.mjs} +10 -7
  52. package/dist/BCarousel-D81alfFC.mjs.map +1 -0
  53. package/dist/{BCloseButton-CgIVNv2g.js → BCloseButton-CN__Jjcj.js} +2 -2
  54. package/dist/{BCloseButton-CgIVNv2g.js.map → BCloseButton-CN__Jjcj.js.map} +1 -1
  55. package/dist/{BCloseButton-DrD0tpan.mjs → BCloseButton-CjgbR1Ec.mjs} +2 -2
  56. package/dist/{BCloseButton-DrD0tpan.mjs.map → BCloseButton-CjgbR1Ec.mjs.map} +1 -1
  57. package/dist/{BCol-GOE5drq_.js → BCol-0tZmpOme.js} +3 -3
  58. package/dist/{BCol-GOE5drq_.js.map → BCol-0tZmpOme.js.map} +1 -1
  59. package/dist/{BCol-BjC3q-su.mjs → BCol-C4v-TOX6.mjs} +3 -3
  60. package/dist/{BCol-BjC3q-su.mjs.map → BCol-C4v-TOX6.mjs.map} +1 -1
  61. package/dist/{BCollapse-DqeS5WyB.mjs → BCollapse-D-xTGkX_.mjs} +4 -4
  62. package/dist/{BCollapse-DqeS5WyB.mjs.map → BCollapse-D-xTGkX_.mjs.map} +1 -1
  63. package/dist/{BCollapse-BMSZfqqk.js → BCollapse-DZ1z2c8U.js} +4 -4
  64. package/dist/{BCollapse-BMSZfqqk.js.map → BCollapse-DZ1z2c8U.js.map} +1 -1
  65. package/dist/{BContainer-CdNYUb9S.js → BContainer-BZUI2qQv.js} +4 -4
  66. package/dist/{BContainer-CdNYUb9S.js.map → BContainer-BZUI2qQv.js.map} +1 -1
  67. package/dist/{BContainer-NRhwYcFj.mjs → BContainer-DjIGH6-y.mjs} +4 -4
  68. package/dist/{BContainer-NRhwYcFj.mjs.map → BContainer-DjIGH6-y.mjs.map} +1 -1
  69. package/dist/{BDateField-CRFFJ4Sj.mjs → BDateField-BJIq6gs9.mjs} +8 -6
  70. package/dist/{BDateField-CRFFJ4Sj.mjs.map → BDateField-BJIq6gs9.mjs.map} +1 -1
  71. package/dist/{BDateField-3Xb73vd-.js → BDateField-RWwEMIwd.js} +17 -15
  72. package/dist/{BDateField-3Xb73vd-.js.map → BDateField-RWwEMIwd.js.map} +1 -1
  73. package/dist/{BDatePicker-rdtRZlra.js → BDatePicker-BQN6qZXa.js} +74 -1556
  74. package/dist/BDatePicker-BQN6qZXa.js.map +1 -0
  75. package/dist/{BDatePicker-DPtAqGyV.mjs → BDatePicker-DfzZBWjU.mjs} +15 -1497
  76. package/dist/BDatePicker-DfzZBWjU.mjs.map +1 -0
  77. package/dist/{BDropdown-k-nulez8.mjs → BDropdown-BW_O8vPQ.mjs} +5 -5
  78. package/dist/{BDropdown-k-nulez8.mjs.map → BDropdown-BW_O8vPQ.mjs.map} +1 -1
  79. package/dist/{BDropdown-C2L69dLN.js → BDropdown-C1AxRj81.js} +15 -12
  80. package/dist/BDropdown-C1AxRj81.js.map +1 -0
  81. package/dist/{BDropdown-CrgX7oCn.js → BDropdown-CuVOxCzu.js} +5 -5
  82. package/dist/{BDropdown-CrgX7oCn.js.map → BDropdown-CuVOxCzu.js.map} +1 -1
  83. package/dist/{BDropdown-CKnx6hUH.mjs → BDropdown-DAHnN54Z.mjs} +15 -12
  84. package/dist/BDropdown-DAHnN54Z.mjs.map +1 -0
  85. package/dist/{BForm-B0YEolfQ.js → BForm-Bp7SFxiK.js} +2 -2
  86. package/dist/{BForm-B0YEolfQ.js.map → BForm-Bp7SFxiK.js.map} +1 -1
  87. package/dist/{BForm-ppPvhIuu.js → BForm-BqHUnHpU.js} +8 -7
  88. package/dist/{BForm-ppPvhIuu.js.map → BForm-BqHUnHpU.js.map} +1 -1
  89. package/dist/{BForm-DZW1uWD-.mjs → BForm-IL7Rf_27.mjs} +7 -6
  90. package/dist/{BForm-DZW1uWD-.mjs.map → BForm-IL7Rf_27.mjs.map} +1 -1
  91. package/dist/{BForm-CPHblWb2.mjs → BForm-Oh6PpdcD.mjs} +2 -2
  92. package/dist/{BForm-CPHblWb2.mjs.map → BForm-Oh6PpdcD.mjs.map} +1 -1
  93. package/dist/{BFormCheckbox-MEwee9Ij.js → BFormCheckbox-Bdk2rgVe.js} +6 -6
  94. package/dist/{BFormCheckbox-MEwee9Ij.js.map → BFormCheckbox-Bdk2rgVe.js.map} +1 -1
  95. package/dist/{BFormCheckbox-CsN1a4jm.mjs → BFormCheckbox-CcDK-lh1.mjs} +6 -6
  96. package/dist/{BFormCheckbox-CsN1a4jm.mjs.map → BFormCheckbox-CcDK-lh1.mjs.map} +1 -1
  97. package/dist/{BFormFile-BEHeBj6q.js → BFormFile-BWknj7fW.js} +5 -5
  98. package/dist/{BFormFile-BEHeBj6q.js.map → BFormFile-BWknj7fW.js.map} +1 -1
  99. package/dist/{BFormFile-CNtEA98J.mjs → BFormFile-Bf3GMYeX.mjs} +5 -5
  100. package/dist/{BFormFile-CNtEA98J.mjs.map → BFormFile-Bf3GMYeX.mjs.map} +1 -1
  101. package/dist/{BFormGroup-DBVGyJ-f.mjs → BFormGroup--38dFj0X.mjs} +9 -9
  102. package/dist/{BFormGroup-DBVGyJ-f.mjs.map → BFormGroup--38dFj0X.mjs.map} +1 -1
  103. package/dist/{BFormGroup-CGjb_pUi.js → BFormGroup-BwO1BZD1.js} +9 -9
  104. package/dist/{BFormGroup-CGjb_pUi.js.map → BFormGroup-BwO1BZD1.js.map} +1 -1
  105. package/dist/{BFormInput-4vCGzAoO.js → BFormInput-BuRSGYdY.js} +3 -3
  106. package/dist/{BFormInput-4vCGzAoO.js.map → BFormInput-BuRSGYdY.js.map} +1 -1
  107. package/dist/{BFormInput-DrZnHCLO.mjs → BFormInput-Dg9dbwHp.mjs} +3 -3
  108. package/dist/{BFormInput-DrZnHCLO.mjs.map → BFormInput-Dg9dbwHp.mjs.map} +1 -1
  109. package/dist/{BFormRadio-BXpiJTsS.mjs → BFormRadio-CRDbgMiR.mjs} +6 -6
  110. package/dist/{BFormRadio-BXpiJTsS.mjs.map → BFormRadio-CRDbgMiR.mjs.map} +1 -1
  111. package/dist/{BFormRadio-BzHsRe9X.js → BFormRadio-DuVYw-Vs.js} +6 -6
  112. package/dist/{BFormRadio-BzHsRe9X.js.map → BFormRadio-DuVYw-Vs.js.map} +1 -1
  113. package/dist/{BFormRating-Cq94zurU.mjs → BFormRating-Bb_ACp-9.mjs} +4 -4
  114. package/dist/{BFormRating-Cq94zurU.mjs.map → BFormRating-Bb_ACp-9.mjs.map} +1 -1
  115. package/dist/{BFormRating-_MVRGNOF.js → BFormRating-CNqf91vN.js} +4 -4
  116. package/dist/{BFormRating-_MVRGNOF.js.map → BFormRating-CNqf91vN.js.map} +1 -1
  117. package/dist/{BFormSelect-DbpJ_0j-.mjs → BFormSelect-Dg6OwMl-.mjs} +8 -7
  118. package/dist/{BFormSelect-DbpJ_0j-.mjs.map → BFormSelect-Dg6OwMl-.mjs.map} +1 -1
  119. package/dist/{BFormSelect-DFa1-5ez.js → BFormSelect-DqSojuY_.js} +10 -9
  120. package/dist/{BFormSelect-DFa1-5ez.js.map → BFormSelect-DqSojuY_.js.map} +1 -1
  121. package/dist/BFormSelectOption-BY4P8HOf.js +46 -0
  122. package/dist/BFormSelectOption-BY4P8HOf.js.map +1 -0
  123. package/dist/BFormSelectOption-O8cyyv3i.mjs +40 -0
  124. package/dist/BFormSelectOption-O8cyyv3i.mjs.map +1 -0
  125. package/dist/{BFormSpinbutton-DmzfRDeR.mjs → BFormSpinbutton-BLO0Yf36.mjs} +6 -6
  126. package/dist/{BFormSpinbutton-DmzfRDeR.mjs.map → BFormSpinbutton-BLO0Yf36.mjs.map} +1 -1
  127. package/dist/{BFormSpinbutton-DzJ071Gz.js → BFormSpinbutton-BaOTL1k1.js} +6 -6
  128. package/dist/{BFormSpinbutton-DzJ071Gz.js.map → BFormSpinbutton-BaOTL1k1.js.map} +1 -1
  129. package/dist/BFormTag-BUWEugEC.mjs +80 -0
  130. package/dist/BFormTag-BUWEugEC.mjs.map +1 -0
  131. package/dist/BFormTag-C7B-bX72.js +86 -0
  132. package/dist/BFormTag-C7B-bX72.js.map +1 -0
  133. package/dist/{BFormTags-pK9i3cOB.js → BFormTags-BFA6xbr3.js} +12 -88
  134. package/dist/BFormTags-BFA6xbr3.js.map +1 -0
  135. package/dist/{BFormTags-Cobh04P9.mjs → BFormTags-CJb4H67g.mjs} +13 -83
  136. package/dist/BFormTags-CJb4H67g.mjs.map +1 -0
  137. package/dist/{BFormTextarea-BtXarcjA.js → BFormTextarea-8c3B3kAI.js} +4 -4
  138. package/dist/{BFormTextarea-BtXarcjA.js.map → BFormTextarea-8c3B3kAI.js.map} +1 -1
  139. package/dist/{BFormTextarea-ClcoJrSM.mjs → BFormTextarea-BMk05ojJ.mjs} +4 -4
  140. package/dist/{BFormTextarea-ClcoJrSM.mjs.map → BFormTextarea-BMk05ojJ.mjs.map} +1 -1
  141. package/dist/{BFormValidFeedback-Ot8gdDST.js → BFormValidFeedback-DvTgwqSe.js} +3 -3
  142. package/dist/{BFormValidFeedback-Ot8gdDST.js.map → BFormValidFeedback-DvTgwqSe.js.map} +1 -1
  143. package/dist/{BFormValidFeedback-foz9BlkH.mjs → BFormValidFeedback-_Dgzm0Ag.mjs} +3 -3
  144. package/dist/{BFormValidFeedback-foz9BlkH.mjs.map → BFormValidFeedback-_Dgzm0Ag.mjs.map} +1 -1
  145. package/dist/{BImg-b_3eTiEq.mjs → BImg-BQqZfIM9.mjs} +5 -5
  146. package/dist/{BImg-b_3eTiEq.mjs.map → BImg-BQqZfIM9.mjs.map} +1 -1
  147. package/dist/{BImg-BrA0ZRS6.js → BImg-Dyy0N-WQ.js} +5 -5
  148. package/dist/{BImg-BrA0ZRS6.js.map → BImg-Dyy0N-WQ.js.map} +1 -1
  149. package/dist/BInputGroup-BScMw6Zr.js +31 -0
  150. package/dist/BInputGroup-BScMw6Zr.js.map +1 -0
  151. package/dist/BInputGroup-C7k0tS9j.mjs +25 -0
  152. package/dist/BInputGroup-C7k0tS9j.mjs.map +1 -0
  153. package/dist/{BInputGroup-B8fKBtip.mjs → BInputGroup-DpX10xwR.mjs} +4 -22
  154. package/dist/BInputGroup-DpX10xwR.mjs.map +1 -0
  155. package/dist/{BInputGroup-Cr0qLUds.js → BInputGroup-Duk6Jk0v.js} +2 -26
  156. package/dist/BInputGroup-Duk6Jk0v.js.map +1 -0
  157. package/dist/{BLink-DoYZ8dBl.mjs → BLink-Cz5YCsnv.mjs} +4 -4
  158. package/dist/{BLink-DoYZ8dBl.mjs.map → BLink-Cz5YCsnv.mjs.map} +1 -1
  159. package/dist/{BLink-DW7s8W_N.js → BLink-uemyYKst.js} +4 -4
  160. package/dist/{BLink-DW7s8W_N.js.map → BLink-uemyYKst.js.map} +1 -1
  161. package/dist/{BListGroup-ByYmtuCM.mjs → BListGroup-BmtN0xQ3.mjs} +3 -3
  162. package/dist/{BListGroup-ByYmtuCM.mjs.map → BListGroup-BmtN0xQ3.mjs.map} +1 -1
  163. package/dist/{BListGroup-clQNXk23.js → BListGroup-DuyMdAxJ.js} +3 -3
  164. package/dist/{BListGroup-clQNXk23.js.map → BListGroup-DuyMdAxJ.js.map} +1 -1
  165. package/dist/{BModal-TCXrZEZk.mjs → BModal-Br5xLT0-.mjs} +15 -12
  166. package/dist/BModal-Br5xLT0-.mjs.map +1 -0
  167. package/dist/{BModal-d3FKaKhA.js → BModal-D0LB339D.js} +15 -12
  168. package/dist/BModal-D0LB339D.js.map +1 -0
  169. package/dist/{BNav-BBr8213N.mjs → BNav-BRjdHsjC.mjs} +7 -7
  170. package/dist/{BNav-BBr8213N.mjs.map → BNav-BRjdHsjC.mjs.map} +1 -1
  171. package/dist/{BNav-BMAZcVDS.js → BNav-tYBwz1wU.js} +7 -7
  172. package/dist/{BNav-BMAZcVDS.js.map → BNav-tYBwz1wU.js.map} +1 -1
  173. package/dist/{BNavbar-BfYFzX1s.js → BNavbar-s9Ak5PnO.js} +6 -6
  174. package/dist/{BNavbar-BfYFzX1s.js.map → BNavbar-s9Ak5PnO.js.map} +1 -1
  175. package/dist/{BNavbar-DtgNmsyI.mjs → BNavbar-vN3_CMLn.mjs} +6 -6
  176. package/dist/{BNavbar-DtgNmsyI.mjs.map → BNavbar-vN3_CMLn.mjs.map} +1 -1
  177. package/dist/{BOffcanvas-YsVap-9w.js → BOffcanvas-D33pEfZe.js} +14 -11
  178. package/dist/BOffcanvas-D33pEfZe.js.map +1 -0
  179. package/dist/{BOffcanvas-BklEA-4x.mjs → BOffcanvas-jETHbtC3.mjs} +14 -11
  180. package/dist/BOffcanvas-jETHbtC3.mjs.map +1 -0
  181. package/dist/BOtpInput-CSCoKHP9.js +542 -0
  182. package/dist/BOtpInput-CSCoKHP9.js.map +1 -0
  183. package/dist/BOtpInput-Drfkt3x3.mjs +536 -0
  184. package/dist/BOtpInput-Drfkt3x3.mjs.map +1 -0
  185. package/dist/{BOverlay-Dg9YM7p1.js → BOverlay-B7vJAdHO.js} +6 -6
  186. package/dist/{BOverlay-Dg9YM7p1.js.map → BOverlay-B7vJAdHO.js.map} +1 -1
  187. package/dist/{BOverlay-DOfvBAZb.mjs → BOverlay-BGxH9JVy.mjs} +6 -6
  188. package/dist/{BOverlay-DOfvBAZb.mjs.map → BOverlay-BGxH9JVy.mjs.map} +1 -1
  189. package/dist/{BPagination-9P9Xh3cN.js → BPagination-C0-4NVzW.js} +6 -6
  190. package/dist/{BPagination-9P9Xh3cN.js.map → BPagination-C0-4NVzW.js.map} +1 -1
  191. package/dist/{BPagination-B868NBmG.mjs → BPagination-CvoSN1He.mjs} +6 -6
  192. package/dist/{BPagination-B868NBmG.mjs.map → BPagination-CvoSN1He.mjs.map} +1 -1
  193. package/dist/{BPlaceholder-7UJ3Nyb3.mjs → BPlaceholder-C4AOg29f.mjs} +6 -6
  194. package/dist/{BPlaceholder-7UJ3Nyb3.mjs.map → BPlaceholder-C4AOg29f.mjs.map} +1 -1
  195. package/dist/{BPlaceholder-DPEVmogO.js → BPlaceholder-DYYYuNgR.js} +6 -6
  196. package/dist/{BPlaceholder-DPEVmogO.js.map → BPlaceholder-DYYYuNgR.js.map} +1 -1
  197. package/dist/{BProgress-Bdf5AncM.mjs → BProgress-BIqo6vLh.mjs} +4 -4
  198. package/dist/{BProgress-Bdf5AncM.mjs.map → BProgress-BIqo6vLh.mjs.map} +1 -1
  199. package/dist/{BProgress-CeEIdt1a.js → BProgress-Bc3ZSkac.js} +4 -4
  200. package/dist/{BProgress-CeEIdt1a.js.map → BProgress-Bc3ZSkac.js.map} +1 -1
  201. package/dist/{BRow-NaXJzpS-.mjs → BRow-BCEK3fe6.mjs} +4 -4
  202. package/dist/{BRow-NaXJzpS-.mjs.map → BRow-BCEK3fe6.mjs.map} +1 -1
  203. package/dist/{BRow-DGi1WkB9.js → BRow-tqMEhkZS.js} +4 -4
  204. package/dist/{BRow-DGi1WkB9.js.map → BRow-tqMEhkZS.js.map} +1 -1
  205. package/dist/{BSpinner-Kska3Bsd.js → BSpinner-8UMAINYb.js} +3 -3
  206. package/dist/{BSpinner-Kska3Bsd.js.map → BSpinner-8UMAINYb.js.map} +1 -1
  207. package/dist/{BSpinner-DlLxrIkh.mjs → BSpinner-BpnwONvx.mjs} +3 -3
  208. package/dist/{BSpinner-DlLxrIkh.mjs.map → BSpinner-BpnwONvx.mjs.map} +1 -1
  209. package/dist/{BTable-BiNbXnsR.js → BTable-Btzu1IJ_.js} +9 -9
  210. package/dist/{BTable-BiNbXnsR.js.map → BTable-Btzu1IJ_.js.map} +1 -1
  211. package/dist/{BTable-C__GSYX2.mjs → BTable-CjHMx8Yv.mjs} +9 -9
  212. package/dist/{BTable-C__GSYX2.mjs.map → BTable-CjHMx8Yv.mjs.map} +1 -1
  213. package/dist/{BTableSimple-fwaF0Kws.js → BTableSimple-BcdizuDm.js} +5 -5
  214. package/dist/{BTableSimple-fwaF0Kws.js.map → BTableSimple-BcdizuDm.js.map} +1 -1
  215. package/dist/{BTableSimple-eebTf2L5.mjs → BTableSimple-C901Z5V9.mjs} +5 -5
  216. package/dist/{BTableSimple-eebTf2L5.mjs.map → BTableSimple-C901Z5V9.mjs.map} +1 -1
  217. package/dist/{BTabs-7IT0dhVr.mjs → BTabs-DZEF9kgT.mjs} +7 -7
  218. package/dist/{BTabs-7IT0dhVr.mjs.map → BTabs-DZEF9kgT.mjs.map} +1 -1
  219. package/dist/{BTabs-BxwRSBMv.js → BTabs-DiYaJi22.js} +7 -7
  220. package/dist/{BTabs-BxwRSBMv.js.map → BTabs-DiYaJi22.js.map} +1 -1
  221. package/dist/{BTimeField-CZw1_K7v.mjs → BTimeField-DSWZeGYP.mjs} +7 -5
  222. package/dist/{BTimeField-CZw1_K7v.mjs.map → BTimeField-DSWZeGYP.mjs.map} +1 -1
  223. package/dist/{BTimeField-CngB6NOW.js → BTimeField-VTrtxGkI.js} +18 -16
  224. package/dist/{BTimeField-CngB6NOW.js.map → BTimeField-VTrtxGkI.js.map} +1 -1
  225. package/dist/{BToast-IYBku5Nr.mjs → BToast-B2rFKhLD.mjs} +10 -10
  226. package/dist/{BToast-IYBku5Nr.mjs.map → BToast-B2rFKhLD.mjs.map} +1 -1
  227. package/dist/{BToast-BraVbf4N.js → BToast-DCSZYXIi.js} +10 -10
  228. package/dist/{BToast-BraVbf4N.js.map → BToast-DCSZYXIi.js.map} +1 -1
  229. package/dist/{BTooltip-B2hE5Q6m.js → BTooltip-CryTO-SM.js} +3 -3
  230. package/dist/{BTooltip-B2hE5Q6m.js.map → BTooltip-CryTO-SM.js.map} +1 -1
  231. package/dist/{BTooltip-BuK_zb1B.mjs → BTooltip-DtpjIEBu.mjs} +3 -3
  232. package/dist/{BTooltip-BuK_zb1B.mjs.map → BTooltip-DtpjIEBu.mjs.map} +1 -1
  233. package/dist/{BootstrapVueOptions-CVxLmDvx.js → BootstrapVueOptions-BC3f7hMU.js} +4 -1
  234. package/dist/BootstrapVueOptions-BC3f7hMU.js.map +1 -0
  235. package/dist/{BootstrapVueOptions-Dtdn7_AJ.mjs → BootstrapVueOptions-BU3rzYio.mjs} +4 -1
  236. package/dist/BootstrapVueOptions-BU3rzYio.mjs.map +1 -0
  237. package/dist/{ConditionalTeleport-BDWcebyD.js → ConditionalTeleport-BJZk6HAx.js} +1 -1
  238. package/dist/{ConditionalTeleport-BDWcebyD.js.map → ConditionalTeleport-BJZk6HAx.js.map} +1 -1
  239. package/dist/{ConditionalTeleport-B4KYZIM6.mjs → ConditionalTeleport-BNsziElf.mjs} +1 -1
  240. package/dist/{ConditionalTeleport-B4KYZIM6.mjs.map → ConditionalTeleport-BNsziElf.mjs.map} +1 -1
  241. package/dist/{ConditionalWrapper-ZqZKYsic.js → ConditionalWrapper-Cc7EIszd.js} +1 -1
  242. package/dist/{ConditionalWrapper-ZqZKYsic.js.map → ConditionalWrapper-Cc7EIszd.js.map} +1 -1
  243. package/dist/{ConditionalWrapper-BR9CKZNU.mjs → ConditionalWrapper-D9ovtbHB.mjs} +1 -1
  244. package/dist/{ConditionalWrapper-BR9CKZNU.mjs.map → ConditionalWrapper-D9ovtbHB.mjs.map} +1 -1
  245. package/dist/{DateRangeFieldInput-bXDqGVUe.js → DateRangeFieldInput-Ce7PM3PJ.js} +22 -20
  246. package/dist/{DateRangeFieldInput-bXDqGVUe.js.map → DateRangeFieldInput-Ce7PM3PJ.js.map} +1 -1
  247. package/dist/{DateRangeFieldInput-bA6IK9lx.mjs → DateRangeFieldInput-DiVuhf4Y.mjs} +5 -3
  248. package/dist/{DateRangeFieldInput-bA6IK9lx.mjs.map → DateRangeFieldInput-DiVuhf4Y.mjs.map} +1 -1
  249. package/dist/PopperContent-BTUvv6Tu.mjs +1431 -0
  250. package/dist/PopperContent-BTUvv6Tu.mjs.map +1 -0
  251. package/dist/PopperContent-CSwv2Fih.js +1515 -0
  252. package/dist/PopperContent-CSwv2Fih.js.map +1 -0
  253. package/dist/VisuallyHidden-Bbwok8oL.mjs +174 -0
  254. package/dist/VisuallyHidden-Bbwok8oL.mjs.map +1 -0
  255. package/dist/VisuallyHidden-DaN947I0.js +222 -0
  256. package/dist/VisuallyHidden-DaN947I0.js.map +1 -0
  257. package/dist/VisuallyHiddenInput-Biq4Qv5j.js +147 -0
  258. package/dist/VisuallyHiddenInput-Biq4Qv5j.js.map +1 -0
  259. package/dist/VisuallyHiddenInput-D1SjTCVH.mjs +141 -0
  260. package/dist/VisuallyHiddenInput-D1SjTCVH.mjs.map +1 -0
  261. package/dist/bootstrap-vue-next.css +147 -0
  262. package/dist/bootstrap-vue-next.mjs +62 -57
  263. package/dist/bootstrap-vue-next.umd.js +67 -59
  264. package/dist/{classes-D6JE1Dex.mjs → classes-B0E5Y78Y.mjs} +1 -1
  265. package/dist/{classes-D6JE1Dex.mjs.map → classes-B0E5Y78Y.mjs.map} +1 -1
  266. package/dist/{classes-vdSVs0gA.js → classes-D5wrmmVs.js} +1 -1
  267. package/dist/{classes-vdSVs0gA.js.map → classes-D5wrmmVs.js.map} +1 -1
  268. package/dist/components/BAccordion/BAccordionItem.vue.d.mts +1 -1
  269. package/dist/components/BAccordion/BAccordionItem.vue.d.ts +1 -1
  270. package/dist/components/BAspect/BAspect.vue.d.mts +21 -0
  271. package/dist/components/BAspect/BAspect.vue.d.ts +21 -0
  272. package/dist/components/BAspect/index.d.mts +1 -0
  273. package/dist/components/BAspect/index.d.ts +1 -0
  274. package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +65 -0
  275. package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +65 -0
  276. package/dist/components/BAutocomplete/index.d.mts +1 -0
  277. package/dist/components/BAutocomplete/index.d.ts +1 -0
  278. package/dist/components/BButton/BButtonGroup.vue.d.mts +1 -1
  279. package/dist/components/BButton/BButtonGroup.vue.d.ts +1 -1
  280. package/dist/components/BCard/BCard.vue.d.mts +1 -1
  281. package/dist/components/BCard/BCard.vue.d.ts +1 -1
  282. package/dist/components/BCard/BCardImg.vue.d.mts +1 -1
  283. package/dist/components/BCard/BCardImg.vue.d.ts +1 -1
  284. package/dist/components/BCollapse/BCollapse.vue.d.mts +1 -1
  285. package/dist/components/BCollapse/BCollapse.vue.d.ts +1 -1
  286. package/dist/components/BDateField/BDateField.vue.d.mts +1 -1
  287. package/dist/components/BDateField/BDateField.vue.d.ts +1 -1
  288. package/dist/components/BDateField/BDateRangeField.vue.d.mts +1 -1
  289. package/dist/components/BDateField/BDateRangeField.vue.d.ts +1 -1
  290. package/dist/components/BDateField/BTimeRangeField.vue.d.mts +4 -4
  291. package/dist/components/BDateField/BTimeRangeField.vue.d.ts +4 -4
  292. package/dist/components/BDatePicker/BDatePicker.vue.d.mts +4 -4
  293. package/dist/components/BDatePicker/BDatePicker.vue.d.ts +4 -4
  294. package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +4 -4
  295. package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +4 -4
  296. package/dist/components/BDropdown/BDropdown.vue.d.mts +2 -2
  297. package/dist/components/BDropdown/BDropdown.vue.d.ts +2 -2
  298. package/dist/components/BForm/BFormDatalistBase.vue.d.mts +5 -5
  299. package/dist/components/BForm/BFormDatalistBase.vue.d.ts +5 -5
  300. package/dist/components/BForm/BFormInvalidFeedback.vue.d.mts +1 -1
  301. package/dist/components/BForm/BFormInvalidFeedback.vue.d.ts +1 -1
  302. package/dist/components/BForm/BFormValidFeedback.vue.d.mts +1 -1
  303. package/dist/components/BForm/BFormValidFeedback.vue.d.ts +1 -1
  304. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -1
  305. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -1
  306. package/dist/components/BFormFile/BFormFile.vue.d.mts +1 -1
  307. package/dist/components/BFormFile/BFormFile.vue.d.ts +1 -1
  308. package/dist/components/BFormGroup/BFormGroup.vue.d.mts +1 -1
  309. package/dist/components/BFormGroup/BFormGroup.vue.d.ts +1 -1
  310. package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +4 -4
  311. package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +4 -4
  312. package/dist/components/BImg/BImg.vue.d.mts +1 -1
  313. package/dist/components/BImg/BImg.vue.d.ts +1 -1
  314. package/dist/components/BInputGroup/BInputGroup.vue.d.mts +1 -1
  315. package/dist/components/BInputGroup/BInputGroup.vue.d.ts +1 -1
  316. package/dist/components/BListGroup/BListGroup.vue.d.mts +1 -1
  317. package/dist/components/BListGroup/BListGroup.vue.d.ts +1 -1
  318. package/dist/components/BModal/BModal.vue.d.mts +1 -1
  319. package/dist/components/BModal/BModal.vue.d.ts +1 -1
  320. package/dist/components/BNav/BNav.vue.d.mts +1 -1
  321. package/dist/components/BNav/BNav.vue.d.ts +1 -1
  322. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +13 -13
  323. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +13 -13
  324. package/dist/components/BNavbar/BNavbar.vue.d.mts +1 -1
  325. package/dist/components/BNavbar/BNavbar.vue.d.ts +1 -1
  326. package/dist/components/BNavbar/BNavbarNav.vue.d.mts +1 -1
  327. package/dist/components/BNavbar/BNavbarNav.vue.d.ts +1 -1
  328. package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +1 -1
  329. package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +1 -1
  330. package/dist/components/BOtpInput/BOtpInput.vue.d.mts +32 -0
  331. package/dist/components/BOtpInput/BOtpInput.vue.d.ts +32 -0
  332. package/dist/components/BOtpInput/index.d.mts +1 -0
  333. package/dist/components/BOtpInput/index.d.ts +1 -0
  334. package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +1 -1
  335. package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +1 -1
  336. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +1 -1
  337. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +1 -1
  338. package/dist/components/BProgress/BProgress.vue.d.mts +1 -1
  339. package/dist/components/BProgress/BProgress.vue.d.ts +1 -1
  340. package/dist/components/BSpinner/BSpinner.vue.d.mts +2 -2
  341. package/dist/components/BSpinner/BSpinner.vue.d.ts +2 -2
  342. package/dist/components/BTable/BTable.vue.d.mts +3 -3
  343. package/dist/components/BTable/BTable.vue.d.ts +3 -3
  344. package/dist/components/BTabs/BTabs.vue.d.mts +1 -1
  345. package/dist/components/BTabs/BTabs.vue.d.ts +1 -1
  346. package/dist/components/BTimeField/BTimeField.vue.d.mts +1 -1
  347. package/dist/components/BTimeField/BTimeField.vue.d.ts +1 -1
  348. package/dist/components/index.d.mts +3 -0
  349. package/dist/components/index.d.ts +3 -0
  350. package/dist/composables/useFormSelect.d.mts +10 -4
  351. package/dist/composables/useFormSelect.d.ts +10 -4
  352. package/dist/{constants-CQ8ucyPI.mjs → constants-BSIK14yA.mjs} +1 -1
  353. package/dist/{constants-CQ8ucyPI.mjs.map → constants-BSIK14yA.mjs.map} +1 -1
  354. package/dist/{constants-DMR5FAE3.js → constants-hccBP09R.js} +1 -1
  355. package/dist/{constants-DMR5FAE3.js.map → constants-hccBP09R.js.map} +1 -1
  356. package/dist/{debounce-BfDJWP7y.js → debounce-C-5Oukxb.js} +2 -2
  357. package/dist/{debounce-BfDJWP7y.js.map → debounce-C-5Oukxb.js.map} +1 -1
  358. package/dist/{debounce-BIVtU5ek.mjs → debounce-C_wjWVGH.mjs} +2 -2
  359. package/dist/{debounce-BIVtU5ek.mjs.map → debounce-C_wjWVGH.mjs.map} +1 -1
  360. package/dist/{dist-Dn5blevd.mjs → dist-B10a-gZ8.mjs} +34 -2
  361. package/dist/{dist-Dn5blevd.mjs.map → dist-B10a-gZ8.mjs.map} +1 -1
  362. package/dist/{dist-B_c893QG.js → dist-BJ15ThEs.js} +45 -1
  363. package/dist/{dist-B_c893QG.js.map → dist-BJ15ThEs.js.map} +1 -1
  364. package/dist/{flattenFragments-DfLb4YB2.js → flattenFragments-C1WWqm25.js} +1 -1
  365. package/dist/{flattenFragments-DfLb4YB2.js.map → flattenFragments-C1WWqm25.js.map} +1 -1
  366. package/dist/{flattenFragments-B1W_x5L2.mjs → flattenFragments-ClbLQGqR.mjs} +1 -1
  367. package/dist/{flattenFragments-B1W_x5L2.mjs.map → flattenFragments-ClbLQGqR.mjs.map} +1 -1
  368. package/dist/{floating-ui.vue-CcfLuVCZ.mjs → floating-ui.vue-CAMaNcqI.mjs} +1 -1
  369. package/dist/{floating-ui.vue-CcfLuVCZ.mjs.map → floating-ui.vue-CAMaNcqI.mjs.map} +1 -1
  370. package/dist/{floating-ui.vue-B09oeNTW.js → floating-ui.vue-GXIS2sFG.js} +1 -1
  371. package/dist/{floating-ui.vue-B09oeNTW.js.map → floating-ui.vue-GXIS2sFG.js.map} +1 -1
  372. package/dist/{floatingUi-BLlCKrbj.js → floatingUi-Cs4rDXmO.js} +8 -8
  373. package/dist/{floatingUi-BLlCKrbj.js.map → floatingUi-Cs4rDXmO.js.map} +1 -1
  374. package/dist/{floatingUi-9NcUa5r7.mjs → floatingUi-DHMrP__c.mjs} +8 -8
  375. package/dist/{floatingUi-9NcUa5r7.mjs.map → floatingUi-DHMrP__c.mjs.map} +1 -1
  376. package/dist/{functions-C6AToZGR.mjs → functions-BcMenQqL.mjs} +1 -1
  377. package/dist/functions-BcMenQqL.mjs.map +1 -0
  378. package/dist/{functions-DCQKr6wc.js → functions-Bx1HDqMv.js} +1 -1
  379. package/dist/functions-Bx1HDqMv.js.map +1 -0
  380. package/dist/{getClasses-_sZDgS-l.mjs → getClasses-DaWzwT2S.mjs} +1 -1
  381. package/dist/{getClasses-_sZDgS-l.mjs.map → getClasses-DaWzwT2S.mjs.map} +1 -1
  382. package/dist/{getClasses-BQLj0MHF.js → getClasses-qqI6x4f4.js} +1 -1
  383. package/dist/{getClasses-BQLj0MHF.js.map → getClasses-qqI6x4f4.js.map} +1 -1
  384. package/dist/{getElement-D5DvkPzw.mjs → getElement-0_htvrFw.mjs} +1 -1
  385. package/dist/{getElement-D5DvkPzw.mjs.map → getElement-0_htvrFw.mjs.map} +1 -1
  386. package/dist/{getElement-BXXYfxYW.js → getElement-CxWWOx3K.js} +1 -1
  387. package/dist/{getElement-BXXYfxYW.js.map → getElement-CxWWOx3K.js.map} +1 -1
  388. package/dist/{object-CPeShLVx.js → object-BN7QwMcz.js} +1 -1
  389. package/dist/{object-CPeShLVx.js.map → object-BN7QwMcz.js.map} +1 -1
  390. package/dist/{object-B9ZW1_9f.mjs → object-CHQkkner.mjs} +1 -1
  391. package/dist/{object-B9ZW1_9f.mjs.map → object-CHQkkner.mjs.map} +1 -1
  392. package/dist/{registryAccess-B4xlltdn.mjs → registryAccess-C1Ti_nxW.mjs} +1 -1
  393. package/dist/{registryAccess-B4xlltdn.mjs.map → registryAccess-C1Ti_nxW.mjs.map} +1 -1
  394. package/dist/{registryAccess-Be_uJ4EV.js → registryAccess-D-YxwQJq.js} +1 -1
  395. package/dist/{registryAccess-Be_uJ4EV.js.map → registryAccess-D-YxwQJq.js.map} +1 -1
  396. package/dist/src/components/BAccordion/index.mjs +1 -1
  397. package/dist/src/components/BAccordion/index.umd.js +1 -1
  398. package/dist/src/components/BAlert/index.mjs +1 -1
  399. package/dist/src/components/BAlert/index.umd.js +1 -1
  400. package/dist/src/components/BApp/index.mjs +1 -1
  401. package/dist/src/components/BApp/index.umd.js +1 -1
  402. package/dist/src/components/BAspect/index.mjs +2 -0
  403. package/dist/src/components/BAspect/index.umd.js +3 -0
  404. package/dist/src/components/BAutocomplete/index.mjs +2 -0
  405. package/dist/src/components/BAutocomplete/index.umd.js +3 -0
  406. package/dist/src/components/BAvatar/index.mjs +1 -1
  407. package/dist/src/components/BAvatar/index.umd.js +1 -1
  408. package/dist/src/components/BBadge/index.mjs +1 -1
  409. package/dist/src/components/BBadge/index.umd.js +1 -1
  410. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  411. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  412. package/dist/src/components/BButton/index.mjs +3 -3
  413. package/dist/src/components/BButton/index.umd.js +3 -3
  414. package/dist/src/components/BCard/index.mjs +2 -2
  415. package/dist/src/components/BCard/index.umd.js +2 -2
  416. package/dist/src/components/BCarousel/index.mjs +1 -1
  417. package/dist/src/components/BCarousel/index.umd.js +1 -1
  418. package/dist/src/components/BCol/index.mjs +1 -1
  419. package/dist/src/components/BCol/index.umd.js +1 -1
  420. package/dist/src/components/BCollapse/index.mjs +1 -1
  421. package/dist/src/components/BCollapse/index.umd.js +1 -1
  422. package/dist/src/components/BContainer/index.mjs +3 -3
  423. package/dist/src/components/BContainer/index.umd.js +3 -3
  424. package/dist/src/components/BDateField/index.mjs +1 -1
  425. package/dist/src/components/BDateField/index.umd.js +1 -1
  426. package/dist/src/components/BDatePicker/index.mjs +1 -1
  427. package/dist/src/components/BDatePicker/index.umd.js +1 -1
  428. package/dist/src/components/BDropdown/index.mjs +2 -2
  429. package/dist/src/components/BDropdown/index.umd.js +2 -2
  430. package/dist/src/components/BForm/index.mjs +3 -3
  431. package/dist/src/components/BForm/index.umd.js +3 -3
  432. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  433. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  434. package/dist/src/components/BFormFile/index.mjs +1 -1
  435. package/dist/src/components/BFormFile/index.umd.js +1 -1
  436. package/dist/src/components/BFormGroup/index.mjs +1 -1
  437. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  438. package/dist/src/components/BFormInput/index.mjs +1 -1
  439. package/dist/src/components/BFormInput/index.umd.js +1 -1
  440. package/dist/src/components/BFormRadio/index.mjs +1 -1
  441. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  442. package/dist/src/components/BFormRating/index.mjs +1 -1
  443. package/dist/src/components/BFormRating/index.umd.js +1 -1
  444. package/dist/src/components/BFormSelect/index.mjs +2 -2
  445. package/dist/src/components/BFormSelect/index.umd.js +3 -3
  446. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  447. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  448. package/dist/src/components/BFormTags/index.mjs +2 -1
  449. package/dist/src/components/BFormTags/index.umd.js +3 -2
  450. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  451. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  452. package/dist/src/components/BImg/index.mjs +1 -1
  453. package/dist/src/components/BImg/index.umd.js +1 -1
  454. package/dist/src/components/BInputGroup/index.mjs +2 -1
  455. package/dist/src/components/BInputGroup/index.umd.js +3 -2
  456. package/dist/src/components/BLink/index.mjs +1 -1
  457. package/dist/src/components/BLink/index.umd.js +1 -1
  458. package/dist/src/components/BListGroup/index.mjs +1 -1
  459. package/dist/src/components/BListGroup/index.umd.js +1 -1
  460. package/dist/src/components/BModal/index.mjs +1 -1
  461. package/dist/src/components/BModal/index.umd.js +1 -1
  462. package/dist/src/components/BNav/index.mjs +1 -1
  463. package/dist/src/components/BNav/index.umd.js +1 -1
  464. package/dist/src/components/BNavbar/index.mjs +1 -1
  465. package/dist/src/components/BNavbar/index.umd.js +1 -1
  466. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  467. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  468. package/dist/src/components/BOtpInput/index.mjs +2 -0
  469. package/dist/src/components/BOtpInput/index.umd.js +3 -0
  470. package/dist/src/components/BOverlay/index.mjs +1 -1
  471. package/dist/src/components/BOverlay/index.umd.js +1 -1
  472. package/dist/src/components/BPagination/index.mjs +1 -1
  473. package/dist/src/components/BPagination/index.umd.js +1 -1
  474. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  475. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  476. package/dist/src/components/BPopover/index.mjs +1 -1
  477. package/dist/src/components/BPopover/index.umd.js +1 -1
  478. package/dist/src/components/BProgress/index.mjs +1 -1
  479. package/dist/src/components/BProgress/index.umd.js +1 -1
  480. package/dist/src/components/BRow/index.mjs +1 -1
  481. package/dist/src/components/BRow/index.umd.js +1 -1
  482. package/dist/src/components/BSpinner/index.mjs +1 -1
  483. package/dist/src/components/BSpinner/index.umd.js +1 -1
  484. package/dist/src/components/BTable/index.mjs +2 -2
  485. package/dist/src/components/BTable/index.umd.js +2 -2
  486. package/dist/src/components/BTabs/index.mjs +1 -1
  487. package/dist/src/components/BTabs/index.umd.js +1 -1
  488. package/dist/src/components/BTimeField/index.mjs +1 -1
  489. package/dist/src/components/BTimeField/index.umd.js +1 -1
  490. package/dist/src/components/BToast/index.mjs +1 -1
  491. package/dist/src/components/BToast/index.umd.js +1 -1
  492. package/dist/src/components/BTooltip/index.mjs +1 -1
  493. package/dist/src/components/BTooltip/index.umd.js +1 -1
  494. package/dist/src/components/index.mjs +64 -55
  495. package/dist/src/components/index.mjs.map +1 -1
  496. package/dist/src/components/index.umd.js +72 -60
  497. package/dist/src/components/index.umd.js.map +1 -1
  498. package/dist/src/composables/useColorMode/index.mjs +1 -1
  499. package/dist/src/composables/useColorMode/index.umd.js +1 -1
  500. package/dist/src/composables/useModal/index.mjs +1 -1
  501. package/dist/src/composables/useModal/index.umd.js +1 -1
  502. package/dist/src/composables/usePopover/index.mjs +2 -2
  503. package/dist/src/composables/usePopover/index.umd.js +2 -2
  504. package/dist/src/composables/useScrollLock/index.mjs +1 -1
  505. package/dist/src/composables/useScrollLock/index.umd.js +1 -1
  506. package/dist/src/composables/useScrollspy/index.mjs +2 -2
  507. package/dist/src/composables/useScrollspy/index.umd.js +2 -2
  508. package/dist/src/composables/useToast/index.mjs +1 -1
  509. package/dist/src/composables/useToast/index.umd.js +1 -1
  510. package/dist/src/composables/useToggle/index.mjs +1 -1
  511. package/dist/src/composables/useToggle/index.umd.js +1 -1
  512. package/dist/src/directives/BPopover/index.mjs +2 -2
  513. package/dist/src/directives/BPopover/index.umd.js +2 -2
  514. package/dist/src/directives/BScrollspy/index.mjs +2 -2
  515. package/dist/src/directives/BScrollspy/index.umd.js +2 -2
  516. package/dist/src/directives/BToggle/index.mjs +3 -3
  517. package/dist/src/directives/BToggle/index.umd.js +3 -3
  518. package/dist/src/directives/BTooltip/index.mjs +2 -2
  519. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  520. package/dist/src/resolvers/index.mjs +1 -1
  521. package/dist/src/resolvers/index.umd.js +1 -1
  522. package/dist/src/types/index.mjs +1 -1
  523. package/dist/src/types/index.umd.js +1 -1
  524. package/dist/src/utils/index.mjs +1 -1
  525. package/dist/src/utils/index.umd.js +1 -1
  526. package/dist/{stringUtils-hUreqC0N.js → stringUtils-BwKOASdU.js} +2 -2
  527. package/dist/{stringUtils-hUreqC0N.js.map → stringUtils-BwKOASdU.js.map} +1 -1
  528. package/dist/{stringUtils-BP8rZgjn.mjs → stringUtils-CslYpDTt.mjs} +2 -2
  529. package/dist/{stringUtils-BP8rZgjn.mjs.map → stringUtils-CslYpDTt.mjs.map} +1 -1
  530. package/dist/types/BootstrapVueOptions.d.mts +7 -1
  531. package/dist/types/BootstrapVueOptions.d.ts +7 -1
  532. package/dist/types/ComponentProps.d.mts +63 -3
  533. package/dist/types/ComponentProps.d.ts +63 -3
  534. package/dist/types/ComponentSlots.d.mts +17 -0
  535. package/dist/types/ComponentSlots.d.ts +17 -0
  536. package/dist/{useAlignment-CwuLc9mf.mjs → useAlignment-BiCREohQ.mjs} +1 -1
  537. package/dist/{useAlignment-CwuLc9mf.mjs.map → useAlignment-BiCREohQ.mjs.map} +1 -1
  538. package/dist/{useAlignment-CY-mnB2p.js → useAlignment-D5xKBRez.js} +1 -1
  539. package/dist/{useAlignment-CY-mnB2p.js.map → useAlignment-D5xKBRez.js.map} +1 -1
  540. package/dist/{useAriaInvalid-BYMq9BBX.js → useAriaInvalid-CHHPHNLU.js} +1 -1
  541. package/dist/{useAriaInvalid-BYMq9BBX.js.map → useAriaInvalid-CHHPHNLU.js.map} +1 -1
  542. package/dist/{useAriaInvalid-01Dd60GC.mjs → useAriaInvalid-apOwgexm.mjs} +1 -1
  543. package/dist/{useAriaInvalid-01Dd60GC.mjs.map → useAriaInvalid-apOwgexm.mjs.map} +1 -1
  544. package/dist/{useColorVariantClasses-GuDw8a_O.mjs → useColorVariantClasses-B6Me_Kx6.mjs} +1 -1
  545. package/dist/{useColorVariantClasses-GuDw8a_O.mjs.map → useColorVariantClasses-B6Me_Kx6.mjs.map} +1 -1
  546. package/dist/{useColorVariantClasses-DVaQDVQC.js → useColorVariantClasses-CEfOwjPv.js} +1 -1
  547. package/dist/{useColorVariantClasses-DVaQDVQC.js.map → useColorVariantClasses-CEfOwjPv.js.map} +1 -1
  548. package/dist/{useCountdownHover-CaF8_TRT.js → useCountdownHover-8bwLWYoN.js} +2 -2
  549. package/dist/{useCountdownHover-CaF8_TRT.js.map → useCountdownHover-8bwLWYoN.js.map} +1 -1
  550. package/dist/{useCountdownHover-CTM7QEJ-.mjs → useCountdownHover-t9O7DHoK.mjs} +2 -2
  551. package/dist/{useCountdownHover-CTM7QEJ-.mjs.map → useCountdownHover-t9O7DHoK.mjs.map} +1 -1
  552. package/dist/{useDateField-qsRHISMn.js → useDateField-COTiu3aN.js} +8 -321
  553. package/dist/useDateField-COTiu3aN.js.map +1 -0
  554. package/dist/{useDateField-PQjSLAVI.mjs → useDateField-DmmXa0_5.mjs} +5 -258
  555. package/dist/useDateField-DmmXa0_5.mjs.map +1 -0
  556. package/dist/{useDefaults-CCWS15M8.mjs → useDefaults-BKgBaqOV.mjs} +1 -1
  557. package/dist/{useDefaults-CCWS15M8.mjs.map → useDefaults-BKgBaqOV.mjs.map} +1 -1
  558. package/dist/{useDefaults-DK6Y9lar.js → useDefaults-DsLf4iRY.js} +1 -1
  559. package/dist/{useDefaults-DK6Y9lar.js.map → useDefaults-DsLf4iRY.js.map} +1 -1
  560. package/dist/{useFormCheck-TOhpqkZ9.mjs → useFormCheck-CJvIDxcO.mjs} +3 -3
  561. package/dist/{useFormCheck-TOhpqkZ9.mjs.map → useFormCheck-CJvIDxcO.mjs.map} +1 -1
  562. package/dist/{useFormCheck-DXM9Wj2i.js → useFormCheck-UHNy_iZ0.js} +3 -3
  563. package/dist/{useFormCheck-DXM9Wj2i.js.map → useFormCheck-UHNy_iZ0.js.map} +1 -1
  564. package/dist/{useFormInput-DeJGz9t9.mjs → useFormInput-BgJCT9k_.mjs} +6 -6
  565. package/dist/{useFormInput-DeJGz9t9.mjs.map → useFormInput-BgJCT9k_.mjs.map} +1 -1
  566. package/dist/{useFormInput-AX7ikSmn.js → useFormInput-CsR38QR6.js} +6 -6
  567. package/dist/{useFormInput-AX7ikSmn.js.map → useFormInput-CsR38QR6.js.map} +1 -1
  568. package/dist/useFormSelect-CANw3ZJG.mjs +45 -0
  569. package/dist/useFormSelect-CANw3ZJG.mjs.map +1 -0
  570. package/dist/useFormSelect-nQbGZSi8.js +51 -0
  571. package/dist/useFormSelect-nQbGZSi8.js.map +1 -0
  572. package/dist/useForwardExpose-4OUimdPL.mjs +68 -0
  573. package/dist/useForwardExpose-4OUimdPL.mjs.map +1 -0
  574. package/dist/useForwardExpose-DrJOy0jY.js +80 -0
  575. package/dist/useForwardExpose-DrJOy0jY.js.map +1 -0
  576. package/dist/{useId-CCwnEmGh.mjs → useId-BKZFSYm8.mjs} +1 -1
  577. package/dist/{useId-CCwnEmGh.mjs.map → useId-BKZFSYm8.mjs.map} +1 -1
  578. package/dist/{useId-DTrBK9CE.js → useId-DHrBgM7P.js} +1 -1
  579. package/dist/{useId-DTrBK9CE.js.map → useId-DHrBgM7P.js.map} +1 -1
  580. package/dist/useKbd-IZRktImL.mjs +88 -0
  581. package/dist/useKbd-IZRktImL.mjs.map +1 -0
  582. package/dist/useKbd-ZZushx7D.js +105 -0
  583. package/dist/useKbd-ZZushx7D.js.map +1 -0
  584. package/dist/{useNumberishToStyle-uj-NwKpF.mjs → useNumberishToStyle-DEqGK1UH.mjs} +2 -2
  585. package/dist/{useNumberishToStyle-uj-NwKpF.mjs.map → useNumberishToStyle-DEqGK1UH.mjs.map} +1 -1
  586. package/dist/{useNumberishToStyle-CluQ-WT4.js → useNumberishToStyle-DFf9fokb.js} +2 -2
  587. package/dist/{useNumberishToStyle-CluQ-WT4.js.map → useNumberishToStyle-DFf9fokb.js.map} +1 -1
  588. package/dist/{useRadiusElementClasses-CyDq8RO7.mjs → useRadiusElementClasses-BlrN-T6U.mjs} +1 -1
  589. package/dist/{useRadiusElementClasses-CyDq8RO7.mjs.map → useRadiusElementClasses-BlrN-T6U.mjs.map} +1 -1
  590. package/dist/{useRadiusElementClasses-D6FwziNh.js → useRadiusElementClasses-C13_PhPM.js} +1 -1
  591. package/dist/{useRadiusElementClasses-D6FwziNh.js.map → useRadiusElementClasses-C13_PhPM.js.map} +1 -1
  592. package/dist/{useRtl-BlPLBmTe.js → useRtl-DXAooTrl.js} +1 -1
  593. package/dist/{useRtl-BlPLBmTe.js.map → useRtl-DXAooTrl.js.map} +1 -1
  594. package/dist/{useRtl-DQ5v5L9s.mjs → useRtl-DpwU_RM8.mjs} +1 -1
  595. package/dist/{useRtl-DQ5v5L9s.mjs.map → useRtl-DpwU_RM8.mjs.map} +1 -1
  596. package/dist/{useSafeScrollLock-CP2B7aXF.js → useSafeScrollLock-Bm9RxDoY.js} +2 -2
  597. package/dist/{useSafeScrollLock-CP2B7aXF.js.map → useSafeScrollLock-Bm9RxDoY.js.map} +1 -1
  598. package/dist/{useSafeScrollLock-C9UxwgUo.mjs → useSafeScrollLock-D62o8jto.mjs} +2 -2
  599. package/dist/{useSafeScrollLock-C9UxwgUo.mjs.map → useSafeScrollLock-D62o8jto.mjs.map} +1 -1
  600. package/dist/{useShowHide-BFr32vgn.js → useShowHide-BTCaeU5j.js} +5 -5
  601. package/dist/useShowHide-BTCaeU5j.js.map +1 -0
  602. package/dist/{useShowHide-wBe7O9iE.mjs → useShowHide-yAK5dhPT.mjs} +5 -5
  603. package/dist/useShowHide-yAK5dhPT.mjs.map +1 -0
  604. package/dist/{useStateClass-Cnvy2Hnm.js → useStateClass-CJ24hpkn.js} +1 -1
  605. package/dist/{useStateClass-Cnvy2Hnm.js.map → useStateClass-CJ24hpkn.js.map} +1 -1
  606. package/dist/{useStateClass-DKjpw1Pn.mjs → useStateClass-CdmlbrGn.mjs} +1 -1
  607. package/dist/{useStateClass-DKjpw1Pn.mjs.map → useStateClass-CdmlbrGn.mjs.map} +1 -1
  608. package/dist/{utils-CY6CnVNO.js → utils-CaC78Zdk.js} +2 -2
  609. package/dist/{utils-CY6CnVNO.js.map → utils-CaC78Zdk.js.map} +1 -1
  610. package/dist/{utils-C-oJqlar.mjs → utils-CgwCsk6U.mjs} +2 -2
  611. package/dist/{utils-C-oJqlar.mjs.map → utils-CgwCsk6U.mjs.map} +1 -1
  612. package/package.json +9 -1
  613. package/src/components/BAutocomplete/_autocomplete.scss +136 -0
  614. package/src/components/BOtpInput/_otp-input.scss +29 -0
  615. package/src/styles/styles.scss +2 -0
  616. package/dist/BCarousel-BH6WIvJx.js.map +0 -1
  617. package/dist/BCarousel-C3CA_wGV.mjs.map +0 -1
  618. package/dist/BDatePicker-DPtAqGyV.mjs.map +0 -1
  619. package/dist/BDatePicker-rdtRZlra.js.map +0 -1
  620. package/dist/BDropdown-C2L69dLN.js.map +0 -1
  621. package/dist/BDropdown-CKnx6hUH.mjs.map +0 -1
  622. package/dist/BFormTags-Cobh04P9.mjs.map +0 -1
  623. package/dist/BFormTags-pK9i3cOB.js.map +0 -1
  624. package/dist/BInputGroup-B8fKBtip.mjs.map +0 -1
  625. package/dist/BInputGroup-Cr0qLUds.js.map +0 -1
  626. package/dist/BModal-TCXrZEZk.mjs.map +0 -1
  627. package/dist/BModal-d3FKaKhA.js.map +0 -1
  628. package/dist/BOffcanvas-BklEA-4x.mjs.map +0 -1
  629. package/dist/BOffcanvas-YsVap-9w.js.map +0 -1
  630. package/dist/BootstrapVueOptions-CVxLmDvx.js.map +0 -1
  631. package/dist/BootstrapVueOptions-Dtdn7_AJ.mjs.map +0 -1
  632. package/dist/functions-C6AToZGR.mjs.map +0 -1
  633. package/dist/functions-DCQKr6wc.js.map +0 -1
  634. package/dist/useDateField-PQjSLAVI.mjs.map +0 -1
  635. package/dist/useDateField-qsRHISMn.js.map +0 -1
  636. package/dist/useFormSelect-DCThI8EA.js +0 -92
  637. package/dist/useFormSelect-DCThI8EA.js.map +0 -1
  638. package/dist/useFormSelect-_-ln6FKQ.mjs +0 -80
  639. package/dist/useFormSelect-_-ln6FKQ.mjs.map +0 -1
  640. package/dist/useShowHide-BFr32vgn.js.map +0 -1
  641. package/dist/useShowHide-wBe7O9iE.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BFormInput-4vCGzAoO.js","names":[],"sources":["../src/components/BFormInput/BFormInput.vue","../src/components/BFormInput/BFormInput.vue"],"sourcesContent":["<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,QAAQ,oBAAA,YA3BC,SA2BmB,aAAY;EAE9C,MAAM,CAAC,YAAY,mBAAA,GAAA,IAAA,UAGlB,SAAA,cAAC,EAEA,MAAM,MAAM,qBAAA,eAAe,GAAG,eAAe,EAC9C,CAAA;EAED,MAAM,SAAA,GAAA,IAAA,gBAAuB,SAAQ;EAErC,MAAM,gBAAA,GAAA,IAAA,QAAsB,aAAA,eAAe,MAAK;EAEhD,MAAM,EACJ,YACA,qBACA,SACA,UACA,QACA,YACA,OACA,MACA,eACE,qBAAA,aAAa,OAAO,OAAO,YAAY,eAAc;EAEzD,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,MAAM,UAAU,MAAM,SAAS;GAC/B,MAAM,UAAU,MAAM,SAAS;AAC/B,UAAO,CACL,WAAW,OACX;IACE,cAAc;IACd,gBAAgB,WAAY,CAAC,MAAM,aAAa,CAAC,WAAa,WAAW;IACzE,sBAAsB;IACtB,0BAA0B,MAAM,aAAa,CAAC,WAAW,CAAC;KACzD,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM;IACzC,CACH;IACD;AAED,WAAa;GACX;GACA,SAAS;GACT,eAAe;GACf;GACD,CAAA;;4DApFG,SAAA;IArBC,KAAA,GAAA,IAAA,OAAI,WAAU;IACf,KAAI;IACH,QAAA,GAAA,IAAA,OAAO,WAAU;IACjB,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAe;IACtB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,QAAQ,KAAA;IACpB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,QAAQ,KAAA;IACpB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,WAAA,GAAA,IAAA,OAAU,WAAU;IACpB,cAAA,GAAA,IAAA,OAAa,MAAK,CAAC;IACnB,WAAA,GAAA,IAAA,OAAU,MAAK,CAAC,YAAY,KAAA;IAC5B,eAAA,GAAA,IAAA,OAAc,MAAK,CAAC,gBAAgB,KAAA;IACpC,WAAA,GAAA,IAAA,OAAU,MAAK,CAAC,aAAA,GAAA,IAAA,OAAY,MAAK,CAAC;IAClC,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC;IACX,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC;IACX,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,SAAI,cAAA,GAAA,IAAA,OAAkB,MAAK,CAAC,OAAO,KAAA;IAC/C,kBAAA,GAAA,IAAA,OAAe,MAAK,CAAC,YAAY,KAAA;IACjC,iBAAA,GAAA,IAAA,OAAc,oBAAmB;IACjC,SAAK,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,QAAA,KAAA,GAAA,IAAA,OAAA,QAAA,CAAA,GAAA,KAAO;IACd,UAAM,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,SAAA,KAAA,GAAA,IAAA,OAAA,SAAA,CAAA,GAAA,KAAQ;IAChB,QAAI,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,OAAA,KAAA,GAAA,IAAA,OAAA,OAAA,CAAA,GAAA,KAAM"}
1
+ {"version":3,"file":"BFormInput-BuRSGYdY.js","names":[],"sources":["../src/components/BFormInput/BFormInput.vue","../src/components/BFormInput/BFormInput.vue"],"sourcesContent":["<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,QAAQ,oBAAA,YA3BC,SA2BmB,aAAY;EAE9C,MAAM,CAAC,YAAY,mBAAA,GAAA,IAAA,UAGlB,SAAA,cAAC,EAEA,MAAM,MAAM,qBAAA,eAAe,GAAG,eAAe,EAC9C,CAAA;EAED,MAAM,SAAA,GAAA,IAAA,gBAAuB,SAAQ;EAErC,MAAM,gBAAA,GAAA,IAAA,QAAsB,aAAA,eAAe,MAAK;EAEhD,MAAM,EACJ,YACA,qBACA,SACA,UACA,QACA,YACA,OACA,MACA,eACE,qBAAA,aAAa,OAAO,OAAO,YAAY,eAAc;EAEzD,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,MAAM,UAAU,MAAM,SAAS;GAC/B,MAAM,UAAU,MAAM,SAAS;AAC/B,UAAO,CACL,WAAW,OACX;IACE,cAAc;IACd,gBAAgB,WAAY,CAAC,MAAM,aAAa,CAAC,WAAa,WAAW;IACzE,sBAAsB;IACtB,0BAA0B,MAAM,aAAa,CAAC,WAAW,CAAC;KACzD,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM;IACzC,CACH;IACD;AAED,WAAa;GACX;GACA,SAAS;GACT,eAAe;GACf;GACD,CAAA;;4DApFG,SAAA;IArBC,KAAA,GAAA,IAAA,OAAI,WAAU;IACf,KAAI;IACH,QAAA,GAAA,IAAA,OAAO,WAAU;IACjB,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAe;IACtB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,QAAQ,KAAA;IACpB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,QAAQ,KAAA;IACpB,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,WAAA,GAAA,IAAA,OAAU,WAAU;IACpB,cAAA,GAAA,IAAA,OAAa,MAAK,CAAC;IACnB,WAAA,GAAA,IAAA,OAAU,MAAK,CAAC,YAAY,KAAA;IAC5B,eAAA,GAAA,IAAA,OAAc,MAAK,CAAC,gBAAgB,KAAA;IACpC,WAAA,GAAA,IAAA,OAAU,MAAK,CAAC,aAAA,GAAA,IAAA,OAAY,MAAK,CAAC;IAClC,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC;IACX,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC;IACX,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,SAAI,cAAA,GAAA,IAAA,OAAkB,MAAK,CAAC,OAAO,KAAA;IAC/C,kBAAA,GAAA,IAAA,OAAe,MAAK,CAAC,YAAY,KAAA;IACjC,iBAAA,GAAA,IAAA,OAAc,oBAAmB;IACjC,SAAK,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,QAAA,KAAA,GAAA,IAAA,OAAA,QAAA,CAAA,GAAA,KAAO;IACd,UAAM,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,SAAA,KAAA,GAAA,IAAA,OAAA,SAAA,CAAA,GAAA,KAAQ;IAChB,QAAI,OAAA,OAAA,OAAA,MAAA,GAAA,UAAA,GAAA,IAAA,OAAE,OAAA,KAAA,GAAA,IAAA,OAAA,OAAA,CAAA,GAAA,KAAM"}
@@ -1,6 +1,6 @@
1
1
  import { p as inputGroupKey } from "./keys-CQKrwmvN.mjs";
2
- import { t as useDefaults } from "./useDefaults-CCWS15M8.mjs";
3
- import { n as normalizeInput, t as useFormInput } from "./useFormInput-DeJGz9t9.mjs";
2
+ import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
3
+ import { n as normalizeInput, t as useFormInput } from "./useFormInput-BgJCT9k_.mjs";
4
4
  import { computed, createElementBlock, defineComponent, inject, mergeModels, normalizeClass, openBlock, unref, useModel, useTemplateRef } from "vue";
5
5
  //#region src/components/BFormInput/BFormInput.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = [
@@ -133,4 +133,4 @@ var BFormInput_default = /* @__PURE__ */ defineComponent({
133
133
  //#endregion
134
134
  export { BFormInput_default as t };
135
135
 
136
- //# sourceMappingURL=BFormInput-DrZnHCLO.mjs.map
136
+ //# sourceMappingURL=BFormInput-Dg9dbwHp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BFormInput-DrZnHCLO.mjs","names":[],"sources":["../src/components/BFormInput/BFormInput.vue","../src/components/BFormInput/BFormInput.vue"],"sourcesContent":["<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,QAAQ,YA3BC,SA2BmB,aAAY;EAE9C,MAAM,CAAC,YAAY,kBAAkB,SAGpC,SAAA,cAAC,EAEA,MAAM,MAAM,eAAe,GAAG,eAAe,EAC9C,CAAA;EAED,MAAM,QAAQ,eAAe,SAAQ;EAErC,MAAM,eAAe,OAAO,eAAe,MAAK;EAEhD,MAAM,EACJ,YACA,qBACA,SACA,UACA,QACA,YACA,OACA,MACA,eACE,aAAa,OAAO,OAAO,YAAY,eAAc;EAEzD,MAAM,kBAAkB,eAAe;GACrC,MAAM,UAAU,MAAM,SAAS;GAC/B,MAAM,UAAU,MAAM,SAAS;AAC/B,UAAO,CACL,WAAW,OACX;IACE,cAAc;IACd,gBAAgB,WAAY,CAAC,MAAM,aAAa,CAAC,WAAa,WAAW;IACzE,sBAAsB;IACtB,0BAA0B,MAAM,aAAa,CAAC,WAAW,CAAC;KACzD,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM;IACzC,CACH;IACD;AAED,WAAa;GACX;GACA,SAAS;GACT,eAAe;GACf;GACD,CAAA;;uBA1GC,mBAsBE,SAAA;IArBC,IAAI,MAAA,WAAU;IACf,KAAI;IACH,OAAO,MAAA,WAAU;IACjB,OAAK,eAAE,gBAAA,MAAe;IACtB,MAAM,MAAA,MAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,MAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,MAAK,CAAC;IACZ,UAAU,MAAA,WAAU;IACpB,aAAa,MAAA,MAAK,CAAC;IACnB,UAAU,MAAA,MAAK,CAAC,YAAY,KAAA;IAC5B,cAAc,MAAA,MAAK,CAAC,gBAAgB,KAAA;IACpC,UAAU,MAAA,MAAK,CAAC,YAAY,MAAA,MAAK,CAAC;IAClC,KAAK,MAAA,MAAK,CAAC;IACX,KAAK,MAAA,MAAK,CAAC;IACX,MAAM,MAAA,MAAK,CAAC;IACZ,MAAM,MAAA,MAAK,CAAC,SAAI,aAAkB,MAAA,MAAK,CAAC,OAAO,KAAA;IAC/C,iBAAe,MAAA,MAAK,CAAC,YAAY,KAAA;IACjC,gBAAc,MAAA,oBAAmB;IACjC,SAAK,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,QAAA,IAAA,MAAA,QAAA,CAAA,GAAA,KAAO;IACd,UAAM,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,SAAA,IAAA,MAAA,SAAA,CAAA,GAAA,KAAQ;IAChB,QAAI,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,OAAA,IAAA,MAAA,OAAA,CAAA,GAAA,KAAM"}
1
+ {"version":3,"file":"BFormInput-Dg9dbwHp.mjs","names":[],"sources":["../src/components/BFormInput/BFormInput.vue","../src/components/BFormInput/BFormInput.vue"],"sourcesContent":["<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types/ComponentProps'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,QAAQ,YA3BC,SA2BmB,aAAY;EAE9C,MAAM,CAAC,YAAY,kBAAkB,SAGpC,SAAA,cAAC,EAEA,MAAM,MAAM,eAAe,GAAG,eAAe,EAC9C,CAAA;EAED,MAAM,QAAQ,eAAe,SAAQ;EAErC,MAAM,eAAe,OAAO,eAAe,MAAK;EAEhD,MAAM,EACJ,YACA,qBACA,SACA,UACA,QACA,YACA,OACA,MACA,eACE,aAAa,OAAO,OAAO,YAAY,eAAc;EAEzD,MAAM,kBAAkB,eAAe;GACrC,MAAM,UAAU,MAAM,SAAS;GAC/B,MAAM,UAAU,MAAM,SAAS;AAC/B,UAAO,CACL,WAAW,OACX;IACE,cAAc;IACd,gBAAgB,WAAY,CAAC,MAAM,aAAa,CAAC,WAAa,WAAW;IACzE,sBAAsB;IACtB,0BAA0B,MAAM,aAAa,CAAC,WAAW,CAAC;KACzD,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM;IACzC,CACH;IACD;AAED,WAAa;GACX;GACA,SAAS;GACT,eAAe;GACf;GACD,CAAA;;uBA1GC,mBAsBE,SAAA;IArBC,IAAI,MAAA,WAAU;IACf,KAAI;IACH,OAAO,MAAA,WAAU;IACjB,OAAK,eAAE,gBAAA,MAAe;IACtB,MAAM,MAAA,MAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,MAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,MAAK,CAAC;IACZ,UAAU,MAAA,WAAU;IACpB,aAAa,MAAA,MAAK,CAAC;IACnB,UAAU,MAAA,MAAK,CAAC,YAAY,KAAA;IAC5B,cAAc,MAAA,MAAK,CAAC,gBAAgB,KAAA;IACpC,UAAU,MAAA,MAAK,CAAC,YAAY,MAAA,MAAK,CAAC;IAClC,KAAK,MAAA,MAAK,CAAC;IACX,KAAK,MAAA,MAAK,CAAC;IACX,MAAM,MAAA,MAAK,CAAC;IACZ,MAAM,MAAA,MAAK,CAAC,SAAI,aAAkB,MAAA,MAAK,CAAC,OAAO,KAAA;IAC/C,iBAAe,MAAA,MAAK,CAAC,YAAY,KAAA;IACjC,gBAAc,MAAA,oBAAmB;IACjC,SAAK,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,QAAA,IAAA,MAAA,QAAA,CAAA,GAAA,KAAO;IACd,UAAM,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,SAAA,IAAA,MAAA,SAAA,CAAA,GAAA,KAAQ;IAChB,QAAI,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,OAAA,IAAA,MAAA,OAAA,CAAA,GAAA,KAAM"}
@@ -1,10 +1,10 @@
1
1
  import { d as formGroupKey, y as radioGroupKey } from "./keys-CQKrwmvN.mjs";
2
- import { h as useFocus } from "./dist-Dn5blevd.mjs";
2
+ import { h as useFocus } from "./dist-B10a-gZ8.mjs";
3
3
  import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
4
- import { t as useId$1 } from "./useId-CCwnEmGh.mjs";
5
- import { t as useDefaults } from "./useDefaults-CCWS15M8.mjs";
6
- import { t as ConditionalWrapper_default } from "./ConditionalWrapper-BR9CKZNU.mjs";
7
- import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-TOhpqkZ9.mjs";
4
+ import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
+ import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
+ import { t as ConditionalWrapper_default } from "./ConditionalWrapper-D9ovtbHB.mjs";
7
+ import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CJvIDxcO.mjs";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, provide, renderList, renderSlot, toDisplayString, toRef, unref, useModel, useSlots, useTemplateRef, vModelRadio, withCtx, withDirectives } from "vue";
9
9
  //#region src/components/BFormRadio/BFormRadio.vue?vue&type=script&setup=true&lang.ts
10
10
  var _hoisted_1$1 = [
@@ -414,4 +414,4 @@ var BFormRadioGroup_default = /* @__PURE__ */ defineComponent({
414
414
  //#endregion
415
415
  export { BFormRadio_default as n, BFormRadioGroup_default as t };
416
416
 
417
- //# sourceMappingURL=BFormRadio-BXpiJTsS.mjs.map
417
+ //# sourceMappingURL=BFormRadio-CRDbgMiR.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BFormRadio-BXpiJTsS.mjs","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BFormRadio-CRDbgMiR.mjs","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
2
  const require_keys = require("./keys-durSVUrO.js");
3
- const require_dist = require("./dist-B_c893QG.js");
3
+ const require_dist = require("./dist-BJ15ThEs.js");
4
4
  const require_dom = require("./dom-Bs6DzM72.js");
5
- const require_useId = require("./useId-DTrBK9CE.js");
6
- const require_useDefaults = require("./useDefaults-DK6Y9lar.js");
7
- const require_ConditionalWrapper = require("./ConditionalWrapper-ZqZKYsic.js");
8
- const require_useFormCheck = require("./useFormCheck-DXM9Wj2i.js");
5
+ const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
6
+ const require_useId = require("./useId-DHrBgM7P.js");
7
+ const require_ConditionalWrapper = require("./ConditionalWrapper-Cc7EIszd.js");
8
+ const require_useFormCheck = require("./useFormCheck-UHNy_iZ0.js");
9
9
  let vue = require("vue");
10
10
  //#region src/components/BFormRadio/BFormRadio.vue?vue&type=script&setup=true&lang.ts
11
11
  var _hoisted_1$1 = [
@@ -426,4 +426,4 @@ Object.defineProperty(exports, "BFormRadio_default", {
426
426
  }
427
427
  });
428
428
 
429
- //# sourceMappingURL=BFormRadio-BzHsRe9X.js.map
429
+ //# sourceMappingURL=BFormRadio-DuVYw-Vs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BFormRadio-BzHsRe9X.js","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BFormRadio-DuVYw-Vs.js","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { t as useId$1 } from "./useId-CCwnEmGh.mjs";
2
- import { t as useDefaults } from "./useDefaults-CCWS15M8.mjs";
3
- import { t as useRtl } from "./useRtl-DQ5v5L9s.mjs";
1
+ import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
2
+ import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
3
+ import { t as useRtl } from "./useRtl-DpwU_RM8.mjs";
4
4
  import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useModel } from "vue";
5
5
  //#region src/components/BFormRating/BFormRating.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = [
@@ -254,4 +254,4 @@ var BFormRating_default = /* @__PURE__ */ defineComponent({
254
254
  //#endregion
255
255
  export { BFormRating_default as t };
256
256
 
257
- //# sourceMappingURL=BFormRating-Cq94zurU.mjs.map
257
+ //# sourceMappingURL=BFormRating-Bb_ACp-9.mjs.map