bootstrap-vue-next 0.45.9 → 0.46.0

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 (913) hide show
  1. package/dist/App.vue.d.mts +2 -1
  2. package/dist/App.vue.d.ts +2 -1
  3. package/dist/{BAccordion-D51b9HVD.mjs → BAccordion-FuQ6sMFy.js} +33 -31
  4. package/dist/BAccordion-FuQ6sMFy.js.map +1 -0
  5. package/dist/{BAlert-Ce2uxrJi.mjs → BAlert-C9Mi4RDx.js} +20 -13
  6. package/dist/BAlert-C9Mi4RDx.js.map +1 -0
  7. package/dist/{BApp-B-fUrnpK.mjs → BApp-GXR1wS6K.js} +53 -51
  8. package/dist/BApp-GXR1wS6K.js.map +1 -0
  9. package/dist/{BAspect-wfiXM4KA.mjs → BAspect-BPR6DH5W.js} +2 -2
  10. package/dist/{BAspect-CUIU48Ck.js.map → BAspect-BPR6DH5W.js.map} +1 -1
  11. package/dist/{BAutocomplete-CH-bQzME.mjs → BAutocomplete-DGvKY7-D.js} +195 -101
  12. package/dist/BAutocomplete-DGvKY7-D.js.map +1 -0
  13. package/dist/{BAvatar-iALHbqVk.mjs → BAvatar-BsStQrBF.js} +13 -13
  14. package/dist/BAvatar-BsStQrBF.js.map +1 -0
  15. package/dist/{BBadge-Cx_CdauK.mjs → BBadge-BaZ13wE_.js} +5 -5
  16. package/dist/{BBadge-Db6SEnzy.js.map → BBadge-BaZ13wE_.js.map} +1 -1
  17. package/dist/{BBreadcrumb-BxADbg0O.mjs → BBreadcrumb-C-SsS3hM.js} +4 -4
  18. package/dist/{BBreadcrumb-B9ra7vg2.js.map → BBreadcrumb-C-SsS3hM.js.map} +1 -1
  19. package/dist/{BButton-BSa7LfL5.mjs → BButton-Cc2gd95Z.js} +5 -7
  20. package/dist/{BButton-DRRlzkyK.js.map → BButton-Cc2gd95Z.js.map} +1 -1
  21. package/dist/{BButton-PY7AANXJ.mjs → BButton-KZu5jczf.js} +9 -9
  22. package/dist/{BButton-aYtMnyHu.js.map → BButton-KZu5jczf.js.map} +1 -1
  23. package/dist/{BCard-BWoruisp.mjs → BCard-D2GEiXan.js} +2 -3
  24. package/dist/{BCard-Bh8RLMo_.js.map → BCard-D2GEiXan.js.map} +1 -1
  25. package/dist/{BCard-CHbKv2OR.mjs → BCard-nRj1JWtQ.js} +9 -9
  26. package/dist/{BCard-DwNYhVmg.js.map → BCard-nRj1JWtQ.js.map} +1 -1
  27. package/dist/{BCarousel-B6_bgQpl.mjs → BCarousel-DQgfW4DN.js} +11 -10
  28. package/dist/{BCarousel-2JB21Pcu.js.map → BCarousel-DQgfW4DN.js.map} +1 -1
  29. package/dist/{BCloseButton-CKTKr4PS.mjs → BCloseButton-B3-IdpNp.js} +2 -2
  30. package/dist/{BCloseButton-D42zHRLP.js.map → BCloseButton-B3-IdpNp.js.map} +1 -1
  31. package/dist/{BCol-B3VeEk9z.mjs → BCol-DiZFbqU5.js} +3 -3
  32. package/dist/{BCol-Ck9VydHj.js.map → BCol-DiZFbqU5.js.map} +1 -1
  33. package/dist/{BCollapse-kqhe4AmL.mjs → BCollapse-B9fnWSzA.js} +15 -9
  34. package/dist/BCollapse-B9fnWSzA.js.map +1 -0
  35. package/dist/{BContainer-ATfhaxTc.mjs → BContainer-D-bZVPwa.js} +2 -4
  36. package/dist/{BContainer-CcF6dgtI.js.map → BContainer-D-bZVPwa.js.map} +1 -1
  37. package/dist/{BDateField-CccP3H1R.mjs → BDateField-Bj-Jz7u4.js} +27 -22
  38. package/dist/BDateField-Bj-Jz7u4.js.map +1 -0
  39. package/dist/{BDatePicker-BnwnSkBg.mjs → BDatePicker-AVTYcVLy.js} +232 -148
  40. package/dist/BDatePicker-AVTYcVLy.js.map +1 -0
  41. package/dist/{BDropdown-B1DbvVzm.mjs → BDropdown-CnxUzs42.js} +55 -46
  42. package/dist/BDropdown-CnxUzs42.js.map +1 -0
  43. package/dist/{BDropdown-0E8x5kk6.mjs → BDropdown-D4VSJJxu.js} +5 -6
  44. package/dist/{BDropdown-DKCgBzYS.js.map → BDropdown-D4VSJJxu.js.map} +1 -1
  45. package/dist/{BForm-BVfW08s5.mjs → BForm-BOoX6AAr.js} +2 -2
  46. package/dist/{BForm-cnRpggt9.js.map → BForm-BOoX6AAr.js.map} +1 -1
  47. package/dist/{BForm-DJu2hDV_.mjs → BForm-C5PR2ust.js} +7 -8
  48. package/dist/{BForm-6JlWdQMO.js.map → BForm-C5PR2ust.js.map} +1 -1
  49. package/dist/{BFormCheckbox-Baf_9BSc.mjs → BFormCheckbox-BMhyR-J5.js} +12 -13
  50. package/dist/BFormCheckbox-BMhyR-J5.js.map +1 -0
  51. package/dist/{BFormFile-CZebm0Cp.mjs → BFormFile-BVrDprWL.js} +8 -8
  52. package/dist/{BFormFile-MISLntyJ.js.map → BFormFile-BVrDprWL.js.map} +1 -1
  53. package/dist/{BFormGroup-vysRPb99.mjs → BFormGroup-BE5tGz_g.js} +40 -24
  54. package/dist/BFormGroup-BE5tGz_g.js.map +1 -0
  55. package/dist/{BFormInput-sEfU3CuN.mjs → BFormInput-BwvdFGDu.js} +5 -5
  56. package/dist/{BFormInput-CBwwDjfC.js.map → BFormInput-BwvdFGDu.js.map} +1 -1
  57. package/dist/{BFormOtp-C8X3u1od.mjs → BFormOtp-I1t8dqPS.js} +63 -22
  58. package/dist/BFormOtp-I1t8dqPS.js.map +1 -0
  59. package/dist/{BFormRadio-COc_IbxC.mjs → BFormRadio-DRViMh6V.js} +24 -13
  60. package/dist/BFormRadio-DRViMh6V.js.map +1 -0
  61. package/dist/{BFormRating-CIgPVsH_.mjs → BFormRating-AEiF8K8T.js} +23 -17
  62. package/dist/BFormRating-AEiF8K8T.js.map +1 -0
  63. package/dist/{BFormSelect-P-InkOm-.mjs → BFormSelect-DdjH8482.js} +23 -12
  64. package/dist/BFormSelect-DdjH8482.js.map +1 -0
  65. package/dist/{BFormSelectOption-DFN4lPRh.mjs → BFormSelectOption-C8orMj24.js} +3 -3
  66. package/dist/{BFormSelectOption-DrwJucNf.js.map → BFormSelectOption-C8orMj24.js.map} +1 -1
  67. package/dist/{BFormSpinbutton-6qkTBF_4.mjs → BFormSpinbutton-Bt590uT6.js} +10 -9
  68. package/dist/{BFormSpinbutton-1gTz4nTo.js.map → BFormSpinbutton-Bt590uT6.js.map} +1 -1
  69. package/dist/{BFormTag-CnzI39y9.mjs → BFormTag-DGSUfz7A.js} +5 -5
  70. package/dist/{BFormTag-CeV0MSRC.js.map → BFormTag-DGSUfz7A.js.map} +1 -1
  71. package/dist/{BFormTags-BMltSaKL.mjs → BFormTags-CUcyRTCK.js} +23 -27
  72. package/dist/BFormTags-CUcyRTCK.js.map +1 -0
  73. package/dist/{BFormTextarea-DN1gAfSo.mjs → BFormTextarea-DlDe26DL.js} +6 -6
  74. package/dist/{BFormTextarea-C3Cj0DWj.js.map → BFormTextarea-DlDe26DL.js.map} +1 -1
  75. package/dist/{BFormValidFeedback-CBYxQLDz.mjs → BFormValidFeedback-ClqLRxtH.js} +4 -4
  76. package/dist/{BFormValidFeedback-Kwxh798d.js.map → BFormValidFeedback-ClqLRxtH.js.map} +1 -1
  77. package/dist/{BImg-QBS2ECBc.mjs → BImg-knz2UZQE.js} +5 -5
  78. package/dist/{BImg-JKJLgYYT.js.map → BImg-knz2UZQE.js.map} +1 -1
  79. package/dist/{BInputGroup-DiTSexkT.mjs → BInputGroup-Bjh7zXyI.js} +2 -3
  80. package/dist/{BInputGroup-D4fW324B.js.map → BInputGroup-Bjh7zXyI.js.map} +1 -1
  81. package/dist/{BInputGroup-X2Z53RJx.mjs → BInputGroup-DdoeSICR.js} +3 -3
  82. package/dist/{BInputGroup-Bvlfv6VD.js.map → BInputGroup-DdoeSICR.js.map} +1 -1
  83. package/dist/{BLink-Dfgte6dQ.mjs → BLink-mdwZsC7b.js} +5 -5
  84. package/dist/{BLink-kLEjleB1.js.map → BLink-mdwZsC7b.js.map} +1 -1
  85. package/dist/{BListGroup-DwTLpNiD.mjs → BListGroup-CQedMbI8.js} +4 -4
  86. package/dist/{BListGroup-C8JOzHTz.js.map → BListGroup-CQedMbI8.js.map} +1 -1
  87. package/dist/{BModal-C-ZCau2E.mjs → BModal-NPsCBNo7.js} +25 -18
  88. package/dist/BModal-NPsCBNo7.js.map +1 -0
  89. package/dist/{BNav-DfYvjfRK.mjs → BNav-CjXS9tQ5.js} +9 -9
  90. package/dist/{BNav-DCLambmM.js.map → BNav-CjXS9tQ5.js.map} +1 -1
  91. package/dist/{BNavbar-xYaikQVY.mjs → BNavbar-DRqkdxTk.js} +12 -9
  92. package/dist/{BNavbar-BLWaZJRP.js.map → BNavbar-DRqkdxTk.js.map} +1 -1
  93. package/dist/{BOffcanvas-CF-dWeez.mjs → BOffcanvas-BndaBJoP.js} +22 -16
  94. package/dist/BOffcanvas-BndaBJoP.js.map +1 -0
  95. package/dist/{BOverlay-Bh2PIN_q.mjs → BOverlay-CJfy_f6O.js} +6 -6
  96. package/dist/{BOverlay-Bh4ldxgt.js.map → BOverlay-CJfy_f6O.js.map} +1 -1
  97. package/dist/{BPagination-D75q-ZNg.mjs → BPagination-D_Hfk6OF.js} +29 -27
  98. package/dist/{BPagination-fbjFAtxu.js.map → BPagination-D_Hfk6OF.js.map} +1 -1
  99. package/dist/{BPlaceholder-DPQ6mCLN.mjs → BPlaceholder-DvOCnqDh.js} +11 -11
  100. package/dist/{BPlaceholder-B3rs_39w.js.map → BPlaceholder-DvOCnqDh.js.map} +1 -1
  101. package/dist/{BProgress-BZlrPYhA.mjs → BProgress-BNxYppi-.js} +5 -5
  102. package/dist/{BProgress-th0-eZWo.js.map → BProgress-BNxYppi-.js.map} +1 -1
  103. package/dist/{BRow-eGSUYGCW.mjs → BRow-CoBI89xF.js} +4 -4
  104. package/dist/{BRow-7AOuFiSy.js.map → BRow-CoBI89xF.js.map} +1 -1
  105. package/dist/{BSpinner-CUfGqviV.mjs → BSpinner-H1DZOmiM.js} +4 -4
  106. package/dist/{BSpinner-DbYIp-C7.js.map → BSpinner-H1DZOmiM.js.map} +1 -1
  107. package/dist/{BTable-DUHxxWv5.mjs → BTable-BZxX17YU.js} +40 -33
  108. package/dist/BTable-BZxX17YU.js.map +1 -0
  109. package/dist/{BTableSimple-C-jn9Nwh.mjs → BTableSimple-2Z7ssnuG.js} +5 -5
  110. package/dist/{BTableSimple-BkdGAAKb.js.map → BTableSimple-2Z7ssnuG.js.map} +1 -1
  111. package/dist/{BTabs-D_vWlBjT.mjs → BTabs-BVcu9DPg.js} +19 -17
  112. package/dist/{BTabs-CvecFg5N.js.map → BTabs-BVcu9DPg.js.map} +1 -1
  113. package/dist/{BTimeField-BSDaZogC.mjs → BTimeField-CbRGjaI6.js} +24 -19
  114. package/dist/BTimeField-CbRGjaI6.js.map +1 -0
  115. package/dist/{BToast-Y8BayxES.mjs → BToast-Di9HwBOV.js} +21 -14
  116. package/dist/BToast-Di9HwBOV.js.map +1 -0
  117. package/dist/{BTooltip-CVP8HdkU.mjs → BTooltip-BxaUtV4m.js} +5 -5
  118. package/dist/{BTooltip-DPLYtaL1.js.map → BTooltip-BxaUtV4m.js.map} +1 -1
  119. package/dist/{BootstrapVueOptions-Dt1TQdih.mjs → BootstrapVueOptions-DH79gHKG.js} +1 -4
  120. package/dist/BootstrapVueOptions-DH79gHKG.js.map +1 -0
  121. package/dist/{ConditionalTeleport-B4KYZIM6.mjs → ConditionalTeleport-BCKPLEun.js} +1 -1
  122. package/dist/{ConditionalTeleport-BDWcebyD.js.map → ConditionalTeleport-BCKPLEun.js.map} +1 -1
  123. package/dist/{ConditionalWrapper-Dbc_O6qe.mjs → ConditionalWrapper-CCIk52zt.js} +1 -1
  124. package/dist/{ConditionalWrapper-DZH_VSwb.js.map → ConditionalWrapper-CCIk52zt.js.map} +1 -1
  125. package/dist/{DateRangeFieldInput-B86VEz0H.mjs → DateRangeFieldInput-Cbzjg8iF.js} +45 -22
  126. package/dist/DateRangeFieldInput-Cbzjg8iF.js.map +1 -0
  127. package/dist/{PopperContent-DmSgsjSC.mjs → PopperContent-C9eeL6LH.js} +395 -100
  128. package/dist/PopperContent-C9eeL6LH.js.map +1 -0
  129. package/dist/{VisuallyHidden-C4sXnc-k.mjs → VisuallyHidden-BYzyjJiY.js} +23 -15
  130. package/dist/VisuallyHidden-BYzyjJiY.js.map +1 -0
  131. package/dist/{VisuallyHiddenInput-DKIzxsQR.mjs → VisuallyHiddenInput-CUrc8XXa.js} +46 -7
  132. package/dist/VisuallyHiddenInput-CUrc8XXa.js.map +1 -0
  133. package/dist/bootstrap-vue-next.mjs +65 -65
  134. package/dist/{classes-B0E5Y78Y.mjs → classes-BEWWGbj5.js} +1 -1
  135. package/dist/{classes-D5wrmmVs.js.map → classes-BEWWGbj5.js.map} +1 -1
  136. package/dist/components/BAccordion/BAccordion.vue.d.mts +9 -13
  137. package/dist/components/BAccordion/BAccordion.vue.d.ts +9 -13
  138. package/dist/components/BAccordion/BAccordionItem.vue.d.mts +16 -24
  139. package/dist/components/BAccordion/BAccordionItem.vue.d.ts +16 -24
  140. package/dist/components/BAlert/BAlert.vue.d.mts +26 -34
  141. package/dist/components/BAlert/BAlert.vue.d.ts +26 -34
  142. package/dist/components/BApp/BApp.vue.d.mts +8 -12
  143. package/dist/components/BApp/BApp.vue.d.ts +8 -12
  144. package/dist/components/BApp/BOrchestrator.vue.d.mts +2 -1
  145. package/dist/components/BApp/BOrchestrator.vue.d.ts +2 -1
  146. package/dist/components/BAspect/BAspect.vue.d.mts +5 -10
  147. package/dist/components/BAspect/BAspect.vue.d.ts +5 -10
  148. package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +12 -270
  149. package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +12 -270
  150. package/dist/components/BAvatar/BAvatar.vue.d.mts +20 -25
  151. package/dist/components/BAvatar/BAvatar.vue.d.ts +20 -25
  152. package/dist/components/BAvatar/BAvatarGroup.vue.d.mts +8 -13
  153. package/dist/components/BAvatar/BAvatarGroup.vue.d.ts +8 -13
  154. package/dist/components/BBadge/BBadge.vue.d.mts +13 -18
  155. package/dist/components/BBadge/BBadge.vue.d.ts +13 -18
  156. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.mts +6 -11
  157. package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.ts +6 -11
  158. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.mts +13 -18
  159. package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.ts +13 -18
  160. package/dist/components/BButton/BButton.vue.d.mts +17 -25
  161. package/dist/components/BButton/BButton.vue.d.ts +17 -25
  162. package/dist/components/BButton/BButtonGroup.vue.d.mts +5 -10
  163. package/dist/components/BButton/BButtonGroup.vue.d.ts +5 -10
  164. package/dist/components/BButton/BButtonToolbar.vue.d.mts +7 -16
  165. package/dist/components/BButton/BButtonToolbar.vue.d.ts +7 -16
  166. package/dist/components/BButton/BCloseButton.vue.d.mts +4 -3
  167. package/dist/components/BButton/BCloseButton.vue.d.ts +4 -3
  168. package/dist/components/BCard/BCard.vue.d.mts +21 -26
  169. package/dist/components/BCard/BCard.vue.d.ts +21 -26
  170. package/dist/components/BCard/BCardBody.vue.d.mts +9 -14
  171. package/dist/components/BCard/BCardBody.vue.d.ts +9 -14
  172. package/dist/components/BCard/BCardFooter.vue.d.mts +7 -11
  173. package/dist/components/BCard/BCardFooter.vue.d.ts +7 -11
  174. package/dist/components/BCard/BCardGroup.vue.d.mts +5 -10
  175. package/dist/components/BCard/BCardGroup.vue.d.ts +5 -10
  176. package/dist/components/BCard/BCardHeader.vue.d.mts +7 -12
  177. package/dist/components/BCard/BCardHeader.vue.d.ts +7 -12
  178. package/dist/components/BCard/BCardImg.vue.d.mts +7 -6
  179. package/dist/components/BCard/BCardImg.vue.d.ts +7 -6
  180. package/dist/components/BCard/BCardSubtitle.vue.d.mts +6 -11
  181. package/dist/components/BCard/BCardSubtitle.vue.d.ts +6 -11
  182. package/dist/components/BCard/BCardText.vue.d.mts +5 -10
  183. package/dist/components/BCard/BCardText.vue.d.ts +5 -10
  184. package/dist/components/BCard/BCardTitle.vue.d.mts +5 -10
  185. package/dist/components/BCard/BCardTitle.vue.d.ts +5 -10
  186. package/dist/components/BCardHeadFoot.vue.d.mts +6 -11
  187. package/dist/components/BCardHeadFoot.vue.d.ts +6 -11
  188. package/dist/components/BCarousel/BCarousel.vue.d.mts +12 -24
  189. package/dist/components/BCarousel/BCarousel.vue.d.ts +12 -24
  190. package/dist/components/BCarousel/BCarouselSlide.vue.d.mts +7 -12
  191. package/dist/components/BCarousel/BCarouselSlide.vue.d.ts +7 -12
  192. package/dist/components/BCollapse/BCollapse.vue.d.mts +13 -21
  193. package/dist/components/BCollapse/BCollapse.vue.d.ts +13 -21
  194. package/dist/components/BContainer/BCol.vue.d.mts +8 -13
  195. package/dist/components/BContainer/BCol.vue.d.ts +8 -13
  196. package/dist/components/BContainer/BContainer.vue.d.mts +5 -10
  197. package/dist/components/BContainer/BContainer.vue.d.ts +5 -10
  198. package/dist/components/BContainer/BRow.vue.d.mts +6 -11
  199. package/dist/components/BContainer/BRow.vue.d.ts +6 -11
  200. package/dist/components/BDateField/BDateField.vue.d.mts +8 -12
  201. package/dist/components/BDateField/BDateField.vue.d.ts +8 -12
  202. package/dist/components/BDateField/BDateRangeField.vue.d.mts +8 -12
  203. package/dist/components/BDateField/BDateRangeField.vue.d.ts +8 -12
  204. package/dist/components/BDateField/BTimeRangeField.vue.d.mts +9 -13
  205. package/dist/components/BDateField/BTimeRangeField.vue.d.ts +9 -13
  206. package/dist/components/BDatePicker/BDatePicker.vue.d.mts +9 -13
  207. package/dist/components/BDatePicker/BDatePicker.vue.d.ts +9 -13
  208. package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +9 -13
  209. package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +9 -13
  210. package/dist/components/BDropdown/BDropdown.vue.d.mts +24 -957
  211. package/dist/components/BDropdown/BDropdown.vue.d.ts +24 -957
  212. package/dist/components/BDropdown/BDropdownDivider.vue.d.mts +3 -2
  213. package/dist/components/BDropdown/BDropdownDivider.vue.d.ts +3 -2
  214. package/dist/components/BDropdown/BDropdownForm.vue.d.mts +6 -11
  215. package/dist/components/BDropdown/BDropdownForm.vue.d.ts +6 -11
  216. package/dist/components/BDropdown/BDropdownGroup.vue.d.mts +5 -10
  217. package/dist/components/BDropdown/BDropdownGroup.vue.d.ts +5 -10
  218. package/dist/components/BDropdown/BDropdownHeader.vue.d.mts +7 -12
  219. package/dist/components/BDropdown/BDropdownHeader.vue.d.ts +7 -12
  220. package/dist/components/BDropdown/BDropdownItem.vue.d.mts +12 -17
  221. package/dist/components/BDropdown/BDropdownItem.vue.d.ts +12 -17
  222. package/dist/components/BDropdown/BDropdownItemButton.vue.d.mts +6 -11
  223. package/dist/components/BDropdown/BDropdownItemButton.vue.d.ts +6 -11
  224. package/dist/components/BDropdown/BDropdownText.vue.d.mts +6 -11
  225. package/dist/components/BDropdown/BDropdownText.vue.d.ts +6 -11
  226. package/dist/components/BForm/BForm.vue.d.mts +8 -17
  227. package/dist/components/BForm/BForm.vue.d.ts +8 -17
  228. package/dist/components/BForm/BFormDatalist.vue.d.mts +12 -7
  229. package/dist/components/BForm/BFormDatalist.vue.d.ts +12 -7
  230. package/dist/components/BForm/BFormDatalistBase.vue.d.mts +20 -22
  231. package/dist/components/BForm/BFormDatalistBase.vue.d.ts +20 -22
  232. package/dist/components/BForm/BFormFloatingLabel.vue.d.mts +6 -11
  233. package/dist/components/BForm/BFormFloatingLabel.vue.d.ts +6 -11
  234. package/dist/components/BForm/BFormInvalidFeedback.vue.d.mts +6 -11
  235. package/dist/components/BForm/BFormInvalidFeedback.vue.d.ts +6 -11
  236. package/dist/components/BForm/BFormRow.vue.d.mts +5 -10
  237. package/dist/components/BForm/BFormRow.vue.d.ts +5 -10
  238. package/dist/components/BForm/BFormText.vue.d.mts +6 -11
  239. package/dist/components/BForm/BFormText.vue.d.ts +6 -11
  240. package/dist/components/BForm/BFormValidFeedback.vue.d.mts +6 -11
  241. package/dist/components/BForm/BFormValidFeedback.vue.d.ts +6 -11
  242. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +14 -22
  243. package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +14 -22
  244. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.mts +16 -11
  245. package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.ts +16 -11
  246. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.mts +22 -27
  247. package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.ts +22 -27
  248. package/dist/components/BFormFile/BFormFile.vue.d.mts +9 -25
  249. package/dist/components/BFormFile/BFormFile.vue.d.ts +9 -25
  250. package/dist/components/BFormGroup/BFormGroup.vue.d.mts +14 -23
  251. package/dist/components/BFormGroup/BFormGroup.vue.d.ts +14 -23
  252. package/dist/components/BFormGroupContent.vue.d.mts +8 -17
  253. package/dist/components/BFormGroupContent.vue.d.ts +8 -17
  254. package/dist/components/BFormGroupLabel.vue.d.mts +6 -13
  255. package/dist/components/BFormGroupLabel.vue.d.ts +6 -13
  256. package/dist/components/BFormInput/BFormInput.vue.d.mts +10 -10
  257. package/dist/components/BFormInput/BFormInput.vue.d.ts +10 -10
  258. package/dist/components/BFormOtp/BFormOtp.vue.d.mts +7 -5
  259. package/dist/components/BFormOtp/BFormOtp.vue.d.ts +7 -5
  260. package/dist/components/BFormRadio/BFormRadio.vue.d.mts +13 -21
  261. package/dist/components/BFormRadio/BFormRadio.vue.d.ts +13 -21
  262. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.mts +21 -14
  263. package/dist/components/BFormRadio/BFormRadioGroup.vue.d.ts +21 -14
  264. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.mts +14 -22
  265. package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.ts +14 -22
  266. package/dist/components/BFormRating/BFormRating.vue.d.mts +10 -12
  267. package/dist/components/BFormRating/BFormRating.vue.d.ts +10 -12
  268. package/dist/components/BFormSelect/BFormSelect.vue.d.mts +16 -11
  269. package/dist/components/BFormSelect/BFormSelect.vue.d.ts +16 -11
  270. package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +24 -29
  271. package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +24 -29
  272. package/dist/components/BFormSelect/BFormSelectOption.vue.d.mts +12 -7
  273. package/dist/components/BFormSelect/BFormSelectOption.vue.d.ts +12 -7
  274. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.mts +12 -7
  275. package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.ts +12 -7
  276. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.mts +11 -12
  277. package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.ts +11 -12
  278. package/dist/components/BFormTags/BFormTag.vue.d.mts +7 -12
  279. package/dist/components/BFormTags/BFormTag.vue.d.ts +7 -12
  280. package/dist/components/BFormTags/BFormTags.vue.d.mts +12 -20
  281. package/dist/components/BFormTags/BFormTags.vue.d.ts +12 -20
  282. package/dist/components/BFormTextarea/BFormTextarea.vue.d.mts +12 -12
  283. package/dist/components/BFormTextarea/BFormTextarea.vue.d.ts +12 -12
  284. package/dist/components/BImg/BImg.vue.d.mts +7 -6
  285. package/dist/components/BImg/BImg.vue.d.ts +7 -6
  286. package/dist/components/BInputGroup/BInputGroup.vue.d.mts +5 -10
  287. package/dist/components/BInputGroup/BInputGroup.vue.d.ts +5 -10
  288. package/dist/components/BInputGroup/BInputGroupText.vue.d.mts +5 -10
  289. package/dist/components/BInputGroup/BInputGroupText.vue.d.ts +5 -10
  290. package/dist/components/BLink/BLink.vue.d.mts +12 -17
  291. package/dist/components/BLink/BLink.vue.d.ts +12 -17
  292. package/dist/components/BListGroup/BListGroup.vue.d.mts +5 -10
  293. package/dist/components/BListGroup/BListGroup.vue.d.ts +5 -10
  294. package/dist/components/BListGroup/BListGroupItem.vue.d.mts +13 -18
  295. package/dist/components/BListGroup/BListGroupItem.vue.d.ts +13 -18
  296. package/dist/components/BModal/BModal.vue.d.mts +47 -1026
  297. package/dist/components/BModal/BModal.vue.d.ts +47 -1026
  298. package/dist/components/BNav/BNav.vue.d.mts +7 -12
  299. package/dist/components/BNav/BNav.vue.d.ts +7 -12
  300. package/dist/components/BNav/BNavForm.vue.d.mts +8 -13
  301. package/dist/components/BNav/BNavForm.vue.d.ts +8 -13
  302. package/dist/components/BNav/BNavItem.vue.d.mts +12 -17
  303. package/dist/components/BNav/BNavItem.vue.d.ts +12 -17
  304. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +20 -1660
  305. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +20 -1660
  306. package/dist/components/BNav/BNavText.vue.d.mts +6 -11
  307. package/dist/components/BNav/BNavText.vue.d.ts +6 -11
  308. package/dist/components/BNavbar/BNavbar.vue.d.mts +6 -11
  309. package/dist/components/BNavbar/BNavbar.vue.d.ts +6 -11
  310. package/dist/components/BNavbar/BNavbarBrand.vue.d.mts +11 -16
  311. package/dist/components/BNavbar/BNavbarBrand.vue.d.ts +11 -16
  312. package/dist/components/BNavbar/BNavbarNav.vue.d.mts +7 -12
  313. package/dist/components/BNavbar/BNavbarNav.vue.d.ts +7 -12
  314. package/dist/components/BNavbar/BNavbarToggle.vue.d.mts +7 -12
  315. package/dist/components/BNavbar/BNavbarToggle.vue.d.ts +7 -12
  316. package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +28 -82
  317. package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +28 -82
  318. package/dist/components/BOverlay/BOverlay.vue.d.mts +17 -22
  319. package/dist/components/BOverlay/BOverlay.vue.d.ts +17 -22
  320. package/dist/components/BPagination/BPagination.vue.d.mts +9 -10
  321. package/dist/components/BPagination/BPagination.vue.d.ts +9 -10
  322. package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +3 -2
  323. package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +3 -2
  324. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +3 -2
  325. package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +3 -2
  326. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.mts +8 -13
  327. package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.ts +8 -13
  328. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.mts +8 -13
  329. package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.ts +8 -13
  330. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.mts +5 -10
  331. package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.ts +5 -10
  332. package/dist/components/BPopover/BPopover.vue.d.mts +35 -49
  333. package/dist/components/BPopover/BPopover.vue.d.ts +35 -49
  334. package/dist/components/BProgress/BProgress.vue.d.mts +10 -15
  335. package/dist/components/BProgress/BProgress.vue.d.ts +10 -15
  336. package/dist/components/BProgress/BProgressBar.vue.d.mts +9 -14
  337. package/dist/components/BProgress/BProgressBar.vue.d.ts +9 -14
  338. package/dist/components/BSpinner/BSpinner.vue.d.mts +7 -12
  339. package/dist/components/BSpinner/BSpinner.vue.d.ts +7 -12
  340. package/dist/components/BTable/BTable.vue.d.mts +35 -30
  341. package/dist/components/BTable/BTable.vue.d.ts +35 -30
  342. package/dist/components/BTable/BTableLite.vue.d.mts +24 -19
  343. package/dist/components/BTable/BTableLite.vue.d.ts +24 -19
  344. package/dist/components/BTable/BTableSimple.vue.d.mts +9 -14
  345. package/dist/components/BTable/BTableSimple.vue.d.ts +9 -14
  346. package/dist/components/BTable/BTbody.vue.d.mts +6 -11
  347. package/dist/components/BTable/BTbody.vue.d.ts +6 -11
  348. package/dist/components/BTable/BTd.vue.d.mts +6 -11
  349. package/dist/components/BTable/BTd.vue.d.ts +6 -11
  350. package/dist/components/BTable/BTfoot.vue.d.mts +6 -11
  351. package/dist/components/BTable/BTfoot.vue.d.ts +6 -11
  352. package/dist/components/BTable/BTh.vue.d.mts +6 -11
  353. package/dist/components/BTable/BTh.vue.d.ts +6 -11
  354. package/dist/components/BTable/BThead.vue.d.mts +6 -11
  355. package/dist/components/BTable/BThead.vue.d.ts +6 -11
  356. package/dist/components/BTable/BTr.vue.d.mts +6 -11
  357. package/dist/components/BTable/BTr.vue.d.ts +6 -11
  358. package/dist/components/BTabs/BTab.vue.d.mts +10 -18
  359. package/dist/components/BTabs/BTab.vue.d.ts +10 -18
  360. package/dist/components/BTabs/BTabs.vue.d.mts +10 -14
  361. package/dist/components/BTabs/BTabs.vue.d.ts +10 -14
  362. package/dist/components/BTabsTabContent.vue.d.mts +7 -15
  363. package/dist/components/BTabsTabContent.vue.d.ts +7 -15
  364. package/dist/components/BTimeField/BTimeField.vue.d.mts +8 -12
  365. package/dist/components/BTimeField/BTimeField.vue.d.ts +8 -12
  366. package/dist/components/BToast/BToast.vue.d.mts +25 -33
  367. package/dist/components/BToast/BToast.vue.d.ts +25 -33
  368. package/dist/components/BTooltip/BTooltip.vue.d.mts +32 -732
  369. package/dist/components/BTooltip/BTooltip.vue.d.ts +32 -732
  370. package/dist/components/ConditionalTeleport.vue.d.mts +3 -2
  371. package/dist/components/ConditionalTeleport.vue.d.ts +3 -2
  372. package/dist/components/ConditionalWrapper.vue.d.mts +3 -2
  373. package/dist/components/ConditionalWrapper.vue.d.ts +3 -2
  374. package/dist/composables/index.d.mts +3 -3
  375. package/dist/composables/index.d.ts +3 -3
  376. package/dist/composables/orchestratorShared/index.d.mts +25 -14
  377. package/dist/composables/orchestratorShared/index.d.ts +25 -14
  378. package/dist/composables/useBLinkHelper.d.mts +1 -1
  379. package/dist/composables/useBLinkHelper.d.ts +1 -1
  380. package/dist/composables/useModal/index.d.mts +8 -33
  381. package/dist/composables/useModal/index.d.ts +8 -33
  382. package/dist/composables/usePopover/index.d.mts +332 -4532
  383. package/dist/composables/usePopover/index.d.ts +332 -4532
  384. package/dist/composables/useShowHide.d.mts +21 -15
  385. package/dist/composables/useShowHide.d.ts +21 -15
  386. package/dist/composables/useToast/index.d.mts +7 -18
  387. package/dist/composables/useToast/index.d.ts +7 -18
  388. package/dist/console-DaUCJgpk.js +15 -0
  389. package/dist/console-DaUCJgpk.js.map +1 -0
  390. package/dist/{constants-Ba9iJn2H.mjs → constants-Cap5sNf8.js} +1 -1
  391. package/dist/{constants-BLIvvaat.js.map → constants-Cap5sNf8.js.map} +1 -1
  392. package/dist/{debounce-DHxNfjan.mjs → debounce-Xj7wsAmR.js} +2 -2
  393. package/dist/{debounce-D6kifS6w.js.map → debounce-Xj7wsAmR.js.map} +1 -1
  394. package/dist/{dist-Dk9C_HFS.mjs → dist-9-XTMhb-.js} +5 -539
  395. package/dist/dist-9-XTMhb-.js.map +1 -0
  396. package/dist/dist-B-regXAP.js +123 -0
  397. package/dist/dist-B-regXAP.js.map +1 -0
  398. package/dist/dist-DKc2ivHS.js +411 -0
  399. package/dist/dist-DKc2ivHS.js.map +1 -0
  400. package/dist/{dom-AhkaSoh8.mjs → dom-BdUQrX99.js} +3 -2
  401. package/dist/dom-BdUQrX99.js.map +1 -0
  402. package/dist/{flattenFragments-ClbLQGqR.mjs → flattenFragments-B15oMVs-.js} +1 -1
  403. package/dist/{flattenFragments-C1WWqm25.js.map → flattenFragments-B15oMVs-.js.map} +1 -1
  404. package/dist/{floating-ui.vue-CH2o_mZU.mjs → floating-ui.dom-C7UZexJK.js} +114 -338
  405. package/dist/floating-ui.dom-C7UZexJK.js.map +1 -0
  406. package/dist/{floatingUi-62aeQtAb.mjs → floatingUi-BlKoACvc.js} +194 -27
  407. package/dist/floatingUi-BlKoACvc.js.map +1 -0
  408. package/dist/{functions-BcMenQqL.mjs → functions-BUZ1y9RA.js} +1 -1
  409. package/dist/functions-BUZ1y9RA.js.map +1 -0
  410. package/dist/{getClasses-COokMI60.mjs → getClasses-BlbbSJNl.js} +1 -1
  411. package/dist/{getClasses-8P0iBind.js.map → getClasses-BlbbSJNl.js.map} +1 -1
  412. package/dist/{getElement-D2Jr1cbp.mjs → getElement-uvhh1lgL.js} +2 -2
  413. package/dist/{getElement-DWGFJn0w.js.map → getElement-uvhh1lgL.js.map} +1 -1
  414. package/dist/{keys-DU7sQgl3.mjs → keys-BgLwJbLV.js} +1 -1
  415. package/dist/keys-BgLwJbLV.js.map +1 -0
  416. package/dist/{object-CHQkkner.mjs → object-C7YmCGEm.js} +10 -6
  417. package/dist/object-C7YmCGEm.js.map +1 -0
  418. package/dist/{registryAccess-BkJDdh-3.mjs → registryAccess-YFj5ZD5T.js} +1 -1
  419. package/dist/{registryAccess-B9QDQwV8.js.map → registryAccess-YFj5ZD5T.js.map} +1 -1
  420. package/dist/src/components/BAccordion/index.mjs +1 -1
  421. package/dist/src/components/BAlert/index.mjs +1 -1
  422. package/dist/src/components/BApp/index.mjs +1 -1
  423. package/dist/src/components/BAspect/index.mjs +1 -1
  424. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  425. package/dist/src/components/BAvatar/index.mjs +1 -1
  426. package/dist/src/components/BBadge/index.mjs +1 -1
  427. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  428. package/dist/src/components/BButton/index.mjs +3 -3
  429. package/dist/src/components/BCard/index.mjs +2 -2
  430. package/dist/src/components/BCarousel/index.mjs +1 -1
  431. package/dist/src/components/BCol/index.mjs +1 -1
  432. package/dist/src/components/BCollapse/index.mjs +1 -1
  433. package/dist/src/components/BContainer/index.mjs +3 -3
  434. package/dist/src/components/BDateField/index.mjs +1 -1
  435. package/dist/src/components/BDatePicker/index.mjs +1 -1
  436. package/dist/src/components/BDropdown/index.mjs +2 -2
  437. package/dist/src/components/BForm/index.mjs +3 -3
  438. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  439. package/dist/src/components/BFormFile/index.mjs +1 -1
  440. package/dist/src/components/BFormGroup/index.mjs +1 -1
  441. package/dist/src/components/BFormInput/index.mjs +1 -1
  442. package/dist/src/components/BFormOtp/index.mjs +1 -1
  443. package/dist/src/components/BFormRadio/index.mjs +1 -1
  444. package/dist/src/components/BFormRating/index.mjs +1 -1
  445. package/dist/src/components/BFormSelect/index.mjs +2 -2
  446. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  447. package/dist/src/components/BFormTags/index.mjs +2 -2
  448. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  449. package/dist/src/components/BImg/index.mjs +1 -1
  450. package/dist/src/components/BInputGroup/index.mjs +2 -2
  451. package/dist/src/components/BLink/index.mjs +1 -1
  452. package/dist/src/components/BListGroup/index.mjs +1 -1
  453. package/dist/src/components/BModal/index.mjs +1 -1
  454. package/dist/src/components/BNav/index.mjs +1 -1
  455. package/dist/src/components/BNavbar/index.mjs +1 -1
  456. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  457. package/dist/src/components/BOverlay/index.mjs +1 -1
  458. package/dist/src/components/BPagination/index.mjs +1 -1
  459. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  460. package/dist/src/components/BPopover/index.mjs +1 -1
  461. package/dist/src/components/BProgress/index.mjs +1 -1
  462. package/dist/src/components/BRow/index.mjs +1 -1
  463. package/dist/src/components/BSpinner/index.mjs +1 -1
  464. package/dist/src/components/BTable/index.mjs +2 -2
  465. package/dist/src/components/BTabs/index.mjs +1 -1
  466. package/dist/src/components/BTimeField/index.mjs +1 -1
  467. package/dist/src/components/BToast/index.mjs +1 -1
  468. package/dist/src/components/BTooltip/index.mjs +1 -1
  469. package/dist/src/components/index.mjs +60 -68
  470. package/dist/src/composables/index.mjs +5 -8
  471. package/dist/src/composables/index.mjs.map +1 -1
  472. package/dist/src/composables/orchestratorShared/index.mjs +79 -82
  473. package/dist/src/composables/orchestratorShared/index.mjs.map +1 -1
  474. package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
  475. package/dist/src/composables/useBreadcrumb/index.mjs.map +1 -1
  476. package/dist/src/composables/useColorMode/index.mjs +2 -2
  477. package/dist/src/composables/useColorMode/index.mjs.map +1 -1
  478. package/dist/src/composables/useModal/index.mjs +65 -64
  479. package/dist/src/composables/useModal/index.mjs.map +1 -1
  480. package/dist/src/composables/usePopover/index.mjs +51 -68
  481. package/dist/src/composables/usePopover/index.mjs.map +1 -1
  482. package/dist/src/composables/useProvideDefaults/index.mjs +4 -3
  483. package/dist/src/composables/useProvideDefaults/index.mjs.map +1 -1
  484. package/dist/src/composables/useRegistry/index.mjs +5 -3
  485. package/dist/src/composables/useRegistry/index.mjs.map +1 -1
  486. package/dist/src/composables/useScrollLock/index.mjs +2 -1
  487. package/dist/src/composables/useScrollLock/index.mjs.map +1 -1
  488. package/dist/src/composables/useScrollspy/index.mjs +16 -13
  489. package/dist/src/composables/useScrollspy/index.mjs.map +1 -1
  490. package/dist/src/composables/useToast/index.mjs +45 -66
  491. package/dist/src/composables/useToast/index.mjs.map +1 -1
  492. package/dist/src/composables/useToggle/index.mjs +5 -3
  493. package/dist/src/composables/useToggle/index.mjs.map +1 -1
  494. package/dist/src/directives/BColorMode/index.mjs.map +1 -1
  495. package/dist/src/directives/BPopover/index.mjs +2 -2
  496. package/dist/src/directives/BPopover/index.mjs.map +1 -1
  497. package/dist/src/directives/BScrollspy/index.mjs +3 -3
  498. package/dist/src/directives/BScrollspy/index.mjs.map +1 -1
  499. package/dist/src/directives/BToggle/index.mjs +8 -6
  500. package/dist/src/directives/BToggle/index.mjs.map +1 -1
  501. package/dist/src/directives/BTooltip/index.mjs +2 -2
  502. package/dist/src/directives/BTooltip/index.mjs.map +1 -1
  503. package/dist/src/directives/index.mjs +1 -2
  504. package/dist/src/plugins/createBootstrap/index.mjs +1 -1
  505. package/dist/src/plugins/createBootstrap/index.mjs.map +1 -1
  506. package/dist/src/plugins/index.mjs +1 -1
  507. package/dist/src/plugins/orchestrator/index.mjs +1 -1
  508. package/dist/src/plugins/orchestrator/index.mjs.map +1 -1
  509. package/dist/src/plugins/registry/index.mjs +1 -1
  510. package/dist/src/plugins/registry/index.mjs.map +1 -1
  511. package/dist/src/plugins/rtl/index.mjs +1 -1
  512. package/dist/src/plugins/rtl/index.mjs.map +1 -1
  513. package/dist/src/resolvers/index.mjs +2 -2
  514. package/dist/src/resolvers/index.mjs.map +1 -1
  515. package/dist/src/types/index.mjs +2 -2
  516. package/dist/src/utils/index.mjs +2 -2
  517. package/dist/{stringUtils-D4eEDlt1.mjs → stringUtils-CVySsg3y.js} +2 -2
  518. package/dist/{stringUtils-68ZN_GRt.js.map → stringUtils-CVySsg3y.js.map} +1 -1
  519. package/dist/types/BootstrapVueOptions.d.mts +1 -4
  520. package/dist/types/BootstrapVueOptions.d.ts +1 -4
  521. package/dist/types/ComponentOrchestratorTypes.d.mts +62 -186
  522. package/dist/types/ComponentOrchestratorTypes.d.ts +62 -186
  523. package/dist/types/ComponentProps.d.mts +2 -0
  524. package/dist/types/ComponentProps.d.ts +2 -0
  525. package/dist/types/ComponentSlots.d.mts +1 -1
  526. package/dist/types/ComponentSlots.d.ts +1 -1
  527. package/dist/{useAlignment-DuR8ymKI.mjs → useAlignment-DaP-psIh.js} +1 -1
  528. package/dist/{useAlignment-oKolnDpb.js.map → useAlignment-DaP-psIh.js.map} +1 -1
  529. package/dist/{useAriaInvalid-apOwgexm.mjs → useAriaInvalid-CRUhkD2V.js} +1 -1
  530. package/dist/{useAriaInvalid-CHHPHNLU.js.map → useAriaInvalid-CRUhkD2V.js.map} +1 -1
  531. package/dist/{useColorVariantClasses-CqeXHjRh.mjs → useColorVariantClasses-DHQvLjek.js} +1 -1
  532. package/dist/{useColorVariantClasses-Dq0sOYDL.js.map → useColorVariantClasses-DHQvLjek.js.map} +1 -1
  533. package/dist/{useCountdownHover-C3NXiAaF.mjs → useCountdownHover-BN8vJIQW.js} +4 -3
  534. package/dist/{useCountdownHover-DbVhE-N0.js.map → useCountdownHover-BN8vJIQW.js.map} +1 -1
  535. package/dist/{useDateField-CJKgollJ.mjs → useDateField-CQZb799C.js} +680 -627
  536. package/dist/useDateField-CQZb799C.js.map +1 -0
  537. package/dist/{useDefaults-DseelK6y.mjs → useDefaults-BzP4qZBu.js} +2 -2
  538. package/dist/{useDefaults-C0CYry78.js.map → useDefaults-BzP4qZBu.js.map} +1 -1
  539. package/dist/{useFormCheck-BKXrwS3g.mjs → useFormCheck-fArncQY5.js} +3 -3
  540. package/dist/{useFormCheck-DYjLG4WA.js.map → useFormCheck-fArncQY5.js.map} +1 -1
  541. package/dist/{useFormInput-CXl8rpD0.mjs → useFormInput-DZ_3ZH1o.js} +8 -7
  542. package/dist/{useFormInput-ip9hN2AU.js.map → useFormInput-DZ_3ZH1o.js.map} +1 -1
  543. package/dist/{useFormSelect-BM0rsjni.mjs → useFormSelect-CwS8YuiQ.js} +3 -3
  544. package/dist/{useFormSelect-ClmzGzOy.js.map → useFormSelect-CwS8YuiQ.js.map} +1 -1
  545. package/dist/{useForwardExpose-Cob6LlGd.mjs → useForwardExpose-DDvk7mir.js} +5 -13
  546. package/dist/useForwardExpose-DDvk7mir.js.map +1 -0
  547. package/dist/{useId-D1sqXtwx.mjs → useId-Fh-Arhb7.js} +2 -2
  548. package/dist/{useId-BkAY2oh6.js.map → useId-Fh-Arhb7.js.map} +1 -1
  549. package/dist/{useKbd-DfmgFov6.mjs → useKbd-DRsaFU_f.js} +6 -18
  550. package/dist/useKbd-DRsaFU_f.js.map +1 -0
  551. package/dist/{useNumberishToStyle-DgS1slD3.mjs → useNumberishToStyle-DCnYcI6A.js} +2 -2
  552. package/dist/{useNumberishToStyle-BtMa0R27.js.map → useNumberishToStyle-DCnYcI6A.js.map} +1 -1
  553. package/dist/{useRadiusElementClasses-BW832F7F.mjs → useRadiusElementClasses-CKCJjpkK.js} +1 -1
  554. package/dist/{useRadiusElementClasses-DWiUVgex.js.map → useRadiusElementClasses-CKCJjpkK.js.map} +1 -1
  555. package/dist/{useRtl-CGoXBxNo.mjs → useRtl-FeLayV4k.js} +3 -3
  556. package/dist/{useRtl-BSgvbs5F.js.map → useRtl-FeLayV4k.js.map} +1 -1
  557. package/dist/{useSafeScrollLock-Me5LyqjD.mjs → useSafeScrollLock-PVgSASYu.js} +136 -216
  558. package/dist/useSafeScrollLock-PVgSASYu.js.map +1 -0
  559. package/dist/{useShowHide-CBFt1_EW.mjs → useShowHide-C95Y9EKL.js} +15 -14
  560. package/dist/useShowHide-C95Y9EKL.js.map +1 -0
  561. package/dist/{useStateClass-DxlL_m2E.mjs → useStateClass-BF7kf2zK.js} +1 -1
  562. package/dist/{useStateClass-CXK3nCg9.js.map → useStateClass-BF7kf2zK.js.map} +1 -1
  563. package/dist/utils/console.d.mts +2 -0
  564. package/dist/utils/console.d.ts +2 -0
  565. package/dist/utils/keys.d.mts +12 -4
  566. package/dist/utils/keys.d.ts +12 -4
  567. package/dist/{utils-CWvndqPg.mjs → utils-nRGGHA_i.js} +14 -10
  568. package/dist/utils-nRGGHA_i.js.map +1 -0
  569. package/package.json +65 -136
  570. package/dist/BAccordion-D51b9HVD.mjs.map +0 -1
  571. package/dist/BAccordion-DYmuqZIG.js +0 -360
  572. package/dist/BAccordion-DYmuqZIG.js.map +0 -1
  573. package/dist/BAlert-Ce2uxrJi.mjs.map +0 -1
  574. package/dist/BAlert-croEtrQu.js +0 -297
  575. package/dist/BAlert-croEtrQu.js.map +0 -1
  576. package/dist/BApp-B-fUrnpK.mjs.map +0 -1
  577. package/dist/BApp-DOvEe1jo.js +0 -181
  578. package/dist/BApp-DOvEe1jo.js.map +0 -1
  579. package/dist/BAspect-CUIU48Ck.js +0 -50
  580. package/dist/BAspect-wfiXM4KA.mjs.map +0 -1
  581. package/dist/BAutocomplete-CH-bQzME.mjs.map +0 -1
  582. package/dist/BAutocomplete-DLDFAV5_.js +0 -2402
  583. package/dist/BAutocomplete-DLDFAV5_.js.map +0 -1
  584. package/dist/BAvatar-FGK0dK0x.js +0 -386
  585. package/dist/BAvatar-FGK0dK0x.js.map +0 -1
  586. package/dist/BAvatar-iALHbqVk.mjs.map +0 -1
  587. package/dist/BBadge-Cx_CdauK.mjs.map +0 -1
  588. package/dist/BBadge-Db6SEnzy.js +0 -145
  589. package/dist/BBreadcrumb-B9ra7vg2.js +0 -166
  590. package/dist/BBreadcrumb-BxADbg0O.mjs.map +0 -1
  591. package/dist/BButton-BSa7LfL5.mjs.map +0 -1
  592. package/dist/BButton-DRRlzkyK.js +0 -156
  593. package/dist/BButton-PY7AANXJ.mjs.map +0 -1
  594. package/dist/BButton-aYtMnyHu.js +0 -190
  595. package/dist/BCard-BWoruisp.mjs.map +0 -1
  596. package/dist/BCard-Bh8RLMo_.js +0 -52
  597. package/dist/BCard-CHbKv2OR.mjs.map +0 -1
  598. package/dist/BCard-DwNYhVmg.js +0 -444
  599. package/dist/BCarousel-2JB21Pcu.js +0 -427
  600. package/dist/BCarousel-B6_bgQpl.mjs.map +0 -1
  601. package/dist/BCloseButton-CKTKr4PS.mjs.map +0 -1
  602. package/dist/BCloseButton-D42zHRLP.js +0 -45
  603. package/dist/BCol-B3VeEk9z.mjs.map +0 -1
  604. package/dist/BCol-Ck9VydHj.js +0 -140
  605. package/dist/BCollapse-CDLYLSZo.js +0 -183
  606. package/dist/BCollapse-CDLYLSZo.js.map +0 -1
  607. package/dist/BCollapse-kqhe4AmL.mjs.map +0 -1
  608. package/dist/BContainer-ATfhaxTc.mjs.map +0 -1
  609. package/dist/BContainer-CcF6dgtI.js +0 -44
  610. package/dist/BDateField-CccP3H1R.mjs.map +0 -1
  611. package/dist/BDateField-DzZw5FRX.js +0 -919
  612. package/dist/BDateField-DzZw5FRX.js.map +0 -1
  613. package/dist/BDatePicker-BDkzkOcm.js +0 -5138
  614. package/dist/BDatePicker-BDkzkOcm.js.map +0 -1
  615. package/dist/BDatePicker-BnwnSkBg.mjs.map +0 -1
  616. package/dist/BDropdown-0E8x5kk6.mjs.map +0 -1
  617. package/dist/BDropdown-B1DbvVzm.mjs.map +0 -1
  618. package/dist/BDropdown-BPFtkX3p.js +0 -403
  619. package/dist/BDropdown-BPFtkX3p.js.map +0 -1
  620. package/dist/BDropdown-DKCgBzYS.js +0 -415
  621. package/dist/BForm-6JlWdQMO.js +0 -126
  622. package/dist/BForm-BVfW08s5.mjs.map +0 -1
  623. package/dist/BForm-DJu2hDV_.mjs.map +0 -1
  624. package/dist/BForm-cnRpggt9.js +0 -51
  625. package/dist/BFormCheckbox-Baf_9BSc.mjs.map +0 -1
  626. package/dist/BFormCheckbox-D5ySHMJ8.js +0 -489
  627. package/dist/BFormCheckbox-D5ySHMJ8.js.map +0 -1
  628. package/dist/BFormFile-CZebm0Cp.mjs.map +0 -1
  629. package/dist/BFormFile-MISLntyJ.js +0 -423
  630. package/dist/BFormGroup-Bk1t-D1N.js +0 -490
  631. package/dist/BFormGroup-Bk1t-D1N.js.map +0 -1
  632. package/dist/BFormGroup-vysRPb99.mjs.map +0 -1
  633. package/dist/BFormInput-CBwwDjfC.js +0 -142
  634. package/dist/BFormInput-sEfU3CuN.mjs.map +0 -1
  635. package/dist/BFormOtp-C8X3u1od.mjs.map +0 -1
  636. package/dist/BFormOtp-CLrQJRPe.js +0 -542
  637. package/dist/BFormOtp-CLrQJRPe.js.map +0 -1
  638. package/dist/BFormRadio-B2yu-o2v.js +0 -432
  639. package/dist/BFormRadio-B2yu-o2v.js.map +0 -1
  640. package/dist/BFormRadio-COc_IbxC.mjs.map +0 -1
  641. package/dist/BFormRating-CIgPVsH_.mjs.map +0 -1
  642. package/dist/BFormRating-CSdRxN5z.js +0 -263
  643. package/dist/BFormRating-CSdRxN5z.js.map +0 -1
  644. package/dist/BFormSelect-CI92Dv27.js +0 -310
  645. package/dist/BFormSelect-CI92Dv27.js.map +0 -1
  646. package/dist/BFormSelect-P-InkOm-.mjs.map +0 -1
  647. package/dist/BFormSelectOption-DFN4lPRh.mjs.map +0 -1
  648. package/dist/BFormSelectOption-DrwJucNf.js +0 -46
  649. package/dist/BFormSpinbutton-1gTz4nTo.js +0 -447
  650. package/dist/BFormSpinbutton-6qkTBF_4.mjs.map +0 -1
  651. package/dist/BFormTag-CeV0MSRC.js +0 -86
  652. package/dist/BFormTag-CnzI39y9.mjs.map +0 -1
  653. package/dist/BFormTags-BMltSaKL.mjs.map +0 -1
  654. package/dist/BFormTags-BhO60uiL.js +0 -427
  655. package/dist/BFormTags-BhO60uiL.js.map +0 -1
  656. package/dist/BFormTextarea-C3Cj0DWj.js +0 -203
  657. package/dist/BFormTextarea-DN1gAfSo.mjs.map +0 -1
  658. package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +0 -1
  659. package/dist/BFormValidFeedback-Kwxh798d.js +0 -223
  660. package/dist/BImg-JKJLgYYT.js +0 -168
  661. package/dist/BImg-QBS2ECBc.mjs.map +0 -1
  662. package/dist/BInputGroup-Bvlfv6VD.js +0 -55
  663. package/dist/BInputGroup-D4fW324B.js +0 -31
  664. package/dist/BInputGroup-DiTSexkT.mjs.map +0 -1
  665. package/dist/BInputGroup-X2Z53RJx.mjs.map +0 -1
  666. package/dist/BLink-Dfgte6dQ.mjs.map +0 -1
  667. package/dist/BLink-kLEjleB1.js +0 -276
  668. package/dist/BListGroup-C8JOzHTz.js +0 -167
  669. package/dist/BListGroup-DwTLpNiD.mjs.map +0 -1
  670. package/dist/BModal-C-ZCau2E.mjs.map +0 -1
  671. package/dist/BModal-VstTwEq9.js +0 -521
  672. package/dist/BModal-VstTwEq9.js.map +0 -1
  673. package/dist/BNav-DCLambmM.js +0 -453
  674. package/dist/BNav-DfYvjfRK.mjs.map +0 -1
  675. package/dist/BNavbar-BLWaZJRP.js +0 -245
  676. package/dist/BNavbar-xYaikQVY.mjs.map +0 -1
  677. package/dist/BOffcanvas-C7HenFW0.js +0 -331
  678. package/dist/BOffcanvas-C7HenFW0.js.map +0 -1
  679. package/dist/BOffcanvas-CF-dWeez.mjs.map +0 -1
  680. package/dist/BOverlay-Bh2PIN_q.mjs.map +0 -1
  681. package/dist/BOverlay-Bh4ldxgt.js +0 -203
  682. package/dist/BPagination-D75q-ZNg.mjs.map +0 -1
  683. package/dist/BPagination-fbjFAtxu.js +0 -446
  684. package/dist/BPlaceholder-B3rs_39w.js +0 -326
  685. package/dist/BPlaceholder-DPQ6mCLN.mjs.map +0 -1
  686. package/dist/BProgress-BZlrPYhA.mjs.map +0 -1
  687. package/dist/BProgress-th0-eZWo.js +0 -147
  688. package/dist/BRow-7AOuFiSy.js +0 -70
  689. package/dist/BRow-eGSUYGCW.mjs.map +0 -1
  690. package/dist/BSpinner-CUfGqviV.mjs.map +0 -1
  691. package/dist/BSpinner-DbYIp-C7.js +0 -60
  692. package/dist/BTable-BCWW00u_.js +0 -1903
  693. package/dist/BTable-BCWW00u_.js.map +0 -1
  694. package/dist/BTable-DUHxxWv5.mjs.map +0 -1
  695. package/dist/BTableSimple-BkdGAAKb.js +0 -137
  696. package/dist/BTableSimple-C-jn9Nwh.mjs.map +0 -1
  697. package/dist/BTabs-CvecFg5N.js +0 -607
  698. package/dist/BTabs-D_vWlBjT.mjs.map +0 -1
  699. package/dist/BTimeField-BSDaZogC.mjs.map +0 -1
  700. package/dist/BTimeField-BT5HXecp.js +0 -517
  701. package/dist/BTimeField-BT5HXecp.js.map +0 -1
  702. package/dist/BToast-DR0pek4W.js +0 -308
  703. package/dist/BToast-DR0pek4W.js.map +0 -1
  704. package/dist/BToast-Y8BayxES.mjs.map +0 -1
  705. package/dist/BTooltip-CVP8HdkU.mjs.map +0 -1
  706. package/dist/BTooltip-DPLYtaL1.js +0 -213
  707. package/dist/BootstrapVueOptions-DeViqxoD.js +0 -179
  708. package/dist/BootstrapVueOptions-DeViqxoD.js.map +0 -1
  709. package/dist/BootstrapVueOptions-Dt1TQdih.mjs.map +0 -1
  710. package/dist/ConditionalTeleport-B4KYZIM6.mjs.map +0 -1
  711. package/dist/ConditionalTeleport-BDWcebyD.js +0 -34
  712. package/dist/ConditionalWrapper-DZH_VSwb.js +0 -31
  713. package/dist/ConditionalWrapper-Dbc_O6qe.mjs.map +0 -1
  714. package/dist/DateRangeFieldInput-B86VEz0H.mjs.map +0 -1
  715. package/dist/DateRangeFieldInput-HvvI2You.js +0 -762
  716. package/dist/DateRangeFieldInput-HvvI2You.js.map +0 -1
  717. package/dist/PopperContent-BS_eKjzD.js +0 -1515
  718. package/dist/PopperContent-BS_eKjzD.js.map +0 -1
  719. package/dist/PopperContent-DmSgsjSC.mjs.map +0 -1
  720. package/dist/VisuallyHidden-C4sXnc-k.mjs.map +0 -1
  721. package/dist/VisuallyHidden-Cx0phlXT.js +0 -222
  722. package/dist/VisuallyHidden-Cx0phlXT.js.map +0 -1
  723. package/dist/VisuallyHiddenInput-BNrInt6d.js +0 -147
  724. package/dist/VisuallyHiddenInput-BNrInt6d.js.map +0 -1
  725. package/dist/VisuallyHiddenInput-DKIzxsQR.mjs.map +0 -1
  726. package/dist/bootstrap-vue-next.umd.js +0 -275
  727. package/dist/chunk-CoQrYLCe.js +0 -50
  728. package/dist/classes-B0E5Y78Y.mjs.map +0 -1
  729. package/dist/classes-D5wrmmVs.js +0 -92
  730. package/dist/constants-BLIvvaat.js +0 -123
  731. package/dist/constants-Ba9iJn2H.mjs.map +0 -1
  732. package/dist/debounce-D6kifS6w.js +0 -88
  733. package/dist/debounce-DHxNfjan.mjs.map +0 -1
  734. package/dist/dist-DiXKLh_W.js +0 -2064
  735. package/dist/dist-DiXKLh_W.js.map +0 -1
  736. package/dist/dist-Dk9C_HFS.mjs.map +0 -1
  737. package/dist/dom-AhkaSoh8.mjs.map +0 -1
  738. package/dist/dom-Bs6DzM72.js +0 -98
  739. package/dist/dom-Bs6DzM72.js.map +0 -1
  740. package/dist/flattenFragments-C1WWqm25.js +0 -18
  741. package/dist/flattenFragments-ClbLQGqR.mjs.map +0 -1
  742. package/dist/floating-ui.vue-CH2o_mZU.mjs.map +0 -1
  743. package/dist/floating-ui.vue-DDOIU2nS.js +0 -1773
  744. package/dist/floating-ui.vue-DDOIU2nS.js.map +0 -1
  745. package/dist/floatingUi-62aeQtAb.mjs.map +0 -1
  746. package/dist/floatingUi-DQ5bHmy3.js +0 -598
  747. package/dist/floatingUi-DQ5bHmy3.js.map +0 -1
  748. package/dist/functions-BcMenQqL.mjs.map +0 -1
  749. package/dist/functions-Bx1HDqMv.js +0 -11
  750. package/dist/functions-Bx1HDqMv.js.map +0 -1
  751. package/dist/getClasses-8P0iBind.js +0 -19
  752. package/dist/getClasses-COokMI60.mjs.map +0 -1
  753. package/dist/getElement-D2Jr1cbp.mjs.map +0 -1
  754. package/dist/getElement-DWGFJn0w.js +0 -19
  755. package/dist/keys-BMye8nSf.js +0 -187
  756. package/dist/keys-BMye8nSf.js.map +0 -1
  757. package/dist/keys-DU7sQgl3.mjs.map +0 -1
  758. package/dist/object-BN7QwMcz.js +0 -140
  759. package/dist/object-BN7QwMcz.js.map +0 -1
  760. package/dist/object-CHQkkner.mjs.map +0 -1
  761. package/dist/registryAccess-B9QDQwV8.js +0 -39
  762. package/dist/registryAccess-BkJDdh-3.mjs.map +0 -1
  763. package/dist/src/components/BAccordion/index.umd.js +0 -4
  764. package/dist/src/components/BAlert/index.umd.js +0 -3
  765. package/dist/src/components/BApp/index.umd.js +0 -4
  766. package/dist/src/components/BAspect/index.umd.js +0 -3
  767. package/dist/src/components/BAutocomplete/index.umd.js +0 -3
  768. package/dist/src/components/BAvatar/index.umd.js +0 -4
  769. package/dist/src/components/BBadge/index.umd.js +0 -3
  770. package/dist/src/components/BBreadcrumb/index.umd.js +0 -4
  771. package/dist/src/components/BButton/index.umd.js +0 -8
  772. package/dist/src/components/BCard/index.umd.js +0 -12
  773. package/dist/src/components/BCarousel/index.umd.js +0 -4
  774. package/dist/src/components/BCol/index.umd.js +0 -3
  775. package/dist/src/components/BCollapse/index.umd.js +0 -3
  776. package/dist/src/components/BContainer/index.umd.js +0 -7
  777. package/dist/src/components/BDateField/index.umd.js +0 -5
  778. package/dist/src/components/BDatePicker/index.umd.js +0 -4
  779. package/dist/src/components/BDropdown/index.umd.js +0 -11
  780. package/dist/src/components/BForm/index.umd.js +0 -11
  781. package/dist/src/components/BFormCheckbox/index.umd.js +0 -4
  782. package/dist/src/components/BFormFile/index.umd.js +0 -3
  783. package/dist/src/components/BFormGroup/index.umd.js +0 -3
  784. package/dist/src/components/BFormInput/index.umd.js +0 -4
  785. package/dist/src/components/BFormOtp/index.umd.js +0 -3
  786. package/dist/src/components/BFormRadio/index.umd.js +0 -4
  787. package/dist/src/components/BFormRating/index.umd.js +0 -3
  788. package/dist/src/components/BFormSelect/index.umd.js +0 -6
  789. package/dist/src/components/BFormSpinbutton/index.umd.js +0 -3
  790. package/dist/src/components/BFormTags/index.umd.js +0 -5
  791. package/dist/src/components/BFormTextarea/index.umd.js +0 -3
  792. package/dist/src/components/BImg/index.umd.js +0 -3
  793. package/dist/src/components/BInputGroup/index.umd.js +0 -5
  794. package/dist/src/components/BLink/index.umd.js +0 -3
  795. package/dist/src/components/BListGroup/index.umd.js +0 -4
  796. package/dist/src/components/BModal/index.umd.js +0 -3
  797. package/dist/src/components/BNav/index.umd.js +0 -7
  798. package/dist/src/components/BNavbar/index.umd.js +0 -6
  799. package/dist/src/components/BOffcanvas/index.umd.js +0 -3
  800. package/dist/src/components/BOverlay/index.umd.js +0 -3
  801. package/dist/src/components/BPagination/index.umd.js +0 -3
  802. package/dist/src/components/BPlaceholder/index.umd.js +0 -7
  803. package/dist/src/components/BPopover/index.umd.js +0 -3
  804. package/dist/src/components/BProgress/index.umd.js +0 -4
  805. package/dist/src/components/BRow/index.umd.js +0 -3
  806. package/dist/src/components/BSpinner/index.umd.js +0 -3
  807. package/dist/src/components/BTable/index.umd.js +0 -12
  808. package/dist/src/components/BTabs/index.umd.js +0 -4
  809. package/dist/src/components/BTimeField/index.umd.js +0 -3
  810. package/dist/src/components/BToast/index.umd.js +0 -3
  811. package/dist/src/components/BTooltip/index.umd.js +0 -3
  812. package/dist/src/components/index.umd.js +0 -301
  813. package/dist/src/components/index.umd.js.map +0 -1
  814. package/dist/src/composables/index.umd.js +0 -53
  815. package/dist/src/composables/index.umd.js.map +0 -1
  816. package/dist/src/composables/orchestratorShared/index.umd.js +0 -114
  817. package/dist/src/composables/orchestratorShared/index.umd.js.map +0 -1
  818. package/dist/src/composables/useBreadcrumb/index.umd.js +0 -37
  819. package/dist/src/composables/useBreadcrumb/index.umd.js.map +0 -1
  820. package/dist/src/composables/useColorMode/index.umd.js +0 -18
  821. package/dist/src/composables/useColorMode/index.umd.js.map +0 -1
  822. package/dist/src/composables/useModal/index.umd.js +0 -176
  823. package/dist/src/composables/useModal/index.umd.js.map +0 -1
  824. package/dist/src/composables/usePopover/index.umd.js +0 -90
  825. package/dist/src/composables/usePopover/index.umd.js.map +0 -1
  826. package/dist/src/composables/useProvideDefaults/index.umd.js +0 -42
  827. package/dist/src/composables/useProvideDefaults/index.umd.js.map +0 -1
  828. package/dist/src/composables/useRegistry/index.umd.js +0 -135
  829. package/dist/src/composables/useRegistry/index.umd.js.map +0 -1
  830. package/dist/src/composables/useScrollLock/index.umd.js +0 -8
  831. package/dist/src/composables/useScrollLock/index.umd.js.map +0 -1
  832. package/dist/src/composables/useScrollspy/index.umd.js +0 -144
  833. package/dist/src/composables/useScrollspy/index.umd.js.map +0 -1
  834. package/dist/src/composables/useToast/index.umd.js +0 -90
  835. package/dist/src/composables/useToast/index.umd.js.map +0 -1
  836. package/dist/src/composables/useToggle/index.umd.js +0 -34
  837. package/dist/src/composables/useToggle/index.umd.js.map +0 -1
  838. package/dist/src/directives/BColorMode/index.umd.js +0 -15
  839. package/dist/src/directives/BColorMode/index.umd.js.map +0 -1
  840. package/dist/src/directives/BModal/index.umd.js +0 -3
  841. package/dist/src/directives/BPopover/index.umd.js +0 -14
  842. package/dist/src/directives/BPopover/index.umd.js.map +0 -1
  843. package/dist/src/directives/BScrollspy/index.umd.js +0 -35
  844. package/dist/src/directives/BScrollspy/index.umd.js.map +0 -1
  845. package/dist/src/directives/BToggle/index.umd.js +0 -77
  846. package/dist/src/directives/BToggle/index.umd.js.map +0 -1
  847. package/dist/src/directives/BTooltip/index.umd.js +0 -16
  848. package/dist/src/directives/BTooltip/index.umd.js.map +0 -1
  849. package/dist/src/directives/index.umd.js +0 -32
  850. package/dist/src/directives/index.umd.js.map +0 -1
  851. package/dist/src/plugins/createBootstrap/index.umd.js +0 -19
  852. package/dist/src/plugins/createBootstrap/index.umd.js.map +0 -1
  853. package/dist/src/plugins/index.umd.js +0 -26
  854. package/dist/src/plugins/index.umd.js.map +0 -1
  855. package/dist/src/plugins/orchestrator/index.umd.js +0 -13
  856. package/dist/src/plugins/orchestrator/index.umd.js.map +0 -1
  857. package/dist/src/plugins/registry/index.umd.js +0 -62
  858. package/dist/src/plugins/registry/index.umd.js.map +0 -1
  859. package/dist/src/plugins/rtl/index.umd.js +0 -21
  860. package/dist/src/plugins/rtl/index.umd.js.map +0 -1
  861. package/dist/src/resolvers/index.umd.js +0 -94
  862. package/dist/src/resolvers/index.umd.js.map +0 -1
  863. package/dist/src/types/index.umd.js +0 -27
  864. package/dist/src/types/index.umd.js.map +0 -1
  865. package/dist/src/utils/index.umd.js +0 -21
  866. package/dist/src/utils/index.umd.js.map +0 -1
  867. package/dist/stringUtils-68ZN_GRt.js +0 -71
  868. package/dist/stringUtils-D4eEDlt1.mjs.map +0 -1
  869. package/dist/useAlignment-DuR8ymKI.mjs.map +0 -1
  870. package/dist/useAlignment-oKolnDpb.js +0 -16
  871. package/dist/useAriaInvalid-CHHPHNLU.js +0 -17
  872. package/dist/useAriaInvalid-apOwgexm.mjs.map +0 -1
  873. package/dist/useColorVariantClasses-CqeXHjRh.mjs.map +0 -1
  874. package/dist/useColorVariantClasses-Dq0sOYDL.js +0 -27
  875. package/dist/useCountdownHover-C3NXiAaF.mjs.map +0 -1
  876. package/dist/useCountdownHover-DbVhE-N0.js +0 -104
  877. package/dist/useDateField-CJKgollJ.mjs.map +0 -1
  878. package/dist/useDateField-DWv3600o.js +0 -3872
  879. package/dist/useDateField-DWv3600o.js.map +0 -1
  880. package/dist/useDefaults-C0CYry78.js +0 -76
  881. package/dist/useDefaults-DseelK6y.mjs.map +0 -1
  882. package/dist/useFormCheck-BKXrwS3g.mjs.map +0 -1
  883. package/dist/useFormCheck-DYjLG4WA.js +0 -82
  884. package/dist/useFormInput-CXl8rpD0.mjs.map +0 -1
  885. package/dist/useFormInput-ip9hN2AU.js +0 -117
  886. package/dist/useFormSelect-BM0rsjni.mjs.map +0 -1
  887. package/dist/useFormSelect-ClmzGzOy.js +0 -58
  888. package/dist/useForwardExpose-BpZJluPs.js +0 -80
  889. package/dist/useForwardExpose-BpZJluPs.js.map +0 -1
  890. package/dist/useForwardExpose-Cob6LlGd.mjs.map +0 -1
  891. package/dist/useId-BkAY2oh6.js +0 -17
  892. package/dist/useId-D1sqXtwx.mjs.map +0 -1
  893. package/dist/useKbd-DfmgFov6.mjs.map +0 -1
  894. package/dist/useKbd-sqDCJtXL.js +0 -105
  895. package/dist/useKbd-sqDCJtXL.js.map +0 -1
  896. package/dist/useNumberishToStyle-BtMa0R27.js +0 -18
  897. package/dist/useNumberishToStyle-DgS1slD3.mjs.map +0 -1
  898. package/dist/useRadiusElementClasses-BW832F7F.mjs.map +0 -1
  899. package/dist/useRadiusElementClasses-DWiUVgex.js +0 -28
  900. package/dist/useRtl-BSgvbs5F.js +0 -26
  901. package/dist/useRtl-CGoXBxNo.mjs.map +0 -1
  902. package/dist/useSafeScrollLock-7wmPH_Hy.js +0 -1418
  903. package/dist/useSafeScrollLock-7wmPH_Hy.js.map +0 -1
  904. package/dist/useSafeScrollLock-Me5LyqjD.mjs.map +0 -1
  905. package/dist/useShowHide-CBFt1_EW.mjs.map +0 -1
  906. package/dist/useShowHide-CHm2uUep.js +0 -436
  907. package/dist/useShowHide-CHm2uUep.js.map +0 -1
  908. package/dist/useStateClass-CXK3nCg9.js +0 -16
  909. package/dist/useStateClass-DxlL_m2E.mjs.map +0 -1
  910. package/dist/utils-CWvndqPg.mjs.map +0 -1
  911. package/dist/utils-Dk9yAtbs.js +0 -186
  912. package/dist/utils-Dk9yAtbs.js.map +0 -1
  913. /package/dist/{chunk-D1SwGrFN.mjs → rolldown-runtime-BBjsoOtd.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"BFormFile-CZebm0Cp.mjs","names":[],"sources":["../src/components/BFormFile/BFormFile.vue","../src/components/BFormFile/BFormFile.vue"],"sourcesContent":["<template>\n <div ref=\"rootRef\" v-bind=\"processedAttrs.rootAttrs\" class=\"b-form-file-root\">\n <!-- Optional label -->\n <label\n v-if=\"hasLabelSlot || props.label\"\n class=\"form-label\"\n :class=\"props.labelClass\"\n :for=\"computedId\"\n >\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n\n <!-- Drop zone wrapper -->\n <div\n v-if=\"!props.plain\"\n ref=\"dropZoneRef\"\n v-bind=\"processedAttrs.dropZoneAttrs\"\n class=\"b-form-file-wrapper\"\n :class=\"{\n 'b-form-file-dragging': isOverDropZone && !props.noDrop,\n 'b-form-file-has-files': hasFiles,\n }\"\n >\n <!-- Custom file control (mimics Bootstrap native input) -->\n <div\n class=\"b-form-file-control\"\n :class=\"computedClasses\"\n :aria-disabled=\"props.disabled\"\n @click=\"handleControlClick\"\n >\n <!-- Custom browse button (now on LEFT to match Bootstrap v5) -->\n <button\n v-if=\"!props.noButton\"\n :id=\"computedId\"\n ref=\"browseButtonRef\"\n type=\"button\"\n class=\"b-form-file-button\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n @click.stop=\"openFileDialog\"\n >\n {{ effectiveBrowseText }}\n </button>\n\n <!-- File name display -->\n <div class=\"b-form-file-text\">\n <slot name=\"file-name\" :files=\"selectedFiles\" :names=\"fileNames\">\n <span v-if=\"hasFiles\">{{ formattedFileNames }}</span>\n <span v-else-if=\"hasPlaceholderSlot || props.placeholder\" class=\"text-muted\">\n <slot name=\"placeholder\">{{ props.placeholder }}</slot>\n </span>\n </slot>\n </div>\n </div>\n\n <!-- Drag overlay (only shown when dragging) -->\n <div v-if=\"isOverDropZone && !props.noDrop\" class=\"b-form-file-drag-overlay\">\n <slot name=\"drop-placeholder\">\n <div class=\"b-form-file-drag-text\">\n {{ effectiveDropPlaceholder }}\n </div>\n </slot>\n </div>\n\n <!-- Hidden input for form submission (positioned behind UI with z-index) -->\n <input\n ref=\"customInputRef\"\n v-bind=\"processedAttrs.inputAttrs\"\n type=\"file\"\n :name=\"props.name\"\n :form=\"props.form\"\n :multiple=\"props.multiple || props.directory\"\n :disabled=\"props.disabled\"\n :required=\"props.required\"\n :accept=\"computedAccept || undefined\"\n :capture=\"props.capture\"\n :directory=\"props.directory || undefined\"\n :webkitdirectory=\"props.directory || undefined\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n style=\"\n position: absolute;\n z-index: -5;\n width: 0;\n height: 0;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n \"\n />\n </div>\n\n <!-- Plain mode - simple native input -->\n <input\n v-else\n :id=\"computedId\"\n ref=\"plainInputRef\"\n v-bind=\"processedAttrs.inputAttrs\"\n type=\"file\"\n :class=\"computedPlainClasses\"\n :form=\"props.form\"\n :name=\"props.name\"\n :multiple=\"props.multiple || props.directory\"\n :disabled=\"props.disabled\"\n :capture=\"props.capture\"\n :accept=\"computedAccept || undefined\"\n :required=\"props.required || undefined\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"props.required || undefined\"\n :directory=\"props.directory || undefined\"\n :webkitdirectory=\"props.directory || undefined\"\n @change=\"onPlainChange\"\n />\n\n <!-- External file display (when showFileNames is true and not plain) -->\n <div v-if=\"showExternalDisplay\" class=\"b-form-file-display mt-2\">\n <slot name=\"file-name\" :files=\"selectedFiles\" :names=\"fileNames\">\n <div v-if=\"hasFiles\" class=\"small text-muted\">\n {{ formattedFileNames }}\n </div>\n <div v-else-if=\"hasPlaceholderSlot || props.placeholder\" class=\"small text-muted\">\n <slot name=\"placeholder\">\n {{ props.placeholder }}\n </slot>\n </div>\n </slot>\n </div>\n\n <!-- ARIA live region for screen reader announcements -->\n <div v-if=\"!props.plain\" class=\"visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ ariaLiveMessage }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDropZone, useFileDialog} from '@vueuse/core'\nimport {computed, nextTick, onMounted, ref, type Ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {isEmptySlot} from '../../utils/dom'\nimport type {BFormFileProps, BFormFileSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormFileProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n accept: '',\n autofocus: false,\n browseText: undefined,\n capture: undefined,\n directory: false,\n disabled: false,\n dropPlaceholder: undefined,\n fileNameFormatter: undefined,\n ariaLiveFormatter: undefined,\n form: undefined,\n id: undefined,\n label: '',\n labelClass: undefined,\n multiple: false,\n name: undefined,\n noButton: false,\n noDrop: false,\n plain: false,\n placeholder: 'No file chosen',\n required: false,\n showFileNames: false,\n size: undefined,\n state: null,\n})\nconst props = useDefaults(_props, 'BFormFile')\nconst slots = defineSlots<BFormFileSlots>()\n\nconst emit = defineEmits<{\n change: [value: Event]\n}>()\n\nconst modelValue = defineModel<Exclude<BFormFileProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n // In plain mode, pass all attributes to the input element\n if (props.plain) {\n return {\n rootAttrs: {},\n dropZoneAttrs: {},\n inputAttrs: attrs,\n }\n }\n // In custom mode, split attributes:\n // - class/style go to root (for layout/positioning)\n // - title goes to drop zone (for tooltip on interactive element)\n // - everything else goes to hidden input (for form functionality)\n const {class: rootClass, style: rootStyle, title: dropZoneTitle, ...inputAttrs} = attrs\n const rootAttrs: Record<string, unknown> = {}\n const dropZoneAttrs: Record<string, unknown> = {}\n if (rootClass !== undefined) rootAttrs.class = rootClass\n if (rootStyle !== undefined) rootAttrs.style = rootStyle\n if (dropZoneTitle !== undefined) dropZoneAttrs.title = dropZoneTitle\n return {\n rootAttrs,\n dropZoneAttrs,\n inputAttrs,\n }\n})\n\nconst computedId = useId(() => props.id)\nconst stateClass = useStateClass(() => props.state)\n\n// Refs\nconst rootRef = useTemplateRef('rootRef')\nconst dropZoneRef = useTemplateRef('dropZoneRef')\nconst browseButtonRef = useTemplateRef('browseButtonRef')\nconst plainInputRef = useTemplateRef<HTMLInputElement>('plainInputRef')\nconst customInputRef = useTemplateRef<HTMLInputElement>('customInputRef')\n\n// Computed accept for file type validation\nconst computedAccept = computed(() =>\n typeof props.accept === 'string' ? props.accept : props.accept.join(',')\n)\n\n// VueUse file dialog (uses our hidden input element)\nconst {\n open,\n reset: resetDialog,\n onChange: onDialogChange,\n} = useFileDialog({\n accept: computedAccept.value,\n multiple: props.multiple || props.directory,\n directory: props.directory,\n input: customInputRef as unknown as Ref<HTMLInputElement>,\n})\n\n// VueUse drop zone (replaces manual drag/drop)\n// Note: We don't pass dataTypes because the accept attribute handles validation\n// and there is no reliable way to get MIME types from in all browsers\n// https://github.com/vueuse/vueuse/issues/4523\nconst {isOverDropZone} = useDropZone(dropZoneRef, {\n onDrop: (files) => {\n if (files && !props.noDrop) {\n handleFiles(files)\n }\n },\n multiple: props.multiple || props.directory,\n})\n\n// Computed properties\nconst hasLabelSlot = computed(() => !isEmptySlot(slots.label))\nconst hasPlaceholderSlot = computed(() => !isEmptySlot(slots.placeholder))\n\nconst computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst computedPlainClasses = computed(() => [\n 'form-control',\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n },\n])\n\n// Selected files (from dialog or managed state)\nconst internalFiles = ref<readonly File[]>([])\n\nconst selectedFiles = computed<readonly File[]>(() => internalFiles.value)\n\nconst hasFiles = computed(() => selectedFiles.value.length > 0)\n\nconst fileNames = computed(() => selectedFiles.value.map((file) => file.name))\n\nconst formattedFileNames = computed(() => {\n if (!hasFiles.value) return ''\n if (props.fileNameFormatter) {\n return props.fileNameFormatter(selectedFiles.value)\n }\n const names = fileNames.value\n if (names.length === 1) return names[0]\n return `${names.length} files selected`\n})\n\nconst showExternalDisplay = computed(\n () => !props.plain && props.showFileNames && (hasFiles.value || props.placeholder)\n)\n\n// ARIA live region message for accessibility\nconst ariaLiveMessage = computed(() => {\n if (!hasFiles.value) return ''\n if (props.ariaLiveFormatter) {\n return props.ariaLiveFormatter(selectedFiles.value)\n }\n const count = selectedFiles.value.length\n if (count === 1) {\n return `File selected: ${selectedFiles.value[0]?.name}`\n }\n return `${count} files selected`\n})\n\nconst effectiveBrowseText = computed(() => props.browseText ?? 'Browse')\nconst effectiveDropPlaceholder = computed(() => props.dropPlaceholder ?? 'Drop files here...')\n\n// Validate file against accept criteria\nconst isFileAccepted = (file: File): boolean => {\n if (!computedAccept.value) return true\n\n const acceptTypes = computedAccept.value.split(',').map((type) => type.trim())\n\n return acceptTypes.some((acceptType) => {\n // Extension match (e.g., .pdf)\n if (acceptType.startsWith('.')) {\n return file.name.toLowerCase().endsWith(acceptType.toLowerCase())\n }\n // Exact MIME type match (e.g., image/png)\n if (!acceptType.includes('*')) {\n return file.type === acceptType\n }\n // Wildcard MIME type match (e.g., image/* or */*)\n const slashIndex = acceptType.indexOf('/')\n if (slashIndex === -1) {\n // Malformed wildcard pattern (no '/'): do not match anything\n return false\n }\n const category = acceptType.slice(0, slashIndex)\n // */* should match any MIME type\n if (category === '*') {\n return true\n }\n return file.type.startsWith(`${category}/`)\n })\n}\n\n// File handling\nconst handleFiles = (files: File[] | FileList, nativeEvent?: Event) => {\n let fileArray: File[] = []\n\n if (nativeEvent) {\n // Plain mode: read from the event target (browser already filtered via accept)\n const input = nativeEvent.target as HTMLInputElement\n fileArray = input.files ? Array.from(input.files) : []\n } else {\n // Custom mode (drag & drop or file dialog): manually filter and set on hidden input\n fileArray = Array.from(files).filter((file) => isFileAccepted(file))\n if (customInputRef.value && typeof DataTransfer !== 'undefined') {\n try {\n const dataTransfer = new DataTransfer()\n fileArray.forEach((file) => dataTransfer.items.add(file))\n customInputRef.value.files = dataTransfer.files\n } catch {\n // In environments where DataTransfer is not fully supported, skip syncing files on the input\n }\n }\n }\n\n // Update internal state\n internalFiles.value = fileArray\n\n // Update model value\n if (fileArray.length === 0) {\n modelValue.value = null\n } else if (props.directory || props.multiple) {\n modelValue.value = fileArray\n } else {\n const [firstFile] = fileArray\n if (firstFile) {\n modelValue.value = firstFile\n }\n }\n\n // Emit change event in nextTick to ensure DOM updates\n // In plain mode: forward the native event (has target.files)\n // In custom mode: create CustomEvent with files in detail\n nextTick(() => {\n if (nativeEvent) {\n // Plain mode: forward native event\n emit('change', nativeEvent)\n } else {\n // Custom mode: create CustomEvent with files\n const changeEvent = new CustomEvent('change', {\n bubbles: true,\n cancelable: false,\n detail: {\n files: fileArray,\n target: {files: fileArray},\n },\n })\n // Also attach files directly for easier access\n Object.defineProperty(changeEvent, 'files', {\n value: fileArray,\n enumerable: true,\n })\n emit('change', changeEvent)\n }\n })\n}\n\n// Open file dialog\nconst openFileDialog = () => {\n if (!props.disabled) {\n open({\n accept: computedAccept.value,\n multiple: props.multiple || props.directory,\n directory: props.directory,\n })\n }\n}\n\n// Handle click on control wrapper (make entire control clickable like Bootstrap v5)\nconst handleControlClick = () => {\n // Don't trigger if clicking the button itself (button has its own handler with .stop)\n // Don't trigger if disabled\n if (!props.disabled) {\n openFileDialog()\n }\n}\n\n// Plain mode change handler\nconst onPlainChange = (e: Event) => {\n const input = e.target as HTMLInputElement\n if (input.files) {\n handleFiles(input.files, e) // Pass native event\n }\n}\n\n// Watch dialog files from useFileDialog\nonDialogChange((files) => {\n if (files) {\n handleFiles(files)\n }\n})\n\n// Reset method\nconst reset = () => {\n internalFiles.value = []\n modelValue.value = null\n resetDialog() // This resets the hidden input in custom mode\n if (plainInputRef.value) {\n plainInputRef.value.value = ''\n }\n}\n\n// Focus management\nconst focus = () => {\n if (props.plain) {\n plainInputRef.value?.focus()\n } else {\n browseButtonRef.value?.focus()\n }\n}\n\nconst blur = () => {\n if (props.plain) {\n plainInputRef.value?.blur()\n } else {\n browseButtonRef.value?.blur()\n }\n}\n\n// Autofocus support - initial focus on mount\nonMounted(() => {\n if (props.autofocus) {\n nextTick(() => {\n focus()\n })\n }\n})\n\n// Autofocus support - runtime prop changes\nwatch(\n () => props.autofocus,\n (autofocus) => {\n if (autofocus) {\n focus()\n }\n }\n)\n\n// Watch modelValue changes from parent\nwatch(modelValue, (newValue) => {\n if (newValue === null) {\n internalFiles.value = []\n if (plainInputRef.value) {\n plainInputRef.value.value = ''\n }\n } else if (Array.isArray(newValue)) {\n internalFiles.value = newValue as readonly File[]\n } else {\n internalFiles.value = [newValue] as readonly File[]\n }\n})\n\ndefineExpose({\n blur,\n element: computed(() => (props.plain ? plainInputRef.value : browseButtonRef.value)),\n focus,\n reset,\n})\n</script>\n","<template>\n <div ref=\"rootRef\" v-bind=\"processedAttrs.rootAttrs\" class=\"b-form-file-root\">\n <!-- Optional label -->\n <label\n v-if=\"hasLabelSlot || props.label\"\n class=\"form-label\"\n :class=\"props.labelClass\"\n :for=\"computedId\"\n >\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n\n <!-- Drop zone wrapper -->\n <div\n v-if=\"!props.plain\"\n ref=\"dropZoneRef\"\n v-bind=\"processedAttrs.dropZoneAttrs\"\n class=\"b-form-file-wrapper\"\n :class=\"{\n 'b-form-file-dragging': isOverDropZone && !props.noDrop,\n 'b-form-file-has-files': hasFiles,\n }\"\n >\n <!-- Custom file control (mimics Bootstrap native input) -->\n <div\n class=\"b-form-file-control\"\n :class=\"computedClasses\"\n :aria-disabled=\"props.disabled\"\n @click=\"handleControlClick\"\n >\n <!-- Custom browse button (now on LEFT to match Bootstrap v5) -->\n <button\n v-if=\"!props.noButton\"\n :id=\"computedId\"\n ref=\"browseButtonRef\"\n type=\"button\"\n class=\"b-form-file-button\"\n :disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n @click.stop=\"openFileDialog\"\n >\n {{ effectiveBrowseText }}\n </button>\n\n <!-- File name display -->\n <div class=\"b-form-file-text\">\n <slot name=\"file-name\" :files=\"selectedFiles\" :names=\"fileNames\">\n <span v-if=\"hasFiles\">{{ formattedFileNames }}</span>\n <span v-else-if=\"hasPlaceholderSlot || props.placeholder\" class=\"text-muted\">\n <slot name=\"placeholder\">{{ props.placeholder }}</slot>\n </span>\n </slot>\n </div>\n </div>\n\n <!-- Drag overlay (only shown when dragging) -->\n <div v-if=\"isOverDropZone && !props.noDrop\" class=\"b-form-file-drag-overlay\">\n <slot name=\"drop-placeholder\">\n <div class=\"b-form-file-drag-text\">\n {{ effectiveDropPlaceholder }}\n </div>\n </slot>\n </div>\n\n <!-- Hidden input for form submission (positioned behind UI with z-index) -->\n <input\n ref=\"customInputRef\"\n v-bind=\"processedAttrs.inputAttrs\"\n type=\"file\"\n :name=\"props.name\"\n :form=\"props.form\"\n :multiple=\"props.multiple || props.directory\"\n :disabled=\"props.disabled\"\n :required=\"props.required\"\n :accept=\"computedAccept || undefined\"\n :capture=\"props.capture\"\n :directory=\"props.directory || undefined\"\n :webkitdirectory=\"props.directory || undefined\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n style=\"\n position: absolute;\n z-index: -5;\n width: 0;\n height: 0;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n \"\n />\n </div>\n\n <!-- Plain mode - simple native input -->\n <input\n v-else\n :id=\"computedId\"\n ref=\"plainInputRef\"\n v-bind=\"processedAttrs.inputAttrs\"\n type=\"file\"\n :class=\"computedPlainClasses\"\n :form=\"props.form\"\n :name=\"props.name\"\n :multiple=\"props.multiple || props.directory\"\n :disabled=\"props.disabled\"\n :capture=\"props.capture\"\n :accept=\"computedAccept || undefined\"\n :required=\"props.required || undefined\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"props.required || undefined\"\n :directory=\"props.directory || undefined\"\n :webkitdirectory=\"props.directory || undefined\"\n @change=\"onPlainChange\"\n />\n\n <!-- External file display (when showFileNames is true and not plain) -->\n <div v-if=\"showExternalDisplay\" class=\"b-form-file-display mt-2\">\n <slot name=\"file-name\" :files=\"selectedFiles\" :names=\"fileNames\">\n <div v-if=\"hasFiles\" class=\"small text-muted\">\n {{ formattedFileNames }}\n </div>\n <div v-else-if=\"hasPlaceholderSlot || props.placeholder\" class=\"small text-muted\">\n <slot name=\"placeholder\">\n {{ props.placeholder }}\n </slot>\n </div>\n </slot>\n </div>\n\n <!-- ARIA live region for screen reader announcements -->\n <div v-if=\"!props.plain\" class=\"visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ ariaLiveMessage }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDropZone, useFileDialog} from '@vueuse/core'\nimport {computed, nextTick, onMounted, ref, type Ref, useAttrs, useTemplateRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {isEmptySlot} from '../../utils/dom'\nimport type {BFormFileProps, BFormFileSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormFileProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n accept: '',\n autofocus: false,\n browseText: undefined,\n capture: undefined,\n directory: false,\n disabled: false,\n dropPlaceholder: undefined,\n fileNameFormatter: undefined,\n ariaLiveFormatter: undefined,\n form: undefined,\n id: undefined,\n label: '',\n labelClass: undefined,\n multiple: false,\n name: undefined,\n noButton: false,\n noDrop: false,\n plain: false,\n placeholder: 'No file chosen',\n required: false,\n showFileNames: false,\n size: undefined,\n state: null,\n})\nconst props = useDefaults(_props, 'BFormFile')\nconst slots = defineSlots<BFormFileSlots>()\n\nconst emit = defineEmits<{\n change: [value: Event]\n}>()\n\nconst modelValue = defineModel<Exclude<BFormFileProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n // In plain mode, pass all attributes to the input element\n if (props.plain) {\n return {\n rootAttrs: {},\n dropZoneAttrs: {},\n inputAttrs: attrs,\n }\n }\n // In custom mode, split attributes:\n // - class/style go to root (for layout/positioning)\n // - title goes to drop zone (for tooltip on interactive element)\n // - everything else goes to hidden input (for form functionality)\n const {class: rootClass, style: rootStyle, title: dropZoneTitle, ...inputAttrs} = attrs\n const rootAttrs: Record<string, unknown> = {}\n const dropZoneAttrs: Record<string, unknown> = {}\n if (rootClass !== undefined) rootAttrs.class = rootClass\n if (rootStyle !== undefined) rootAttrs.style = rootStyle\n if (dropZoneTitle !== undefined) dropZoneAttrs.title = dropZoneTitle\n return {\n rootAttrs,\n dropZoneAttrs,\n inputAttrs,\n }\n})\n\nconst computedId = useId(() => props.id)\nconst stateClass = useStateClass(() => props.state)\n\n// Refs\nconst rootRef = useTemplateRef('rootRef')\nconst dropZoneRef = useTemplateRef('dropZoneRef')\nconst browseButtonRef = useTemplateRef('browseButtonRef')\nconst plainInputRef = useTemplateRef<HTMLInputElement>('plainInputRef')\nconst customInputRef = useTemplateRef<HTMLInputElement>('customInputRef')\n\n// Computed accept for file type validation\nconst computedAccept = computed(() =>\n typeof props.accept === 'string' ? props.accept : props.accept.join(',')\n)\n\n// VueUse file dialog (uses our hidden input element)\nconst {\n open,\n reset: resetDialog,\n onChange: onDialogChange,\n} = useFileDialog({\n accept: computedAccept.value,\n multiple: props.multiple || props.directory,\n directory: props.directory,\n input: customInputRef as unknown as Ref<HTMLInputElement>,\n})\n\n// VueUse drop zone (replaces manual drag/drop)\n// Note: We don't pass dataTypes because the accept attribute handles validation\n// and there is no reliable way to get MIME types from in all browsers\n// https://github.com/vueuse/vueuse/issues/4523\nconst {isOverDropZone} = useDropZone(dropZoneRef, {\n onDrop: (files) => {\n if (files && !props.noDrop) {\n handleFiles(files)\n }\n },\n multiple: props.multiple || props.directory,\n})\n\n// Computed properties\nconst hasLabelSlot = computed(() => !isEmptySlot(slots.label))\nconst hasPlaceholderSlot = computed(() => !isEmptySlot(slots.placeholder))\n\nconst computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n },\n])\n\nconst computedPlainClasses = computed(() => [\n 'form-control',\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n },\n])\n\n// Selected files (from dialog or managed state)\nconst internalFiles = ref<readonly File[]>([])\n\nconst selectedFiles = computed<readonly File[]>(() => internalFiles.value)\n\nconst hasFiles = computed(() => selectedFiles.value.length > 0)\n\nconst fileNames = computed(() => selectedFiles.value.map((file) => file.name))\n\nconst formattedFileNames = computed(() => {\n if (!hasFiles.value) return ''\n if (props.fileNameFormatter) {\n return props.fileNameFormatter(selectedFiles.value)\n }\n const names = fileNames.value\n if (names.length === 1) return names[0]\n return `${names.length} files selected`\n})\n\nconst showExternalDisplay = computed(\n () => !props.plain && props.showFileNames && (hasFiles.value || props.placeholder)\n)\n\n// ARIA live region message for accessibility\nconst ariaLiveMessage = computed(() => {\n if (!hasFiles.value) return ''\n if (props.ariaLiveFormatter) {\n return props.ariaLiveFormatter(selectedFiles.value)\n }\n const count = selectedFiles.value.length\n if (count === 1) {\n return `File selected: ${selectedFiles.value[0]?.name}`\n }\n return `${count} files selected`\n})\n\nconst effectiveBrowseText = computed(() => props.browseText ?? 'Browse')\nconst effectiveDropPlaceholder = computed(() => props.dropPlaceholder ?? 'Drop files here...')\n\n// Validate file against accept criteria\nconst isFileAccepted = (file: File): boolean => {\n if (!computedAccept.value) return true\n\n const acceptTypes = computedAccept.value.split(',').map((type) => type.trim())\n\n return acceptTypes.some((acceptType) => {\n // Extension match (e.g., .pdf)\n if (acceptType.startsWith('.')) {\n return file.name.toLowerCase().endsWith(acceptType.toLowerCase())\n }\n // Exact MIME type match (e.g., image/png)\n if (!acceptType.includes('*')) {\n return file.type === acceptType\n }\n // Wildcard MIME type match (e.g., image/* or */*)\n const slashIndex = acceptType.indexOf('/')\n if (slashIndex === -1) {\n // Malformed wildcard pattern (no '/'): do not match anything\n return false\n }\n const category = acceptType.slice(0, slashIndex)\n // */* should match any MIME type\n if (category === '*') {\n return true\n }\n return file.type.startsWith(`${category}/`)\n })\n}\n\n// File handling\nconst handleFiles = (files: File[] | FileList, nativeEvent?: Event) => {\n let fileArray: File[] = []\n\n if (nativeEvent) {\n // Plain mode: read from the event target (browser already filtered via accept)\n const input = nativeEvent.target as HTMLInputElement\n fileArray = input.files ? Array.from(input.files) : []\n } else {\n // Custom mode (drag & drop or file dialog): manually filter and set on hidden input\n fileArray = Array.from(files).filter((file) => isFileAccepted(file))\n if (customInputRef.value && typeof DataTransfer !== 'undefined') {\n try {\n const dataTransfer = new DataTransfer()\n fileArray.forEach((file) => dataTransfer.items.add(file))\n customInputRef.value.files = dataTransfer.files\n } catch {\n // In environments where DataTransfer is not fully supported, skip syncing files on the input\n }\n }\n }\n\n // Update internal state\n internalFiles.value = fileArray\n\n // Update model value\n if (fileArray.length === 0) {\n modelValue.value = null\n } else if (props.directory || props.multiple) {\n modelValue.value = fileArray\n } else {\n const [firstFile] = fileArray\n if (firstFile) {\n modelValue.value = firstFile\n }\n }\n\n // Emit change event in nextTick to ensure DOM updates\n // In plain mode: forward the native event (has target.files)\n // In custom mode: create CustomEvent with files in detail\n nextTick(() => {\n if (nativeEvent) {\n // Plain mode: forward native event\n emit('change', nativeEvent)\n } else {\n // Custom mode: create CustomEvent with files\n const changeEvent = new CustomEvent('change', {\n bubbles: true,\n cancelable: false,\n detail: {\n files: fileArray,\n target: {files: fileArray},\n },\n })\n // Also attach files directly for easier access\n Object.defineProperty(changeEvent, 'files', {\n value: fileArray,\n enumerable: true,\n })\n emit('change', changeEvent)\n }\n })\n}\n\n// Open file dialog\nconst openFileDialog = () => {\n if (!props.disabled) {\n open({\n accept: computedAccept.value,\n multiple: props.multiple || props.directory,\n directory: props.directory,\n })\n }\n}\n\n// Handle click on control wrapper (make entire control clickable like Bootstrap v5)\nconst handleControlClick = () => {\n // Don't trigger if clicking the button itself (button has its own handler with .stop)\n // Don't trigger if disabled\n if (!props.disabled) {\n openFileDialog()\n }\n}\n\n// Plain mode change handler\nconst onPlainChange = (e: Event) => {\n const input = e.target as HTMLInputElement\n if (input.files) {\n handleFiles(input.files, e) // Pass native event\n }\n}\n\n// Watch dialog files from useFileDialog\nonDialogChange((files) => {\n if (files) {\n handleFiles(files)\n }\n})\n\n// Reset method\nconst reset = () => {\n internalFiles.value = []\n modelValue.value = null\n resetDialog() // This resets the hidden input in custom mode\n if (plainInputRef.value) {\n plainInputRef.value.value = ''\n }\n}\n\n// Focus management\nconst focus = () => {\n if (props.plain) {\n plainInputRef.value?.focus()\n } else {\n browseButtonRef.value?.focus()\n }\n}\n\nconst blur = () => {\n if (props.plain) {\n plainInputRef.value?.blur()\n } else {\n browseButtonRef.value?.blur()\n }\n}\n\n// Autofocus support - initial focus on mount\nonMounted(() => {\n if (props.autofocus) {\n nextTick(() => {\n focus()\n })\n }\n})\n\n// Autofocus support - runtime prop changes\nwatch(\n () => props.autofocus,\n (autofocus) => {\n if (autofocus) {\n focus()\n }\n }\n)\n\n// Watch modelValue changes from parent\nwatch(modelValue, (newValue) => {\n if (newValue === null) {\n internalFiles.value = []\n if (plainInputRef.value) {\n plainInputRef.value.value = ''\n }\n } else if (Array.isArray(newValue)) {\n internalFiles.value = newValue as readonly File[]\n } else {\n internalFiles.value = [newValue] as readonly File[]\n }\n})\n\ndefineExpose({\n blur,\n element: computed(() => (props.plain ? plainInputRef.value : browseButtonRef.value)),\n focus,\n reset,\n})\n</script>\n"],"mappings":"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"}
@@ -1,423 +0,0 @@
1
- require("./chunk-CoQrYLCe.js");
2
- const require_dist = require("./dist-DiXKLh_W.js");
3
- const require_dom = require("./dom-Bs6DzM72.js");
4
- const require_useDefaults = require("./useDefaults-C0CYry78.js");
5
- const require_useId = require("./useId-BkAY2oh6.js");
6
- const require_useStateClass = require("./useStateClass-CXK3nCg9.js");
7
- let vue = require("vue");
8
- //#region src/components/BFormFile/BFormFile.vue?vue&type=script&setup=true&lang.ts
9
- var _hoisted_1 = ["for"];
10
- var _hoisted_2 = ["aria-disabled"];
11
- var _hoisted_3 = [
12
- "id",
13
- "disabled",
14
- "aria-label",
15
- "aria-labelledby"
16
- ];
17
- var _hoisted_4 = { class: "b-form-file-text" };
18
- var _hoisted_5 = { key: 0 };
19
- var _hoisted_6 = {
20
- key: 1,
21
- class: "text-muted"
22
- };
23
- var _hoisted_7 = {
24
- key: 0,
25
- class: "b-form-file-drag-overlay"
26
- };
27
- var _hoisted_8 = { class: "b-form-file-drag-text" };
28
- var _hoisted_9 = [
29
- "name",
30
- "form",
31
- "multiple",
32
- "disabled",
33
- "required",
34
- "accept",
35
- "capture",
36
- "directory",
37
- "webkitdirectory"
38
- ];
39
- var _hoisted_10 = [
40
- "id",
41
- "form",
42
- "name",
43
- "multiple",
44
- "disabled",
45
- "capture",
46
- "accept",
47
- "required",
48
- "aria-label",
49
- "aria-labelledby",
50
- "aria-required",
51
- "directory",
52
- "webkitdirectory"
53
- ];
54
- var _hoisted_11 = {
55
- key: 3,
56
- class: "b-form-file-display mt-2"
57
- };
58
- var _hoisted_12 = {
59
- key: 0,
60
- class: "small text-muted"
61
- };
62
- var _hoisted_13 = {
63
- key: 1,
64
- class: "small text-muted"
65
- };
66
- var _hoisted_14 = {
67
- key: 4,
68
- class: "visually-hidden",
69
- "aria-live": "polite",
70
- "aria-atomic": "true"
71
- };
72
- //#endregion
73
- //#region src/components/BFormFile/BFormFile.vue
74
- var BFormFile_default = /* @__PURE__ */ (0, vue.defineComponent)({
75
- inheritAttrs: false,
76
- __name: "BFormFile",
77
- props: /* @__PURE__ */ (0, vue.mergeModels)({
78
- ariaLabel: { default: void 0 },
79
- ariaLabelledby: { default: void 0 },
80
- ariaLiveFormatter: {
81
- type: Function,
82
- default: void 0
83
- },
84
- accept: { default: "" },
85
- autofocus: {
86
- type: Boolean,
87
- default: false
88
- },
89
- browseText: { default: void 0 },
90
- capture: { default: void 0 },
91
- directory: {
92
- type: Boolean,
93
- default: false
94
- },
95
- disabled: {
96
- type: Boolean,
97
- default: false
98
- },
99
- dropPlaceholder: { default: void 0 },
100
- fileNameFormatter: {
101
- type: Function,
102
- default: void 0
103
- },
104
- form: { default: void 0 },
105
- id: { default: void 0 },
106
- label: { default: "" },
107
- labelClass: { default: void 0 },
108
- multiple: {
109
- type: Boolean,
110
- default: false
111
- },
112
- name: { default: void 0 },
113
- noButton: {
114
- type: Boolean,
115
- default: false
116
- },
117
- noDrop: {
118
- type: Boolean,
119
- default: false
120
- },
121
- plain: {
122
- type: Boolean,
123
- default: false
124
- },
125
- placeholder: { default: "No file chosen" },
126
- required: {
127
- type: Boolean,
128
- default: false
129
- },
130
- showFileNames: {
131
- type: Boolean,
132
- default: false
133
- },
134
- size: { default: void 0 },
135
- state: {
136
- type: [Boolean, null],
137
- default: null
138
- }
139
- }, {
140
- "modelValue": { default: null },
141
- "modelModifiers": {}
142
- }),
143
- emits: /* @__PURE__ */ (0, vue.mergeModels)(["change"], ["update:modelValue"]),
144
- setup(__props, { expose: __expose, emit: __emit }) {
145
- const props = require_useDefaults.useDefaults(__props, "BFormFile");
146
- const slots = (0, vue.useSlots)();
147
- const emit = __emit;
148
- const modelValue = (0, vue.useModel)(__props, "modelValue");
149
- const attrs = (0, vue.useAttrs)();
150
- const processedAttrs = (0, vue.computed)(() => {
151
- if (props.plain) return {
152
- rootAttrs: {},
153
- dropZoneAttrs: {},
154
- inputAttrs: attrs
155
- };
156
- const { class: rootClass, style: rootStyle, title: dropZoneTitle, ...inputAttrs } = attrs;
157
- const rootAttrs = {};
158
- const dropZoneAttrs = {};
159
- if (rootClass !== void 0) rootAttrs.class = rootClass;
160
- if (rootStyle !== void 0) rootAttrs.style = rootStyle;
161
- if (dropZoneTitle !== void 0) dropZoneAttrs.title = dropZoneTitle;
162
- return {
163
- rootAttrs,
164
- dropZoneAttrs,
165
- inputAttrs
166
- };
167
- });
168
- const computedId = require_useId.useId(() => props.id);
169
- const stateClass = require_useStateClass.useStateClass(() => props.state);
170
- const rootRef = (0, vue.useTemplateRef)("rootRef");
171
- const dropZoneRef = (0, vue.useTemplateRef)("dropZoneRef");
172
- const browseButtonRef = (0, vue.useTemplateRef)("browseButtonRef");
173
- const plainInputRef = (0, vue.useTemplateRef)("plainInputRef");
174
- const customInputRef = (0, vue.useTemplateRef)("customInputRef");
175
- const computedAccept = (0, vue.computed)(() => typeof props.accept === "string" ? props.accept : props.accept.join(","));
176
- const { open, reset: resetDialog, onChange: onDialogChange } = require_dist.useFileDialog({
177
- accept: computedAccept.value,
178
- multiple: props.multiple || props.directory,
179
- directory: props.directory,
180
- input: customInputRef
181
- });
182
- const { isOverDropZone } = require_dist.useDropZone(dropZoneRef, {
183
- onDrop: (files) => {
184
- if (files && !props.noDrop) handleFiles(files);
185
- },
186
- multiple: props.multiple || props.directory
187
- });
188
- const hasLabelSlot = (0, vue.computed)(() => !require_dom.isEmptySlot(slots.label));
189
- const hasPlaceholderSlot = (0, vue.computed)(() => !require_dom.isEmptySlot(slots.placeholder));
190
- const computedClasses = (0, vue.computed)(() => [stateClass.value, { [`form-control-${props.size}`]: props.size !== void 0 }]);
191
- const computedPlainClasses = (0, vue.computed)(() => [
192
- "form-control",
193
- stateClass.value,
194
- { [`form-control-${props.size}`]: props.size !== void 0 }
195
- ]);
196
- const internalFiles = (0, vue.ref)([]);
197
- const selectedFiles = (0, vue.computed)(() => internalFiles.value);
198
- const hasFiles = (0, vue.computed)(() => selectedFiles.value.length > 0);
199
- const fileNames = (0, vue.computed)(() => selectedFiles.value.map((file) => file.name));
200
- const formattedFileNames = (0, vue.computed)(() => {
201
- if (!hasFiles.value) return "";
202
- if (props.fileNameFormatter) return props.fileNameFormatter(selectedFiles.value);
203
- const names = fileNames.value;
204
- if (names.length === 1) return names[0];
205
- return `${names.length} files selected`;
206
- });
207
- const showExternalDisplay = (0, vue.computed)(() => !props.plain && props.showFileNames && (hasFiles.value || props.placeholder));
208
- const ariaLiveMessage = (0, vue.computed)(() => {
209
- if (!hasFiles.value) return "";
210
- if (props.ariaLiveFormatter) return props.ariaLiveFormatter(selectedFiles.value);
211
- const count = selectedFiles.value.length;
212
- if (count === 1) return `File selected: ${selectedFiles.value[0]?.name}`;
213
- return `${count} files selected`;
214
- });
215
- const effectiveBrowseText = (0, vue.computed)(() => props.browseText ?? "Browse");
216
- const effectiveDropPlaceholder = (0, vue.computed)(() => props.dropPlaceholder ?? "Drop files here...");
217
- const isFileAccepted = (file) => {
218
- if (!computedAccept.value) return true;
219
- return computedAccept.value.split(",").map((type) => type.trim()).some((acceptType) => {
220
- if (acceptType.startsWith(".")) return file.name.toLowerCase().endsWith(acceptType.toLowerCase());
221
- if (!acceptType.includes("*")) return file.type === acceptType;
222
- const slashIndex = acceptType.indexOf("/");
223
- if (slashIndex === -1) return false;
224
- const category = acceptType.slice(0, slashIndex);
225
- if (category === "*") return true;
226
- return file.type.startsWith(`${category}/`);
227
- });
228
- };
229
- const handleFiles = (files, nativeEvent) => {
230
- let fileArray = [];
231
- if (nativeEvent) {
232
- const input = nativeEvent.target;
233
- fileArray = input.files ? Array.from(input.files) : [];
234
- } else {
235
- fileArray = Array.from(files).filter((file) => isFileAccepted(file));
236
- if (customInputRef.value && typeof DataTransfer !== "undefined") try {
237
- const dataTransfer = new DataTransfer();
238
- fileArray.forEach((file) => dataTransfer.items.add(file));
239
- customInputRef.value.files = dataTransfer.files;
240
- } catch {}
241
- }
242
- internalFiles.value = fileArray;
243
- if (fileArray.length === 0) modelValue.value = null;
244
- else if (props.directory || props.multiple) modelValue.value = fileArray;
245
- else {
246
- const [firstFile] = fileArray;
247
- if (firstFile) modelValue.value = firstFile;
248
- }
249
- (0, vue.nextTick)(() => {
250
- if (nativeEvent) emit("change", nativeEvent);
251
- else {
252
- const changeEvent = new CustomEvent("change", {
253
- bubbles: true,
254
- cancelable: false,
255
- detail: {
256
- files: fileArray,
257
- target: { files: fileArray }
258
- }
259
- });
260
- Object.defineProperty(changeEvent, "files", {
261
- value: fileArray,
262
- enumerable: true
263
- });
264
- emit("change", changeEvent);
265
- }
266
- });
267
- };
268
- const openFileDialog = () => {
269
- if (!props.disabled) open({
270
- accept: computedAccept.value,
271
- multiple: props.multiple || props.directory,
272
- directory: props.directory
273
- });
274
- };
275
- const handleControlClick = () => {
276
- if (!props.disabled) openFileDialog();
277
- };
278
- const onPlainChange = (e) => {
279
- const input = e.target;
280
- if (input.files) handleFiles(input.files, e);
281
- };
282
- onDialogChange((files) => {
283
- if (files) handleFiles(files);
284
- });
285
- const reset = () => {
286
- internalFiles.value = [];
287
- modelValue.value = null;
288
- resetDialog();
289
- if (plainInputRef.value) plainInputRef.value.value = "";
290
- };
291
- const focus = () => {
292
- if (props.plain) plainInputRef.value?.focus();
293
- else browseButtonRef.value?.focus();
294
- };
295
- const blur = () => {
296
- if (props.plain) plainInputRef.value?.blur();
297
- else browseButtonRef.value?.blur();
298
- };
299
- (0, vue.onMounted)(() => {
300
- if (props.autofocus) (0, vue.nextTick)(() => {
301
- focus();
302
- });
303
- });
304
- (0, vue.watch)(() => props.autofocus, (autofocus) => {
305
- if (autofocus) focus();
306
- });
307
- (0, vue.watch)(modelValue, (newValue) => {
308
- if (newValue === null) {
309
- internalFiles.value = [];
310
- if (plainInputRef.value) plainInputRef.value.value = "";
311
- } else if (Array.isArray(newValue)) internalFiles.value = newValue;
312
- else internalFiles.value = [newValue];
313
- });
314
- __expose({
315
- blur,
316
- element: (0, vue.computed)(() => props.plain ? plainInputRef.value : browseButtonRef.value),
317
- focus,
318
- reset
319
- });
320
- return (_ctx, _cache) => {
321
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", (0, vue.mergeProps)({
322
- ref_key: "rootRef",
323
- ref: rootRef
324
- }, processedAttrs.value.rootAttrs, { class: "b-form-file-root" }), [
325
- hasLabelSlot.value || (0, vue.unref)(props).label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("label", {
326
- key: 0,
327
- class: (0, vue.normalizeClass)(["form-label", (0, vue.unref)(props).labelClass]),
328
- for: (0, vue.unref)(computedId)
329
- }, [(0, vue.renderSlot)(_ctx.$slots, "label", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).label), 1)])], 10, _hoisted_1)) : (0, vue.createCommentVNode)("", true),
330
- !(0, vue.unref)(props).plain ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", (0, vue.mergeProps)({
331
- key: 1,
332
- ref_key: "dropZoneRef",
333
- ref: dropZoneRef
334
- }, processedAttrs.value.dropZoneAttrs, { class: ["b-form-file-wrapper", {
335
- "b-form-file-dragging": (0, vue.unref)(isOverDropZone) && !(0, vue.unref)(props).noDrop,
336
- "b-form-file-has-files": hasFiles.value
337
- }] }), [
338
- (0, vue.createElementVNode)("div", {
339
- class: (0, vue.normalizeClass)(["b-form-file-control", computedClasses.value]),
340
- "aria-disabled": (0, vue.unref)(props).disabled,
341
- onClick: handleControlClick
342
- }, [!(0, vue.unref)(props).noButton ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
343
- key: 0,
344
- id: (0, vue.unref)(computedId),
345
- ref_key: "browseButtonRef",
346
- ref: browseButtonRef,
347
- type: "button",
348
- class: "b-form-file-button",
349
- disabled: (0, vue.unref)(props).disabled,
350
- "aria-label": (0, vue.unref)(props).ariaLabel,
351
- "aria-labelledby": (0, vue.unref)(props).ariaLabelledby,
352
- onClick: (0, vue.withModifiers)(openFileDialog, ["stop"])
353
- }, (0, vue.toDisplayString)(effectiveBrowseText.value), 9, _hoisted_3)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", _hoisted_4, [(0, vue.renderSlot)(_ctx.$slots, "file-name", {
354
- files: selectedFiles.value,
355
- names: fileNames.value
356
- }, () => [hasFiles.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5, (0, vue.toDisplayString)(formattedFileNames.value), 1)) : hasPlaceholderSlot.value || (0, vue.unref)(props).placeholder ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_6, [(0, vue.renderSlot)(_ctx.$slots, "placeholder", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).placeholder), 1)])])) : (0, vue.createCommentVNode)("", true)])])], 10, _hoisted_2),
357
- (0, vue.unref)(isOverDropZone) && !(0, vue.unref)(props).noDrop ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_7, [(0, vue.renderSlot)(_ctx.$slots, "drop-placeholder", {}, () => [(0, vue.createElementVNode)("div", _hoisted_8, (0, vue.toDisplayString)(effectiveDropPlaceholder.value), 1)])])) : (0, vue.createCommentVNode)("", true),
358
- (0, vue.createElementVNode)("input", (0, vue.mergeProps)({
359
- ref_key: "customInputRef",
360
- ref: customInputRef
361
- }, processedAttrs.value.inputAttrs, {
362
- type: "file",
363
- name: (0, vue.unref)(props).name,
364
- form: (0, vue.unref)(props).form,
365
- multiple: (0, vue.unref)(props).multiple || (0, vue.unref)(props).directory,
366
- disabled: (0, vue.unref)(props).disabled,
367
- required: (0, vue.unref)(props).required,
368
- accept: computedAccept.value || void 0,
369
- capture: (0, vue.unref)(props).capture,
370
- directory: (0, vue.unref)(props).directory || void 0,
371
- webkitdirectory: (0, vue.unref)(props).directory || void 0,
372
- tabindex: "-1",
373
- "aria-hidden": "true",
374
- style: {
375
- "position": "absolute",
376
- "z-index": "-5",
377
- "width": "0",
378
- "height": "0",
379
- "opacity": "0",
380
- "overflow": "hidden",
381
- "pointer-events": "none"
382
- }
383
- }), null, 16, _hoisted_9)
384
- ], 16)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("input", (0, vue.mergeProps)({
385
- key: 2,
386
- id: (0, vue.unref)(computedId),
387
- ref_key: "plainInputRef",
388
- ref: plainInputRef
389
- }, processedAttrs.value.inputAttrs, {
390
- type: "file",
391
- class: computedPlainClasses.value,
392
- form: (0, vue.unref)(props).form,
393
- name: (0, vue.unref)(props).name,
394
- multiple: (0, vue.unref)(props).multiple || (0, vue.unref)(props).directory,
395
- disabled: (0, vue.unref)(props).disabled,
396
- capture: (0, vue.unref)(props).capture,
397
- accept: computedAccept.value || void 0,
398
- required: (0, vue.unref)(props).required || void 0,
399
- "aria-label": (0, vue.unref)(props).ariaLabel,
400
- "aria-labelledby": (0, vue.unref)(props).ariaLabelledby,
401
- "aria-required": (0, vue.unref)(props).required || void 0,
402
- directory: (0, vue.unref)(props).directory || void 0,
403
- webkitdirectory: (0, vue.unref)(props).directory || void 0,
404
- onChange: onPlainChange
405
- }), null, 16, _hoisted_10)),
406
- showExternalDisplay.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_11, [(0, vue.renderSlot)(_ctx.$slots, "file-name", {
407
- files: selectedFiles.value,
408
- names: fileNames.value
409
- }, () => [hasFiles.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_12, (0, vue.toDisplayString)(formattedFileNames.value), 1)) : hasPlaceholderSlot.value || (0, vue.unref)(props).placeholder ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_13, [(0, vue.renderSlot)(_ctx.$slots, "placeholder", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).placeholder), 1)])])) : (0, vue.createCommentVNode)("", true)])])) : (0, vue.createCommentVNode)("", true),
410
- !(0, vue.unref)(props).plain ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_14, (0, vue.toDisplayString)(ariaLiveMessage.value), 1)) : (0, vue.createCommentVNode)("", true)
411
- ], 16);
412
- };
413
- }
414
- });
415
- //#endregion
416
- Object.defineProperty(exports, "BFormFile_default", {
417
- enumerable: true,
418
- get: function() {
419
- return BFormFile_default;
420
- }
421
- });
422
-
423
- //# sourceMappingURL=BFormFile-MISLntyJ.js.map