bootstrap-vue-next 0.45.4 → 0.45.6

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 (421) hide show
  1. package/dist/{BAccordion-Gz2SpRmq.mjs → BAccordion-D51b9HVD.mjs} +5 -5
  2. package/dist/{BAccordion-Gz2SpRmq.mjs.map → BAccordion-D51b9HVD.mjs.map} +1 -1
  3. package/dist/{BAccordion-DgXJMqdG.js → BAccordion-DYmuqZIG.js} +5 -5
  4. package/dist/{BAccordion-DgXJMqdG.js.map → BAccordion-DYmuqZIG.js.map} +1 -1
  5. package/dist/{BAlert-BFPBalmr.mjs → BAlert-Ce2uxrJi.mjs} +8 -8
  6. package/dist/{BAlert-BFPBalmr.mjs.map → BAlert-Ce2uxrJi.mjs.map} +1 -1
  7. package/dist/{BAlert-Dk3rgEOI.js → BAlert-croEtrQu.js} +8 -8
  8. package/dist/{BAlert-Dk3rgEOI.js.map → BAlert-croEtrQu.js.map} +1 -1
  9. package/dist/{BApp-CIu-zI8K.mjs → BApp-B-fUrnpK.mjs} +2 -2
  10. package/dist/{BApp-CIu-zI8K.mjs.map → BApp-B-fUrnpK.mjs.map} +1 -1
  11. package/dist/{BApp-cBKQc5Dd.js → BApp-DOvEe1jo.js} +2 -2
  12. package/dist/{BApp-cBKQc5Dd.js.map → BApp-DOvEe1jo.js.map} +1 -1
  13. package/dist/{BAspect-BULTO240.js → BAspect-CUIU48Ck.js} +2 -2
  14. package/dist/{BAspect-BULTO240.js.map → BAspect-CUIU48Ck.js.map} +1 -1
  15. package/dist/{BAspect-CwokVvvn.mjs → BAspect-wfiXM4KA.mjs} +2 -2
  16. package/dist/{BAspect-CwokVvvn.mjs.map → BAspect-wfiXM4KA.mjs.map} +1 -1
  17. package/dist/{BAutocomplete-j3KJbBFs.mjs → BAutocomplete-CH-bQzME.mjs} +9 -9
  18. package/dist/{BAutocomplete-j3KJbBFs.mjs.map → BAutocomplete-CH-bQzME.mjs.map} +1 -1
  19. package/dist/{BAutocomplete-BCOfyy8g.js → BAutocomplete-DLDFAV5_.js} +9 -9
  20. package/dist/{BAutocomplete-BCOfyy8g.js.map → BAutocomplete-DLDFAV5_.js.map} +1 -1
  21. package/dist/{BAvatar-CZn0MQHY.js → BAvatar-FGK0dK0x.js} +5 -5
  22. package/dist/{BAvatar-CZn0MQHY.js.map → BAvatar-FGK0dK0x.js.map} +1 -1
  23. package/dist/{BAvatar-DODGnQMY.mjs → BAvatar-iALHbqVk.mjs} +5 -5
  24. package/dist/{BAvatar-DODGnQMY.mjs.map → BAvatar-iALHbqVk.mjs.map} +1 -1
  25. package/dist/{BBadge-CZ219I7a.mjs → BBadge-Cx_CdauK.mjs} +3 -3
  26. package/dist/{BBadge-CZ219I7a.mjs.map → BBadge-Cx_CdauK.mjs.map} +1 -1
  27. package/dist/{BBadge-DTJcCo9u.js → BBadge-Db6SEnzy.js} +3 -3
  28. package/dist/{BBadge-DTJcCo9u.js.map → BBadge-Db6SEnzy.js.map} +1 -1
  29. package/dist/{BBreadcrumb-DFG2Qxl9.js → BBreadcrumb-B9ra7vg2.js} +3 -3
  30. package/dist/{BBreadcrumb-DFG2Qxl9.js.map → BBreadcrumb-B9ra7vg2.js.map} +1 -1
  31. package/dist/{BBreadcrumb-Dk4ia-9c.mjs → BBreadcrumb-BxADbg0O.mjs} +3 -3
  32. package/dist/{BBreadcrumb-Dk4ia-9c.mjs.map → BBreadcrumb-BxADbg0O.mjs.map} +1 -1
  33. package/dist/{BButton-C0Ylhonf.mjs → BButton-BSa7LfL5.mjs} +5 -5
  34. package/dist/{BButton-C0Ylhonf.mjs.map → BButton-BSa7LfL5.mjs.map} +1 -1
  35. package/dist/{BButton-BZ9eI3ZX.js → BButton-DRRlzkyK.js} +5 -5
  36. package/dist/{BButton-BZ9eI3ZX.js.map → BButton-DRRlzkyK.js.map} +1 -1
  37. package/dist/{BButton-D_sCrjpg.mjs → BButton-PY7AANXJ.mjs} +4 -4
  38. package/dist/{BButton-D_sCrjpg.mjs.map → BButton-PY7AANXJ.mjs.map} +1 -1
  39. package/dist/{BButton-Dr-RadYQ.js → BButton-aYtMnyHu.js} +4 -4
  40. package/dist/{BButton-Dr-RadYQ.js.map → BButton-aYtMnyHu.js.map} +1 -1
  41. package/dist/{BCard-cj8_dIcz.mjs → BCard-BWoruisp.mjs} +3 -3
  42. package/dist/{BCard-cj8_dIcz.mjs.map → BCard-BWoruisp.mjs.map} +1 -1
  43. package/dist/{BCard-BjQkY783.js → BCard-Bh8RLMo_.js} +3 -3
  44. package/dist/{BCard-BjQkY783.js.map → BCard-Bh8RLMo_.js.map} +1 -1
  45. package/dist/{BCard-TS8DtOwm.mjs → BCard-CHbKv2OR.mjs} +3 -3
  46. package/dist/{BCard-TS8DtOwm.mjs.map → BCard-CHbKv2OR.mjs.map} +1 -1
  47. package/dist/{BCard-BkvG5Zzw.js → BCard-DwNYhVmg.js} +3 -3
  48. package/dist/{BCard-BkvG5Zzw.js.map → BCard-DwNYhVmg.js.map} +1 -1
  49. package/dist/{BCarousel-D23rApAX.js → BCarousel-2JB21Pcu.js} +5 -5
  50. package/dist/{BCarousel-D23rApAX.js.map → BCarousel-2JB21Pcu.js.map} +1 -1
  51. package/dist/{BCarousel-VL1gVXpt.mjs → BCarousel-B6_bgQpl.mjs} +5 -5
  52. package/dist/{BCarousel-VL1gVXpt.mjs.map → BCarousel-B6_bgQpl.mjs.map} +1 -1
  53. package/dist/{BCloseButton-CCdRwLDo.mjs → BCloseButton-CKTKr4PS.mjs} +2 -2
  54. package/dist/{BCloseButton-CCdRwLDo.mjs.map → BCloseButton-CKTKr4PS.mjs.map} +1 -1
  55. package/dist/{BCloseButton-fw5ONnhr.js → BCloseButton-D42zHRLP.js} +2 -2
  56. package/dist/{BCloseButton-fw5ONnhr.js.map → BCloseButton-D42zHRLP.js.map} +1 -1
  57. package/dist/{BCol-VPaTVLsM.mjs → BCol-B3VeEk9z.mjs} +2 -2
  58. package/dist/{BCol-VPaTVLsM.mjs.map → BCol-B3VeEk9z.mjs.map} +1 -1
  59. package/dist/{BCol-CArTYHqb.js → BCol-Ck9VydHj.js} +2 -2
  60. package/dist/{BCol-CArTYHqb.js.map → BCol-Ck9VydHj.js.map} +1 -1
  61. package/dist/{BCollapse-CZlDVTpI.js → BCollapse-CDLYLSZo.js} +5 -5
  62. package/dist/{BCollapse-CZlDVTpI.js.map → BCollapse-CDLYLSZo.js.map} +1 -1
  63. package/dist/{BCollapse-CTvK48kB.mjs → BCollapse-kqhe4AmL.mjs} +5 -5
  64. package/dist/{BCollapse-CTvK48kB.mjs.map → BCollapse-kqhe4AmL.mjs.map} +1 -1
  65. package/dist/{BContainer-CeHyMYb_.mjs → BContainer-ATfhaxTc.mjs} +4 -4
  66. package/dist/{BContainer-CeHyMYb_.mjs.map → BContainer-ATfhaxTc.mjs.map} +1 -1
  67. package/dist/{BContainer-CNmEk2mi.js → BContainer-CcF6dgtI.js} +4 -4
  68. package/dist/{BContainer-CNmEk2mi.js.map → BContainer-CcF6dgtI.js.map} +1 -1
  69. package/dist/{BDateField-gRWIwMnA.mjs → BDateField-CccP3H1R.mjs} +3 -3
  70. package/dist/{BDateField-gRWIwMnA.mjs.map → BDateField-CccP3H1R.mjs.map} +1 -1
  71. package/dist/{BDateField-B4yL8Pju.js → BDateField-DzZw5FRX.js} +3 -3
  72. package/dist/{BDateField-B4yL8Pju.js.map → BDateField-DzZw5FRX.js.map} +1 -1
  73. package/dist/{BDatePicker-m2drV1fl.js → BDatePicker-BDkzkOcm.js} +3 -3
  74. package/dist/{BDatePicker-m2drV1fl.js.map → BDatePicker-BDkzkOcm.js.map} +1 -1
  75. package/dist/{BDatePicker-ZuMpgD91.mjs → BDatePicker-BnwnSkBg.mjs} +3 -3
  76. package/dist/{BDatePicker-ZuMpgD91.mjs.map → BDatePicker-BnwnSkBg.mjs.map} +1 -1
  77. package/dist/{BDropdown-D2ep4wKG.mjs → BDropdown-0E8x5kk6.mjs} +5 -5
  78. package/dist/{BDropdown-D2ep4wKG.mjs.map → BDropdown-0E8x5kk6.mjs.map} +1 -1
  79. package/dist/{BDropdown-B2vWJ-u0.mjs → BDropdown-B1DbvVzm.mjs} +7 -7
  80. package/dist/{BDropdown-B2vWJ-u0.mjs.map → BDropdown-B1DbvVzm.mjs.map} +1 -1
  81. package/dist/{BDropdown-BSCasYDc.js → BDropdown-BPFtkX3p.js} +7 -7
  82. package/dist/{BDropdown-BSCasYDc.js.map → BDropdown-BPFtkX3p.js.map} +1 -1
  83. package/dist/{BDropdown-CL-erjq8.js → BDropdown-DKCgBzYS.js} +5 -5
  84. package/dist/{BDropdown-CL-erjq8.js.map → BDropdown-DKCgBzYS.js.map} +1 -1
  85. package/dist/{BForm-CriVh5cC.js → BForm-6JlWdQMO.js} +10 -7
  86. package/dist/{BForm-CriVh5cC.js.map → BForm-6JlWdQMO.js.map} +1 -1
  87. package/dist/{BForm-CpNuvbIt.mjs → BForm-BVfW08s5.mjs} +2 -2
  88. package/dist/{BForm-CpNuvbIt.mjs.map → BForm-BVfW08s5.mjs.map} +1 -1
  89. package/dist/{BForm-__5Chigr.mjs → BForm-DJu2hDV_.mjs} +11 -8
  90. package/dist/{BForm-__5Chigr.mjs.map → BForm-DJu2hDV_.mjs.map} +1 -1
  91. package/dist/{BForm-K67Ciyza.js → BForm-cnRpggt9.js} +2 -2
  92. package/dist/{BForm-K67Ciyza.js.map → BForm-cnRpggt9.js.map} +1 -1
  93. package/dist/{BFormCheckbox-xN7AQw4O.mjs → BFormCheckbox-Baf_9BSc.mjs} +9 -6
  94. package/dist/BFormCheckbox-Baf_9BSc.mjs.map +1 -0
  95. package/dist/{BFormCheckbox-g7gtIrhy.js → BFormCheckbox-D5ySHMJ8.js} +9 -6
  96. package/dist/BFormCheckbox-D5ySHMJ8.js.map +1 -0
  97. package/dist/{BFormFile-DXdAyYmv.mjs → BFormFile-EXRrATZm.mjs} +3 -3
  98. package/dist/{BFormFile-DXdAyYmv.mjs.map → BFormFile-EXRrATZm.mjs.map} +1 -1
  99. package/dist/{BFormFile-DC-x9wQo.js → BFormFile-X-BQsYko.js} +3 -3
  100. package/dist/{BFormFile-DC-x9wQo.js.map → BFormFile-X-BQsYko.js.map} +1 -1
  101. package/dist/{BFormGroup-DZTiChgT.js → BFormGroup-Bk1t-D1N.js} +89 -104
  102. package/dist/BFormGroup-Bk1t-D1N.js.map +1 -0
  103. package/dist/{BFormGroup-ayltvQts.mjs → BFormGroup-vysRPb99.mjs} +90 -105
  104. package/dist/BFormGroup-vysRPb99.mjs.map +1 -0
  105. package/dist/{BFormInput-DNuvqbFQ.js → BFormInput-CBwwDjfC.js} +4 -4
  106. package/dist/{BFormInput-DNuvqbFQ.js.map → BFormInput-CBwwDjfC.js.map} +1 -1
  107. package/dist/{BFormInput-NKko58M2.mjs → BFormInput-sEfU3CuN.mjs} +4 -4
  108. package/dist/{BFormInput-NKko58M2.mjs.map → BFormInput-sEfU3CuN.mjs.map} +1 -1
  109. package/dist/{BFormOtp-B4al7MJf.mjs → BFormOtp-C8X3u1od.mjs} +4 -4
  110. package/dist/{BFormOtp-B4al7MJf.mjs.map → BFormOtp-C8X3u1od.mjs.map} +1 -1
  111. package/dist/{BFormOtp-UcLR9oFd.js → BFormOtp-CLrQJRPe.js} +4 -4
  112. package/dist/{BFormOtp-UcLR9oFd.js.map → BFormOtp-CLrQJRPe.js.map} +1 -1
  113. package/dist/{BFormRadio-DX-gM5Rc.js → BFormRadio-B2yu-o2v.js} +9 -6
  114. package/dist/BFormRadio-B2yu-o2v.js.map +1 -0
  115. package/dist/{BFormRadio-DHx68AdL.mjs → BFormRadio-COc_IbxC.mjs} +9 -6
  116. package/dist/BFormRadio-COc_IbxC.mjs.map +1 -0
  117. package/dist/{BFormRating-BR7RMvZG.mjs → BFormRating-CIgPVsH_.mjs} +4 -4
  118. package/dist/{BFormRating-BR7RMvZG.mjs.map → BFormRating-CIgPVsH_.mjs.map} +1 -1
  119. package/dist/{BFormRating-CF-x5qkB.js → BFormRating-CSdRxN5z.js} +4 -4
  120. package/dist/{BFormRating-CF-x5qkB.js.map → BFormRating-CSdRxN5z.js.map} +1 -1
  121. package/dist/{BFormSelect-CUkyKBNN.js → BFormSelect-CI92Dv27.js} +8 -7
  122. package/dist/BFormSelect-CI92Dv27.js.map +1 -0
  123. package/dist/{BFormSelect-Co-ZU8yY.mjs → BFormSelect-P-InkOm-.mjs} +8 -7
  124. package/dist/BFormSelect-P-InkOm-.mjs.map +1 -0
  125. package/dist/{BFormSelectOption-B3BO50XB.mjs → BFormSelectOption-DFN4lPRh.mjs} +3 -3
  126. package/dist/{BFormSelectOption-B3BO50XB.mjs.map → BFormSelectOption-DFN4lPRh.mjs.map} +1 -1
  127. package/dist/{BFormSelectOption-CQ3j1Q5j.js → BFormSelectOption-DrwJucNf.js} +3 -3
  128. package/dist/{BFormSelectOption-CQ3j1Q5j.js.map → BFormSelectOption-DrwJucNf.js.map} +1 -1
  129. package/dist/{BFormSpinbutton-DPCXum9q.js → BFormSpinbutton-1gTz4nTo.js} +4 -4
  130. package/dist/{BFormSpinbutton-DPCXum9q.js.map → BFormSpinbutton-1gTz4nTo.js.map} +1 -1
  131. package/dist/{BFormSpinbutton-CPsVUIh9.mjs → BFormSpinbutton-6qkTBF_4.mjs} +4 -4
  132. package/dist/{BFormSpinbutton-CPsVUIh9.mjs.map → BFormSpinbutton-6qkTBF_4.mjs.map} +1 -1
  133. package/dist/{BFormTag-Bsy6Znok.js → BFormTag-CeV0MSRC.js} +4 -4
  134. package/dist/{BFormTag-Bsy6Znok.js.map → BFormTag-CeV0MSRC.js.map} +1 -1
  135. package/dist/{BFormTag-Cjg1R-Lj.mjs → BFormTag-CnzI39y9.mjs} +4 -4
  136. package/dist/{BFormTag-Cjg1R-Lj.mjs.map → BFormTag-CnzI39y9.mjs.map} +1 -1
  137. package/dist/{BFormTags-D2Dk598Q.mjs → BFormTags-BMltSaKL.mjs} +4 -4
  138. package/dist/{BFormTags-D2Dk598Q.mjs.map → BFormTags-BMltSaKL.mjs.map} +1 -1
  139. package/dist/{BFormTags-BIZyBseI.js → BFormTags-BhO60uiL.js} +4 -4
  140. package/dist/{BFormTags-BIZyBseI.js.map → BFormTags-BhO60uiL.js.map} +1 -1
  141. package/dist/{BFormTextarea-CYh47SxL.js → BFormTextarea-C3Cj0DWj.js} +3 -3
  142. package/dist/{BFormTextarea-CYh47SxL.js.map → BFormTextarea-C3Cj0DWj.js.map} +1 -1
  143. package/dist/{BFormTextarea-M21mholw.mjs → BFormTextarea-DN1gAfSo.mjs} +3 -3
  144. package/dist/{BFormTextarea-M21mholw.mjs.map → BFormTextarea-DN1gAfSo.mjs.map} +1 -1
  145. package/dist/{BFormValidFeedback-DWkakzVO.mjs → BFormValidFeedback-CBYxQLDz.mjs} +44 -4
  146. package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +1 -0
  147. package/dist/{BFormValidFeedback-BhkEhSa0.js → BFormValidFeedback-Kwxh798d.js} +48 -2
  148. package/dist/BFormValidFeedback-Kwxh798d.js.map +1 -0
  149. package/dist/{BImg-DFiJSy66.js → BImg-JKJLgYYT.js} +2 -2
  150. package/dist/{BImg-DFiJSy66.js.map → BImg-JKJLgYYT.js.map} +1 -1
  151. package/dist/{BImg-UUMOpbK0.mjs → BImg-QBS2ECBc.mjs} +2 -2
  152. package/dist/{BImg-UUMOpbK0.mjs.map → BImg-QBS2ECBc.mjs.map} +1 -1
  153. package/dist/{BInputGroup-BAC-B_UM.js → BInputGroup-Bvlfv6VD.js} +3 -3
  154. package/dist/{BInputGroup-BAC-B_UM.js.map → BInputGroup-Bvlfv6VD.js.map} +1 -1
  155. package/dist/{BInputGroup-CiKwWBSu.js → BInputGroup-D4fW324B.js} +3 -3
  156. package/dist/{BInputGroup-CiKwWBSu.js.map → BInputGroup-D4fW324B.js.map} +1 -1
  157. package/dist/{BInputGroup-CfELrPhK.mjs → BInputGroup-DiTSexkT.mjs} +3 -3
  158. package/dist/{BInputGroup-CfELrPhK.mjs.map → BInputGroup-DiTSexkT.mjs.map} +1 -1
  159. package/dist/{BInputGroup-3AVRA3U7.mjs → BInputGroup-X2Z53RJx.mjs} +3 -3
  160. package/dist/{BInputGroup-3AVRA3U7.mjs.map → BInputGroup-X2Z53RJx.mjs.map} +1 -1
  161. package/dist/{BLink-CNFWSz0D.mjs → BLink-Dfgte6dQ.mjs} +3 -3
  162. package/dist/{BLink-CNFWSz0D.mjs.map → BLink-Dfgte6dQ.mjs.map} +1 -1
  163. package/dist/{BLink-uLjtY3bY.js → BLink-kLEjleB1.js} +3 -3
  164. package/dist/{BLink-uLjtY3bY.js.map → BLink-kLEjleB1.js.map} +1 -1
  165. package/dist/{BListGroup-CeXKZio1.js → BListGroup-C8JOzHTz.js} +4 -4
  166. package/dist/{BListGroup-CeXKZio1.js.map → BListGroup-C8JOzHTz.js.map} +1 -1
  167. package/dist/{BListGroup-CGxa7ZEu.mjs → BListGroup-DwTLpNiD.mjs} +4 -4
  168. package/dist/{BListGroup-CGxa7ZEu.mjs.map → BListGroup-DwTLpNiD.mjs.map} +1 -1
  169. package/dist/{BModal-BEmloby5.mjs → BModal-C-ZCau2E.mjs} +7 -7
  170. package/dist/{BModal-BEmloby5.mjs.map → BModal-C-ZCau2E.mjs.map} +1 -1
  171. package/dist/{BModal-6hh-azT8.js → BModal-VstTwEq9.js} +7 -7
  172. package/dist/{BModal-6hh-azT8.js.map → BModal-VstTwEq9.js.map} +1 -1
  173. package/dist/{BNav-u9QwSGj3.js → BNav-DCLambmM.js} +5 -5
  174. package/dist/{BNav-u9QwSGj3.js.map → BNav-DCLambmM.js.map} +1 -1
  175. package/dist/{BNav-EHHlEg1E.mjs → BNav-DfYvjfRK.mjs} +5 -5
  176. package/dist/{BNav-EHHlEg1E.mjs.map → BNav-DfYvjfRK.mjs.map} +1 -1
  177. package/dist/{BNavbar-s8yvmhyz.js → BNavbar-BLWaZJRP.js} +4 -4
  178. package/dist/{BNavbar-s8yvmhyz.js.map → BNavbar-BLWaZJRP.js.map} +1 -1
  179. package/dist/{BNavbar-kgHIo_Gr.mjs → BNavbar-xYaikQVY.mjs} +4 -4
  180. package/dist/{BNavbar-kgHIo_Gr.mjs.map → BNavbar-xYaikQVY.mjs.map} +1 -1
  181. package/dist/{BOffcanvas-CwH0DqSG.mjs → BOffcanvas-CQb9XNvS.mjs} +6 -6
  182. package/dist/{BOffcanvas-CwH0DqSG.mjs.map → BOffcanvas-CQb9XNvS.mjs.map} +1 -1
  183. package/dist/{BOffcanvas-DdiP19Xz.js → BOffcanvas-DTRiZzwN.js} +6 -6
  184. package/dist/{BOffcanvas-DdiP19Xz.js.map → BOffcanvas-DTRiZzwN.js.map} +1 -1
  185. package/dist/{BOverlay-DSUoseNJ.mjs → BOverlay-Bh2PIN_q.mjs} +3 -3
  186. package/dist/{BOverlay-DSUoseNJ.mjs.map → BOverlay-Bh2PIN_q.mjs.map} +1 -1
  187. package/dist/{BOverlay--gZBEMlX.js → BOverlay-Bh4ldxgt.js} +3 -3
  188. package/dist/{BOverlay--gZBEMlX.js.map → BOverlay-Bh4ldxgt.js.map} +1 -1
  189. package/dist/{BPagination-C7MKOk8h.mjs → BPagination-D75q-ZNg.mjs} +2 -2
  190. package/dist/{BPagination-C7MKOk8h.mjs.map → BPagination-D75q-ZNg.mjs.map} +1 -1
  191. package/dist/{BPagination-D6W1LdgK.js → BPagination-fbjFAtxu.js} +2 -2
  192. package/dist/{BPagination-D6W1LdgK.js.map → BPagination-fbjFAtxu.js.map} +1 -1
  193. package/dist/{BPlaceholder-Ckvq3tMu.js → BPlaceholder-B3rs_39w.js} +4 -4
  194. package/dist/{BPlaceholder-Ckvq3tMu.js.map → BPlaceholder-B3rs_39w.js.map} +1 -1
  195. package/dist/{BPlaceholder-D__hNPyQ.mjs → BPlaceholder-DPQ6mCLN.mjs} +4 -4
  196. package/dist/{BPlaceholder-D__hNPyQ.mjs.map → BPlaceholder-DPQ6mCLN.mjs.map} +1 -1
  197. package/dist/{BProgress-I1ucNlpA.mjs → BProgress-BZlrPYhA.mjs} +3 -3
  198. package/dist/{BProgress-I1ucNlpA.mjs.map → BProgress-BZlrPYhA.mjs.map} +1 -1
  199. package/dist/{BProgress-ySlPjpRn.js → BProgress-th0-eZWo.js} +3 -3
  200. package/dist/{BProgress-ySlPjpRn.js.map → BProgress-th0-eZWo.js.map} +1 -1
  201. package/dist/{BRow-CmKiMcMZ.js → BRow-7AOuFiSy.js} +2 -2
  202. package/dist/{BRow-CmKiMcMZ.js.map → BRow-7AOuFiSy.js.map} +1 -1
  203. package/dist/{BRow-U3L8AcKV.mjs → BRow-eGSUYGCW.mjs} +2 -2
  204. package/dist/{BRow-U3L8AcKV.mjs.map → BRow-eGSUYGCW.mjs.map} +1 -1
  205. package/dist/{BSpinner-CAo-XD04.mjs → BSpinner-CUfGqviV.mjs} +2 -2
  206. package/dist/{BSpinner-CAo-XD04.mjs.map → BSpinner-CUfGqviV.mjs.map} +1 -1
  207. package/dist/{BSpinner-C1bm8U4-.js → BSpinner-DbYIp-C7.js} +2 -2
  208. package/dist/{BSpinner-C1bm8U4-.js.map → BSpinner-DbYIp-C7.js.map} +1 -1
  209. package/dist/{BTable-Bt75vbNu.mjs → BTable-CzMtFdt5.mjs} +5 -5
  210. package/dist/{BTable-Bt75vbNu.mjs.map → BTable-CzMtFdt5.mjs.map} +1 -1
  211. package/dist/{BTable-CXxJl2ps.js → BTable-DOpSWDaC.js} +5 -5
  212. package/dist/{BTable-CXxJl2ps.js.map → BTable-DOpSWDaC.js.map} +1 -1
  213. package/dist/{BTableSimple-pyz_6D4s.js → BTableSimple-BkdGAAKb.js} +3 -3
  214. package/dist/{BTableSimple-pyz_6D4s.js.map → BTableSimple-BkdGAAKb.js.map} +1 -1
  215. package/dist/{BTableSimple-CThwYBVl.mjs → BTableSimple-C-jn9Nwh.mjs} +3 -3
  216. package/dist/{BTableSimple-CThwYBVl.mjs.map → BTableSimple-C-jn9Nwh.mjs.map} +1 -1
  217. package/dist/{BTabs-C8rUY0Lx.js → BTabs-CvecFg5N.js} +4 -4
  218. package/dist/{BTabs-C8rUY0Lx.js.map → BTabs-CvecFg5N.js.map} +1 -1
  219. package/dist/{BTabs-Krs_Lv-R.mjs → BTabs-D_vWlBjT.mjs} +4 -4
  220. package/dist/{BTabs-Krs_Lv-R.mjs.map → BTabs-D_vWlBjT.mjs.map} +1 -1
  221. package/dist/{BTimeField-DSf4cMpN.mjs → BTimeField-BSDaZogC.mjs} +3 -3
  222. package/dist/{BTimeField-DSf4cMpN.mjs.map → BTimeField-BSDaZogC.mjs.map} +1 -1
  223. package/dist/{BTimeField-W2LqGCjB.js → BTimeField-BT5HXecp.js} +3 -3
  224. package/dist/{BTimeField-W2LqGCjB.js.map → BTimeField-BT5HXecp.js.map} +1 -1
  225. package/dist/{BToast-DZuxMDbe.js → BToast-DR0pek4W.js} +8 -8
  226. package/dist/{BToast-DZuxMDbe.js.map → BToast-DR0pek4W.js.map} +1 -1
  227. package/dist/{BToast-Dcfnqbxt.mjs → BToast-Y8BayxES.mjs} +8 -8
  228. package/dist/{BToast-Dcfnqbxt.mjs.map → BToast-Y8BayxES.mjs.map} +1 -1
  229. package/dist/{BTooltip-BWij0hjE.mjs → BTooltip-CVP8HdkU.mjs} +3 -3
  230. package/dist/{BTooltip-BWij0hjE.mjs.map → BTooltip-CVP8HdkU.mjs.map} +1 -1
  231. package/dist/{BTooltip-BGTjsV1z.js → BTooltip-DPLYtaL1.js} +3 -3
  232. package/dist/{BTooltip-BGTjsV1z.js.map → BTooltip-DPLYtaL1.js.map} +1 -1
  233. package/dist/bootstrap-vue-next.mjs +59 -59
  234. package/dist/bootstrap-vue-next.umd.js +59 -59
  235. package/dist/composables/useProvideFormGroupData.d.mts +15 -0
  236. package/dist/composables/useProvideFormGroupData.d.ts +15 -0
  237. package/dist/{floatingUi-8xXp54zf.mjs → floatingUi-62aeQtAb.mjs} +4 -4
  238. package/dist/{floatingUi-8xXp54zf.mjs.map → floatingUi-62aeQtAb.mjs.map} +1 -1
  239. package/dist/{floatingUi-9SWu8BgZ.js → floatingUi-DQ5bHmy3.js} +4 -4
  240. package/dist/{floatingUi-9SWu8BgZ.js.map → floatingUi-DQ5bHmy3.js.map} +1 -1
  241. package/dist/{keys-durSVUrO.js → keys-BMye8nSf.js} +10 -1
  242. package/dist/{keys-durSVUrO.js.map → keys-BMye8nSf.js.map} +1 -1
  243. package/dist/{keys-CQKrwmvN.mjs → keys-DU7sQgl3.mjs} +10 -1
  244. package/dist/{keys-CQKrwmvN.mjs.map → keys-DU7sQgl3.mjs.map} +1 -1
  245. package/dist/src/components/BAccordion/index.mjs +1 -1
  246. package/dist/src/components/BAccordion/index.umd.js +1 -1
  247. package/dist/src/components/BAlert/index.mjs +1 -1
  248. package/dist/src/components/BAlert/index.umd.js +1 -1
  249. package/dist/src/components/BApp/index.mjs +1 -1
  250. package/dist/src/components/BApp/index.umd.js +1 -1
  251. package/dist/src/components/BAspect/index.mjs +1 -1
  252. package/dist/src/components/BAspect/index.umd.js +1 -1
  253. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  254. package/dist/src/components/BAutocomplete/index.umd.js +1 -1
  255. package/dist/src/components/BAvatar/index.mjs +1 -1
  256. package/dist/src/components/BAvatar/index.umd.js +1 -1
  257. package/dist/src/components/BBadge/index.mjs +1 -1
  258. package/dist/src/components/BBadge/index.umd.js +1 -1
  259. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  260. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  261. package/dist/src/components/BButton/index.mjs +3 -3
  262. package/dist/src/components/BButton/index.umd.js +3 -3
  263. package/dist/src/components/BCard/index.mjs +2 -2
  264. package/dist/src/components/BCard/index.umd.js +2 -2
  265. package/dist/src/components/BCarousel/index.mjs +1 -1
  266. package/dist/src/components/BCarousel/index.umd.js +1 -1
  267. package/dist/src/components/BCol/index.mjs +1 -1
  268. package/dist/src/components/BCol/index.umd.js +1 -1
  269. package/dist/src/components/BCollapse/index.mjs +1 -1
  270. package/dist/src/components/BCollapse/index.umd.js +1 -1
  271. package/dist/src/components/BContainer/index.mjs +3 -3
  272. package/dist/src/components/BContainer/index.umd.js +3 -3
  273. package/dist/src/components/BDateField/index.mjs +1 -1
  274. package/dist/src/components/BDateField/index.umd.js +1 -1
  275. package/dist/src/components/BDatePicker/index.mjs +1 -1
  276. package/dist/src/components/BDatePicker/index.umd.js +1 -1
  277. package/dist/src/components/BDropdown/index.mjs +2 -2
  278. package/dist/src/components/BDropdown/index.umd.js +2 -2
  279. package/dist/src/components/BForm/index.mjs +3 -3
  280. package/dist/src/components/BForm/index.umd.js +3 -3
  281. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  282. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  283. package/dist/src/components/BFormFile/index.mjs +1 -1
  284. package/dist/src/components/BFormFile/index.umd.js +1 -1
  285. package/dist/src/components/BFormGroup/index.mjs +1 -1
  286. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  287. package/dist/src/components/BFormInput/index.mjs +1 -1
  288. package/dist/src/components/BFormInput/index.umd.js +1 -1
  289. package/dist/src/components/BFormOtp/index.mjs +1 -1
  290. package/dist/src/components/BFormOtp/index.umd.js +1 -1
  291. package/dist/src/components/BFormRadio/index.mjs +1 -1
  292. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  293. package/dist/src/components/BFormRating/index.mjs +1 -1
  294. package/dist/src/components/BFormRating/index.umd.js +1 -1
  295. package/dist/src/components/BFormSelect/index.mjs +2 -2
  296. package/dist/src/components/BFormSelect/index.umd.js +2 -2
  297. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  298. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  299. package/dist/src/components/BFormTags/index.mjs +2 -2
  300. package/dist/src/components/BFormTags/index.umd.js +2 -2
  301. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  302. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  303. package/dist/src/components/BImg/index.mjs +1 -1
  304. package/dist/src/components/BImg/index.umd.js +1 -1
  305. package/dist/src/components/BInputGroup/index.mjs +2 -2
  306. package/dist/src/components/BInputGroup/index.umd.js +2 -2
  307. package/dist/src/components/BLink/index.mjs +1 -1
  308. package/dist/src/components/BLink/index.umd.js +1 -1
  309. package/dist/src/components/BListGroup/index.mjs +1 -1
  310. package/dist/src/components/BListGroup/index.umd.js +1 -1
  311. package/dist/src/components/BModal/index.mjs +1 -1
  312. package/dist/src/components/BModal/index.umd.js +1 -1
  313. package/dist/src/components/BNav/index.mjs +1 -1
  314. package/dist/src/components/BNav/index.umd.js +1 -1
  315. package/dist/src/components/BNavbar/index.mjs +1 -1
  316. package/dist/src/components/BNavbar/index.umd.js +1 -1
  317. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  318. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  319. package/dist/src/components/BOverlay/index.mjs +1 -1
  320. package/dist/src/components/BOverlay/index.umd.js +1 -1
  321. package/dist/src/components/BPagination/index.mjs +1 -1
  322. package/dist/src/components/BPagination/index.umd.js +1 -1
  323. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  324. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  325. package/dist/src/components/BPopover/index.mjs +1 -1
  326. package/dist/src/components/BPopover/index.umd.js +1 -1
  327. package/dist/src/components/BProgress/index.mjs +1 -1
  328. package/dist/src/components/BProgress/index.umd.js +1 -1
  329. package/dist/src/components/BRow/index.mjs +1 -1
  330. package/dist/src/components/BRow/index.umd.js +1 -1
  331. package/dist/src/components/BSpinner/index.mjs +1 -1
  332. package/dist/src/components/BSpinner/index.umd.js +1 -1
  333. package/dist/src/components/BTable/index.mjs +2 -2
  334. package/dist/src/components/BTable/index.umd.js +2 -2
  335. package/dist/src/components/BTabs/index.mjs +1 -1
  336. package/dist/src/components/BTabs/index.umd.js +1 -1
  337. package/dist/src/components/BTimeField/index.mjs +1 -1
  338. package/dist/src/components/BTimeField/index.umd.js +1 -1
  339. package/dist/src/components/BToast/index.mjs +1 -1
  340. package/dist/src/components/BToast/index.umd.js +1 -1
  341. package/dist/src/components/BTooltip/index.mjs +1 -1
  342. package/dist/src/components/BTooltip/index.umd.js +1 -1
  343. package/dist/src/components/index.mjs +59 -59
  344. package/dist/src/components/index.umd.js +59 -59
  345. package/dist/src/composables/orchestratorShared/index.mjs +1 -1
  346. package/dist/src/composables/orchestratorShared/index.umd.js +1 -1
  347. package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
  348. package/dist/src/composables/useBreadcrumb/index.umd.js +1 -1
  349. package/dist/src/composables/useModal/index.mjs +2 -2
  350. package/dist/src/composables/useModal/index.umd.js +2 -2
  351. package/dist/src/composables/usePopover/index.mjs +3 -3
  352. package/dist/src/composables/usePopover/index.umd.js +3 -3
  353. package/dist/src/composables/useProvideDefaults/index.mjs +1 -1
  354. package/dist/src/composables/useProvideDefaults/index.umd.js +1 -1
  355. package/dist/src/composables/useRegistry/index.mjs +1 -1
  356. package/dist/src/composables/useRegistry/index.umd.js +1 -1
  357. package/dist/src/composables/useToast/index.mjs +2 -2
  358. package/dist/src/composables/useToast/index.umd.js +2 -2
  359. package/dist/src/composables/useToggle/index.mjs +1 -1
  360. package/dist/src/composables/useToggle/index.umd.js +1 -1
  361. package/dist/src/directives/BPopover/index.mjs +2 -2
  362. package/dist/src/directives/BPopover/index.umd.js +2 -2
  363. package/dist/src/directives/BScrollspy/index.mjs +1 -1
  364. package/dist/src/directives/BScrollspy/index.umd.js +1 -1
  365. package/dist/src/directives/BToggle/index.mjs +2 -2
  366. package/dist/src/directives/BToggle/index.umd.js +2 -2
  367. package/dist/src/directives/BTooltip/index.mjs +2 -2
  368. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  369. package/dist/src/plugins/createBootstrap/index.mjs +1 -1
  370. package/dist/src/plugins/createBootstrap/index.umd.js +1 -1
  371. package/dist/src/plugins/orchestrator/index.mjs +1 -1
  372. package/dist/src/plugins/orchestrator/index.umd.js +1 -1
  373. package/dist/src/plugins/registry/index.mjs +1 -1
  374. package/dist/src/plugins/registry/index.umd.js +1 -1
  375. package/dist/src/plugins/rtl/index.mjs +1 -1
  376. package/dist/src/plugins/rtl/index.umd.js +1 -1
  377. package/dist/{useDefaults-DsLf4iRY.js → useDefaults-C0CYry78.js} +2 -2
  378. package/dist/{useDefaults-DsLf4iRY.js.map → useDefaults-C0CYry78.js.map} +1 -1
  379. package/dist/{useDefaults-BKgBaqOV.mjs → useDefaults-DseelK6y.mjs} +2 -2
  380. package/dist/{useDefaults-BKgBaqOV.mjs.map → useDefaults-DseelK6y.mjs.map} +1 -1
  381. package/dist/{useFormInput-CA4FYoV7.mjs → useFormInput-CXl8rpD0.mjs} +5 -4
  382. package/dist/useFormInput-CXl8rpD0.mjs.map +1 -0
  383. package/dist/{useFormInput-D31FCDxr.js → useFormInput-ip9hN2AU.js} +5 -4
  384. package/dist/useFormInput-ip9hN2AU.js.map +1 -0
  385. package/dist/{useFormSelect-C0nvno12.mjs → useFormSelect-BM0rsjni.mjs} +9 -2
  386. package/dist/useFormSelect-BM0rsjni.mjs.map +1 -0
  387. package/dist/{useFormSelect-CjAziZpu.js → useFormSelect-ClmzGzOy.js} +9 -2
  388. package/dist/useFormSelect-ClmzGzOy.js.map +1 -0
  389. package/dist/{useId-DHrBgM7P.js → useId-BkAY2oh6.js} +2 -2
  390. package/dist/{useId-DHrBgM7P.js.map → useId-BkAY2oh6.js.map} +1 -1
  391. package/dist/{useId-BKZFSYm8.mjs → useId-D1sqXtwx.mjs} +2 -2
  392. package/dist/{useId-BKZFSYm8.mjs.map → useId-D1sqXtwx.mjs.map} +1 -1
  393. package/dist/{useRtl-DDPRnA7g.js → useRtl-BSgvbs5F.js} +2 -2
  394. package/dist/{useRtl-DDPRnA7g.js.map → useRtl-BSgvbs5F.js.map} +1 -1
  395. package/dist/{useRtl-VR3M2Txg.mjs → useRtl-CGoXBxNo.mjs} +2 -2
  396. package/dist/{useRtl-VR3M2Txg.mjs.map → useRtl-CGoXBxNo.mjs.map} +1 -1
  397. package/dist/{useShowHide-DKdljnpv.mjs → useShowHide-CBFt1_EW.mjs} +2 -2
  398. package/dist/{useShowHide-DKdljnpv.mjs.map → useShowHide-CBFt1_EW.mjs.map} +1 -1
  399. package/dist/{useShowHide-BhdrR1wG.js → useShowHide-CHm2uUep.js} +2 -2
  400. package/dist/{useShowHide-BhdrR1wG.js.map → useShowHide-CHm2uUep.js.map} +1 -1
  401. package/dist/utils/keys.d.mts +11 -1
  402. package/dist/utils/keys.d.ts +11 -1
  403. package/dist/{utils-BbYwYPyP.mjs → utils-CWvndqPg.mjs} +3 -3
  404. package/dist/{utils-BbYwYPyP.mjs.map → utils-CWvndqPg.mjs.map} +1 -1
  405. package/dist/{utils-ePxMJ7rd.js → utils-Dk9yAtbs.js} +3 -3
  406. package/dist/{utils-ePxMJ7rd.js.map → utils-Dk9yAtbs.js.map} +1 -1
  407. package/package.json +1 -1
  408. package/dist/BFormCheckbox-g7gtIrhy.js.map +0 -1
  409. package/dist/BFormCheckbox-xN7AQw4O.mjs.map +0 -1
  410. package/dist/BFormGroup-DZTiChgT.js.map +0 -1
  411. package/dist/BFormGroup-ayltvQts.mjs.map +0 -1
  412. package/dist/BFormRadio-DHx68AdL.mjs.map +0 -1
  413. package/dist/BFormRadio-DX-gM5Rc.js.map +0 -1
  414. package/dist/BFormSelect-CUkyKBNN.js.map +0 -1
  415. package/dist/BFormSelect-Co-ZU8yY.mjs.map +0 -1
  416. package/dist/BFormValidFeedback-BhkEhSa0.js.map +0 -1
  417. package/dist/BFormValidFeedback-DWkakzVO.mjs.map +0 -1
  418. package/dist/useFormInput-CA4FYoV7.mjs.map +0 -1
  419. package/dist/useFormInput-D31FCDxr.js.map +0 -1
  420. package/dist/useFormSelect-C0nvno12.mjs.map +0 -1
  421. package/dist/useFormSelect-CjAziZpu.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaults-DsLf4iRY.js","names":[],"sources":["../src/composables/useDefaults.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n// Utilities\nimport {\n getCurrentInstance as _getCurrentInstance,\n type ComponentInternalInstance,\n computed,\n inject,\n type InjectionKey,\n provide,\n ref,\n shallowRef,\n type VNode,\n watchEffect,\n} from 'vue'\nimport {defaultsKey} from '../utils/keys'\nimport type {BvnComponentProps} from '../types/BootstrapVueOptions'\n\n// Code here was taken from\n// https://github.com/vuetifyjs/vuetify/blob/8ed87310890e2b6c8ad2a626a02c17f9467cbb60/packages/vuetify/src/composables/defaults.ts#L138\n// Thanks to the Vuetify team. Vue does not make this easy\n\nfunction injectSelf<T>(key: InjectionKey<T> | string, vm?: ComponentInternalInstance): T | undefined\nfunction injectSelf(key: InjectionKey<any> | string, vm = getCurrentInstance('injectSelf')) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const {provides} = vm\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\n\nfunction getCurrentInstance(name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nconst toKebabCase = (str = '') =>\n str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\nconst isObject = (obj: unknown): obj is Record<string, any> =>\n obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n\nfunction mergeDeep(\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[]\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nconst propIsDefined = (vnode: VNode, prop: string) =>\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n\nfunction internalUseDefaults(props: Record<string, any> = {}, name?: string) {\n const defaults = inject(defaultsKey, ref({}))\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n // Should never happen\n throw new Error('[Bvn] Could not determine component name')\n }\n\n const componentDefaults = computed(() => (defaults.value as any)?.[props._as ?? name])\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return (\n componentDefaults.value?.[prop] ?? (defaults.value as any)?.global?.[prop] ?? propValue\n )\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key[0] !== undefined && key.startsWith(key[0].toUpperCase())\n )\n _subcomponentDefaults.value = subComponents.length\n ? Object.fromEntries(subComponents)\n : undefined\n } else {\n _subcomponentDefaults.value = undefined\n }\n })\n\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm)\n provide(\n defaultsKey,\n computed(() =>\n _subcomponentDefaults.value\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\n : injected?.value\n ) as any\n )\n }\n\n return {props: _props, provideSubDefaults}\n}\n\nexport function useDefaults<T extends Record<string, any>>(\n props: T,\n name: keyof BvnComponentProps\n): T {\n const {props: _props, provideSubDefaults} = internalUseDefaults(props, name)\n provideSubDefaults()\n return _props as T\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDefaults-C0CYry78.js","names":[],"sources":["../src/composables/useDefaults.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n// Utilities\nimport {\n getCurrentInstance as _getCurrentInstance,\n type ComponentInternalInstance,\n computed,\n inject,\n type InjectionKey,\n provide,\n ref,\n shallowRef,\n type VNode,\n watchEffect,\n} from 'vue'\nimport {defaultsKey} from '../utils/keys'\nimport type {BvnComponentProps} from '../types/BootstrapVueOptions'\n\n// Code here was taken from\n// https://github.com/vuetifyjs/vuetify/blob/8ed87310890e2b6c8ad2a626a02c17f9467cbb60/packages/vuetify/src/composables/defaults.ts#L138\n// Thanks to the Vuetify team. Vue does not make this easy\n\nfunction injectSelf<T>(key: InjectionKey<T> | string, vm?: ComponentInternalInstance): T | undefined\nfunction injectSelf(key: InjectionKey<any> | string, vm = getCurrentInstance('injectSelf')) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const {provides} = vm\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\n\nfunction getCurrentInstance(name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nconst toKebabCase = (str = '') =>\n str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\nconst isObject = (obj: unknown): obj is Record<string, any> =>\n obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n\nfunction mergeDeep(\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[]\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nconst propIsDefined = (vnode: VNode, prop: string) =>\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n\nfunction internalUseDefaults(props: Record<string, any> = {}, name?: string) {\n const defaults = inject(defaultsKey, ref({}))\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n // Should never happen\n throw new Error('[Bvn] Could not determine component name')\n }\n\n const componentDefaults = computed(() => (defaults.value as any)?.[props._as ?? name])\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return (\n componentDefaults.value?.[prop] ?? (defaults.value as any)?.global?.[prop] ?? propValue\n )\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key[0] !== undefined && key.startsWith(key[0].toUpperCase())\n )\n _subcomponentDefaults.value = subComponents.length\n ? Object.fromEntries(subComponents)\n : undefined\n } else {\n _subcomponentDefaults.value = undefined\n }\n })\n\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm)\n provide(\n defaultsKey,\n computed(() =>\n _subcomponentDefaults.value\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\n : injected?.value\n ) as any\n )\n }\n\n return {props: _props, provideSubDefaults}\n}\n\nexport function useDefaults<T extends Record<string, any>>(\n props: T,\n name: keyof BvnComponentProps\n): T {\n const {props: _props, provideSubDefaults} = internalUseDefaults(props, name)\n provideSubDefaults()\n return _props as T\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { l as defaultsKey } from "./keys-CQKrwmvN.mjs";
1
+ import { l as defaultsKey } from "./keys-DU7sQgl3.mjs";
2
2
  import { computed, getCurrentInstance, inject, provide, ref, shallowRef, watchEffect } from "vue";
3
3
  //#region src/composables/useDefaults.ts
4
4
  function injectSelf(key, vm = getCurrentInstance$1("injectSelf")) {
@@ -67,4 +67,4 @@ function useDefaults(props, name) {
67
67
  //#endregion
68
68
  export { useDefaults as t };
69
69
 
70
- //# sourceMappingURL=useDefaults-BKgBaqOV.mjs.map
70
+ //# sourceMappingURL=useDefaults-DseelK6y.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaults-BKgBaqOV.mjs","names":[],"sources":["../src/composables/useDefaults.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n// Utilities\nimport {\n getCurrentInstance as _getCurrentInstance,\n type ComponentInternalInstance,\n computed,\n inject,\n type InjectionKey,\n provide,\n ref,\n shallowRef,\n type VNode,\n watchEffect,\n} from 'vue'\nimport {defaultsKey} from '../utils/keys'\nimport type {BvnComponentProps} from '../types/BootstrapVueOptions'\n\n// Code here was taken from\n// https://github.com/vuetifyjs/vuetify/blob/8ed87310890e2b6c8ad2a626a02c17f9467cbb60/packages/vuetify/src/composables/defaults.ts#L138\n// Thanks to the Vuetify team. Vue does not make this easy\n\nfunction injectSelf<T>(key: InjectionKey<T> | string, vm?: ComponentInternalInstance): T | undefined\nfunction injectSelf(key: InjectionKey<any> | string, vm = getCurrentInstance('injectSelf')) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const {provides} = vm\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\n\nfunction getCurrentInstance(name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nconst toKebabCase = (str = '') =>\n str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\nconst isObject = (obj: unknown): obj is Record<string, any> =>\n obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n\nfunction mergeDeep(\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[]\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nconst propIsDefined = (vnode: VNode, prop: string) =>\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n\nfunction internalUseDefaults(props: Record<string, any> = {}, name?: string) {\n const defaults = inject(defaultsKey, ref({}))\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n // Should never happen\n throw new Error('[Bvn] Could not determine component name')\n }\n\n const componentDefaults = computed(() => (defaults.value as any)?.[props._as ?? name])\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return (\n componentDefaults.value?.[prop] ?? (defaults.value as any)?.global?.[prop] ?? propValue\n )\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key[0] !== undefined && key.startsWith(key[0].toUpperCase())\n )\n _subcomponentDefaults.value = subComponents.length\n ? Object.fromEntries(subComponents)\n : undefined\n } else {\n _subcomponentDefaults.value = undefined\n }\n })\n\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm)\n provide(\n defaultsKey,\n computed(() =>\n _subcomponentDefaults.value\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\n : injected?.value\n ) as any\n )\n }\n\n return {props: _props, provideSubDefaults}\n}\n\nexport function useDefaults<T extends Record<string, any>>(\n props: T,\n name: keyof BvnComponentProps\n): T {\n const {props: _props, provideSubDefaults} = internalUseDefaults(props, name)\n provideSubDefaults()\n return _props as T\n}\n"],"mappings":";;;AAsBA,SAAS,WAAW,KAAiC,KAAK,qBAAmB,aAAa,EAAE;CAG1F,MAAM,EAAC,aAAY;AAEnB,KAAI,YAAa,OAA2B,SAE1C,QAAO,SAAS;;AAKpB,SAAS,qBAAmB,MAAc,SAAkB;CAC1D,MAAM,KAAK,oBAAqB;AAEhC,KAAI,CAAC,GACH,OAAM,IAAI,MAAM,SAAS,KAAK,GAAG,WAAW,gDAAgD;AAG9F,QAAO;;AAGT,IAAM,eAAe,MAAM,OACzB,IACG,QAAQ,YAAY,IAAI,CACxB,QAAQ,cAAc,MAAM,CAC5B,aAAa;AAClB,IAAM,YAAY,QAChB,QAAQ,QAAQ,OAAO,QAAQ,YAAY,CAAC,MAAM,QAAQ,IAAI;AAEhE,SAAS,UACP,SAA8B,EAAE,EAChC,SAA8B,EAAE,EAChC,SACA;CACA,MAAM,MAA2B,EAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO;AAGpB,MAAK,MAAM,OAAO,QAAQ;EACxB,MAAM,iBAAiB,OAAO;EAC9B,MAAM,iBAAiB,OAAO;AAI9B,MAAI,SAAS,eAAe,IAAI,SAAS,eAAe,EAAE;AACxD,OAAI,OAAO,UAAU,gBAAgB,gBAAgB,QAAQ;AAE7D;;AAGF,MAAI,MAAM,QAAQ,eAAe,IAAI,MAAM,QAAQ,eAAe,IAAI,SAAS;AAC7E,OAAI,OAAO,QAAQ,gBAAgB,eAAe;AAElD;;AAGF,MAAI,OAAO;;AAGb,QAAO;;AAGT,IAAM,iBAAiB,OAAc,SACnC,OAAO,MAAM,QAAQ,UAAU,eAC/B,OAAO,MAAM,QAAQ,YAAY,KAAK,MAAM;AAE9C,SAAS,oBAAoB,QAA6B,EAAE,EAAE,MAAe;CAC3E,MAAM,WAAW,OAAO,aAAa,IAAI,EAAE,CAAC,CAAC;CAC7C,MAAM,KAAK,qBAAmB,cAAc;AAE5C,QAAO,QAAQ,GAAG,KAAK,QAAQ,GAAG,KAAK;AACvC,KAAI,CAAC,KAEH,OAAM,IAAI,MAAM,2CAA2C;CAG7D,MAAM,oBAAoB,eAAgB,SAAS,QAAgB,MAAM,OAAO,MAAM;CACtF,MAAM,SAAS,IAAI,MAAM,OAAO,EAC9B,IAAI,QAAQ,MAAM;EAChB,MAAM,YAAY,QAAQ,IAAI,QAAQ,KAAK;AAC3C,MAAI,SAAS,WAAW,SAAS,QAC/B,QAAO,CAAC,kBAAkB,QAAQ,OAAO,UAAU,CAAC,QAAQ,MAAM,KAAK,KAAK;WACnE,OAAO,SAAS,YAAY,CAAC,cAAc,GAAG,OAAO,KAAK,CACnE,QACE,kBAAkB,QAAQ,SAAU,SAAS,OAAe,SAAS,SAAS;AAGlF,SAAO;IAEV,CAAC;CAEF,MAAM,wBAAwB,YAAY;AAC1C,mBAAkB;AAChB,MAAI,kBAAkB,OAAO;GAC3B,MAAM,gBAAgB,OAAO,QAAQ,kBAAkB,MAAM,CAAC,QAC3D,CAAC,SAAS,IAAI,OAAO,KAAA,KAAa,IAAI,WAAW,IAAI,GAAG,aAAa,CAAC,CACxE;AACD,yBAAsB,QAAQ,cAAc,SACxC,OAAO,YAAY,cAAc,GACjC,KAAA;QAEJ,uBAAsB,QAAQ,KAAA;GAEhC;CAEF,SAAS,qBAAqB;EAC5B,MAAM,WAAW,WAAW,aAAa,GAAG;AAC5C,UACE,aACA,eACE,sBAAsB,QAClB,UAAU,UAAU,SAAS,EAAE,EAAE,sBAAsB,MAAM,GAC7D,UAAU,MACf,CACF;;AAGH,QAAO;EAAC,OAAO;EAAQ;EAAmB;;AAG5C,SAAgB,YACd,OACA,MACG;CACH,MAAM,EAAC,OAAO,QAAQ,uBAAsB,oBAAoB,OAAO,KAAK;AAC5E,qBAAoB;AACpB,QAAO"}
1
+ {"version":3,"file":"useDefaults-DseelK6y.mjs","names":[],"sources":["../src/composables/useDefaults.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n// Utilities\nimport {\n getCurrentInstance as _getCurrentInstance,\n type ComponentInternalInstance,\n computed,\n inject,\n type InjectionKey,\n provide,\n ref,\n shallowRef,\n type VNode,\n watchEffect,\n} from 'vue'\nimport {defaultsKey} from '../utils/keys'\nimport type {BvnComponentProps} from '../types/BootstrapVueOptions'\n\n// Code here was taken from\n// https://github.com/vuetifyjs/vuetify/blob/8ed87310890e2b6c8ad2a626a02c17f9467cbb60/packages/vuetify/src/composables/defaults.ts#L138\n// Thanks to the Vuetify team. Vue does not make this easy\n\nfunction injectSelf<T>(key: InjectionKey<T> | string, vm?: ComponentInternalInstance): T | undefined\nfunction injectSelf(key: InjectionKey<any> | string, vm = getCurrentInstance('injectSelf')) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const {provides} = vm\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\n\nfunction getCurrentInstance(name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nconst toKebabCase = (str = '') =>\n str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\nconst isObject = (obj: unknown): obj is Record<string, any> =>\n obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n\nfunction mergeDeep(\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[]\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nconst propIsDefined = (vnode: VNode, prop: string) =>\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n\nfunction internalUseDefaults(props: Record<string, any> = {}, name?: string) {\n const defaults = inject(defaultsKey, ref({}))\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n // Should never happen\n throw new Error('[Bvn] Could not determine component name')\n }\n\n const componentDefaults = computed(() => (defaults.value as any)?.[props._as ?? name])\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return (\n componentDefaults.value?.[prop] ?? (defaults.value as any)?.global?.[prop] ?? propValue\n )\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key[0] !== undefined && key.startsWith(key[0].toUpperCase())\n )\n _subcomponentDefaults.value = subComponents.length\n ? Object.fromEntries(subComponents)\n : undefined\n } else {\n _subcomponentDefaults.value = undefined\n }\n })\n\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm)\n provide(\n defaultsKey,\n computed(() =>\n _subcomponentDefaults.value\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\n : injected?.value\n ) as any\n )\n }\n\n return {props: _props, provideSubDefaults}\n}\n\nexport function useDefaults<T extends Record<string, any>>(\n props: T,\n name: keyof BvnComponentProps\n): T {\n const {props: _props, provideSubDefaults} = internalUseDefaults(props, name)\n provideSubDefaults()\n return _props as T\n}\n"],"mappings":";;;AAsBA,SAAS,WAAW,KAAiC,KAAK,qBAAmB,aAAa,EAAE;CAG1F,MAAM,EAAC,aAAY;AAEnB,KAAI,YAAa,OAA2B,SAE1C,QAAO,SAAS;;AAKpB,SAAS,qBAAmB,MAAc,SAAkB;CAC1D,MAAM,KAAK,oBAAqB;AAEhC,KAAI,CAAC,GACH,OAAM,IAAI,MAAM,SAAS,KAAK,GAAG,WAAW,gDAAgD;AAG9F,QAAO;;AAGT,IAAM,eAAe,MAAM,OACzB,IACG,QAAQ,YAAY,IAAI,CACxB,QAAQ,cAAc,MAAM,CAC5B,aAAa;AAClB,IAAM,YAAY,QAChB,QAAQ,QAAQ,OAAO,QAAQ,YAAY,CAAC,MAAM,QAAQ,IAAI;AAEhE,SAAS,UACP,SAA8B,EAAE,EAChC,SAA8B,EAAE,EAChC,SACA;CACA,MAAM,MAA2B,EAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO;AAGpB,MAAK,MAAM,OAAO,QAAQ;EACxB,MAAM,iBAAiB,OAAO;EAC9B,MAAM,iBAAiB,OAAO;AAI9B,MAAI,SAAS,eAAe,IAAI,SAAS,eAAe,EAAE;AACxD,OAAI,OAAO,UAAU,gBAAgB,gBAAgB,QAAQ;AAE7D;;AAGF,MAAI,MAAM,QAAQ,eAAe,IAAI,MAAM,QAAQ,eAAe,IAAI,SAAS;AAC7E,OAAI,OAAO,QAAQ,gBAAgB,eAAe;AAElD;;AAGF,MAAI,OAAO;;AAGb,QAAO;;AAGT,IAAM,iBAAiB,OAAc,SACnC,OAAO,MAAM,QAAQ,UAAU,eAC/B,OAAO,MAAM,QAAQ,YAAY,KAAK,MAAM;AAE9C,SAAS,oBAAoB,QAA6B,EAAE,EAAE,MAAe;CAC3E,MAAM,WAAW,OAAO,aAAa,IAAI,EAAE,CAAC,CAAC;CAC7C,MAAM,KAAK,qBAAmB,cAAc;AAE5C,QAAO,QAAQ,GAAG,KAAK,QAAQ,GAAG,KAAK;AACvC,KAAI,CAAC,KAEH,OAAM,IAAI,MAAM,2CAA2C;CAG7D,MAAM,oBAAoB,eAAgB,SAAS,QAAgB,MAAM,OAAO,MAAM;CACtF,MAAM,SAAS,IAAI,MAAM,OAAO,EAC9B,IAAI,QAAQ,MAAM;EAChB,MAAM,YAAY,QAAQ,IAAI,QAAQ,KAAK;AAC3C,MAAI,SAAS,WAAW,SAAS,QAC/B,QAAO,CAAC,kBAAkB,QAAQ,OAAO,UAAU,CAAC,QAAQ,MAAM,KAAK,KAAK;WACnE,OAAO,SAAS,YAAY,CAAC,cAAc,GAAG,OAAO,KAAK,CACnE,QACE,kBAAkB,QAAQ,SAAU,SAAS,OAAe,SAAS,SAAS;AAGlF,SAAO;IAEV,CAAC;CAEF,MAAM,wBAAwB,YAAY;AAC1C,mBAAkB;AAChB,MAAI,kBAAkB,OAAO;GAC3B,MAAM,gBAAgB,OAAO,QAAQ,kBAAkB,MAAM,CAAC,QAC3D,CAAC,SAAS,IAAI,OAAO,KAAA,KAAa,IAAI,WAAW,IAAI,GAAG,aAAa,CAAC,CACxE;AACD,yBAAsB,QAAQ,cAAc,SACxC,OAAO,YAAY,cAAc,GACjC,KAAA;QAEJ,uBAAsB,QAAQ,KAAA;GAEhC;CAEF,SAAS,qBAAqB;EAC5B,MAAM,WAAW,WAAW,aAAa,GAAG;AAC5C,UACE,aACA,eACE,sBAAsB,QAClB,UAAU,UAAU,SAAS,EAAE,EAAE,sBAAsB,MAAM,GAC7D,UAAU,MACf,CACF;;AAGH,QAAO;EAAC,OAAO;EAAQ;EAAmB;;AAG5C,SAAgB,YACd,OACA,MACG;CACH,MAAM,EAAC,OAAO,QAAQ,uBAAsB,oBAAoB,OAAO,KAAK;AAC5E,qBAAoB;AACpB,QAAO"}
@@ -1,6 +1,6 @@
1
- import { d as formGroupKey } from "./keys-CQKrwmvN.mjs";
1
+ import { d as formGroupKey } from "./keys-DU7sQgl3.mjs";
2
2
  import { R as useToNumber, m as useFocus } from "./dist-Dk9C_HFS.mjs";
3
- import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
3
+ import { t as useId$1 } from "./useId-D1sqXtwx.mjs";
4
4
  import { t as useAriaInvalid } from "./useAriaInvalid-apOwgexm.mjs";
5
5
  import { t as useDebounceFn } from "./debounce-DHxNfjan.mjs";
6
6
  import { t as useStateClass } from "./useStateClass-DxlL_m2E.mjs";
@@ -21,7 +21,8 @@ var useFormInput = (props, input, modelValue, modelModifiers) => {
21
21
  const computedId = useId$1(() => props.id, "input");
22
22
  const debounceNumber = useToNumber(() => props.debounce ?? 0, { nanToZero: true });
23
23
  const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? NaN);
24
- const formGroupData = inject(formGroupKey, null)?.(computedId);
24
+ const formGroupData = inject(formGroupKey, null)?.();
25
+ formGroupData?.track(computedId);
25
26
  const computedState = computed(() => props.state !== void 0 ? props.state : formGroupData?.state.value ?? null);
26
27
  const isDisabled = computed(() => props.disabled || (formGroupData?.disabled.value ?? false));
27
28
  const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);
@@ -101,4 +102,4 @@ var useFormInput = (props, input, modelValue, modelModifiers) => {
101
102
  //#endregion
102
103
  export { normalizeInput as n, useFormInput as t };
103
104
 
104
- //# sourceMappingURL=useFormInput-CA4FYoV7.mjs.map
105
+ //# sourceMappingURL=useFormInput-CXl8rpD0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormInput-CXl8rpD0.mjs","names":[],"sources":["../src/utils/normalizeInput.ts","../src/composables/useFormInput.ts"],"sourcesContent":["import type {Numberish} from '../types/CommonTypes'\n\nexport const normalizeInput = (\n v: Numberish | null,\n modelModifiers: Record<'number' | 'lazy' | 'trim', true | undefined>\n) => {\n if (v === null) return\n let update = v\n if (modelModifiers.number && typeof update === 'string' && update !== '') {\n const parsed = Number.parseFloat(update)\n update = Number.isNaN(parsed) ? update : parsed\n }\n return update\n}\n","import type {Numberish} from '../types/CommonTypes'\nimport {computed, inject, nextTick, onActivated, onMounted, type Ref, type ShallowRef} from 'vue'\nimport {useAriaInvalid} from './useAriaInvalid'\nimport {useId} from './useId'\nimport {useFocus, useToNumber} from '@vueuse/core'\nimport type {CommonInputProps} from '../types/FormCommonInputProps'\nimport {formGroupKey} from '../utils/keys'\nimport {useDebounceFn} from '../utils/debounce'\nimport {useStateClass} from './useStateClass'\n\nexport const useFormInput = (\n props: Readonly<CommonInputProps>,\n input:\n | Readonly<ShallowRef<HTMLInputElement | null>>\n | Readonly<ShallowRef<HTMLTextAreaElement | null>>,\n modelValue: Ref<Numberish | null>,\n modelModifiers: Record<'number' | 'lazy' | 'trim', true | undefined>\n) => {\n const computedId = useId(() => props.id, 'input')\n const debounceNumber = useToNumber(() => props.debounce ?? 0, {nanToZero: true})\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN)\n\n // This automatically adds the appropriate \"for\" attribute to a BFormGroup label\n const formGroupData = inject(formGroupKey, null)?.()\n formGroupData?.track(computedId)\n const computedState = computed(() =>\n props.state !== undefined ? props.state : (formGroupData?.state.value ?? null)\n )\n const isDisabled = computed(() => props.disabled || (formGroupData?.disabled.value ?? false))\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState)\n const stateClass = useStateClass(computedState)\n\n const internalUpdateModelValue = useDebounceFn(\n (value: Numberish) => {\n modelValue.value = value\n },\n () => (modelModifiers.lazy === true ? 0 : debounceNumber.value),\n {maxWait: () => (modelModifiers.lazy === true ? Number.NaN : debounceMaxWaitNumber.value)}\n )\n\n const updateModelValue = (value: Numberish, force = false, immediate = false) => {\n if (modelModifiers.lazy === true && force === false) return\n if (immediate) {\n modelValue.value = value\n } else {\n internalUpdateModelValue(value)\n }\n }\n\n const {focused} = useFocus(input, {\n initialValue: props.autofocus,\n })\n\n const _formatValue = (value: string, evt: Readonly<Event>, force = false) => {\n if (props.formatter !== undefined && (!props.lazyFormatter || force)) {\n return props.formatter(value, evt)\n }\n return value\n }\n onMounted(() => {\n if (input.value) {\n input.value.value = modelValue.value?.toString() ?? ''\n }\n })\n\n onActivated(() => {\n nextTick(() => {\n if (props.autofocus) {\n focused.value = true\n }\n })\n })\n\n const syncDisplayedValue = (nextValue: string) => {\n if (input.value && input.value.value !== nextValue) {\n input.value.value = nextValue\n }\n }\n\n const onInput = (evt: Readonly<Event>) => {\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt)\n if (evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n\n const nextModel = formattedValue\n\n updateModelValue(nextModel)\n // If the formatter changed the value, directly update the input's visual value\n // to keep the displayed text in sync with the model. Without this, if the\n // formatted value equals the previous model value, Vue's reactivity won't\n // re-render the input and the raw (unformatted) text remains visible.\n if (formattedValue !== value) {\n syncDisplayedValue(formattedValue)\n }\n }\n\n const onChange = (evt: Readonly<Event>) => {\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt)\n if (evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n\n const nextModel = formattedValue\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true)\n }\n }\n\n const onBlur = (evt: Readonly<FocusEvent>) => {\n if (\n !modelModifiers.lazy &&\n !props.lazyFormatter &&\n !modelModifiers.trim &&\n debounceNumber.value <= 0\n )\n return\n\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt, true)\n\n const nextModel = modelModifiers.trim ? formattedValue.trim() : formattedValue\n\n // Cancel before modelValue.value comparison and update\n internalUpdateModelValue.cancel()\n if (modelValue.value !== nextModel) {\n updateModelValue(nextModel, true, true)\n }\n\n // If the formatter or trim changed the displayed text, directly sync the DOM.\n // This handles the case where lazyFormatter defers formatting to blur and the\n // formatted value equals the current model (so Vue's reactivity won't re-render).\n if (nextModel !== value) {\n syncDisplayedValue(nextModel)\n }\n }\n\n const focus = () => {\n if (!isDisabled.value) {\n focused.value = true\n }\n }\n\n const blur = () => {\n if (!isDisabled.value) {\n focused.value = false\n }\n }\n\n return {\n input,\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n focus,\n blur,\n stateClass,\n isDisabled,\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
- const require_keys = require("./keys-durSVUrO.js");
2
+ const require_keys = require("./keys-BMye8nSf.js");
3
3
  const require_dist = require("./dist-DiXKLh_W.js");
4
- const require_useId = require("./useId-DHrBgM7P.js");
4
+ const require_useId = require("./useId-BkAY2oh6.js");
5
5
  const require_useAriaInvalid = require("./useAriaInvalid-CHHPHNLU.js");
6
6
  const require_debounce = require("./debounce-D6kifS6w.js");
7
7
  const require_useStateClass = require("./useStateClass-CXK3nCg9.js");
@@ -22,7 +22,8 @@ var useFormInput = (props, input, modelValue, modelModifiers) => {
22
22
  const computedId = require_useId.useId(() => props.id, "input");
23
23
  const debounceNumber = require_dist.useToNumber(() => props.debounce ?? 0, { nanToZero: true });
24
24
  const debounceMaxWaitNumber = require_dist.useToNumber(() => props.debounceMaxWait ?? NaN);
25
- const formGroupData = (0, vue.inject)(require_keys.formGroupKey, null)?.(computedId);
25
+ const formGroupData = (0, vue.inject)(require_keys.formGroupKey, null)?.();
26
+ formGroupData?.track(computedId);
26
27
  const computedState = (0, vue.computed)(() => props.state !== void 0 ? props.state : formGroupData?.state.value ?? null);
27
28
  const isDisabled = (0, vue.computed)(() => props.disabled || (formGroupData?.disabled.value ?? false));
28
29
  const computedAriaInvalid = require_useAriaInvalid.useAriaInvalid(() => props.ariaInvalid, computedState);
@@ -113,4 +114,4 @@ Object.defineProperty(exports, "useFormInput", {
113
114
  }
114
115
  });
115
116
 
116
- //# sourceMappingURL=useFormInput-D31FCDxr.js.map
117
+ //# sourceMappingURL=useFormInput-ip9hN2AU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormInput-ip9hN2AU.js","names":[],"sources":["../src/utils/normalizeInput.ts","../src/composables/useFormInput.ts"],"sourcesContent":["import type {Numberish} from '../types/CommonTypes'\n\nexport const normalizeInput = (\n v: Numberish | null,\n modelModifiers: Record<'number' | 'lazy' | 'trim', true | undefined>\n) => {\n if (v === null) return\n let update = v\n if (modelModifiers.number && typeof update === 'string' && update !== '') {\n const parsed = Number.parseFloat(update)\n update = Number.isNaN(parsed) ? update : parsed\n }\n return update\n}\n","import type {Numberish} from '../types/CommonTypes'\nimport {computed, inject, nextTick, onActivated, onMounted, type Ref, type ShallowRef} from 'vue'\nimport {useAriaInvalid} from './useAriaInvalid'\nimport {useId} from './useId'\nimport {useFocus, useToNumber} from '@vueuse/core'\nimport type {CommonInputProps} from '../types/FormCommonInputProps'\nimport {formGroupKey} from '../utils/keys'\nimport {useDebounceFn} from '../utils/debounce'\nimport {useStateClass} from './useStateClass'\n\nexport const useFormInput = (\n props: Readonly<CommonInputProps>,\n input:\n | Readonly<ShallowRef<HTMLInputElement | null>>\n | Readonly<ShallowRef<HTMLTextAreaElement | null>>,\n modelValue: Ref<Numberish | null>,\n modelModifiers: Record<'number' | 'lazy' | 'trim', true | undefined>\n) => {\n const computedId = useId(() => props.id, 'input')\n const debounceNumber = useToNumber(() => props.debounce ?? 0, {nanToZero: true})\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN)\n\n // This automatically adds the appropriate \"for\" attribute to a BFormGroup label\n const formGroupData = inject(formGroupKey, null)?.()\n formGroupData?.track(computedId)\n const computedState = computed(() =>\n props.state !== undefined ? props.state : (formGroupData?.state.value ?? null)\n )\n const isDisabled = computed(() => props.disabled || (formGroupData?.disabled.value ?? false))\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState)\n const stateClass = useStateClass(computedState)\n\n const internalUpdateModelValue = useDebounceFn(\n (value: Numberish) => {\n modelValue.value = value\n },\n () => (modelModifiers.lazy === true ? 0 : debounceNumber.value),\n {maxWait: () => (modelModifiers.lazy === true ? Number.NaN : debounceMaxWaitNumber.value)}\n )\n\n const updateModelValue = (value: Numberish, force = false, immediate = false) => {\n if (modelModifiers.lazy === true && force === false) return\n if (immediate) {\n modelValue.value = value\n } else {\n internalUpdateModelValue(value)\n }\n }\n\n const {focused} = useFocus(input, {\n initialValue: props.autofocus,\n })\n\n const _formatValue = (value: string, evt: Readonly<Event>, force = false) => {\n if (props.formatter !== undefined && (!props.lazyFormatter || force)) {\n return props.formatter(value, evt)\n }\n return value\n }\n onMounted(() => {\n if (input.value) {\n input.value.value = modelValue.value?.toString() ?? ''\n }\n })\n\n onActivated(() => {\n nextTick(() => {\n if (props.autofocus) {\n focused.value = true\n }\n })\n })\n\n const syncDisplayedValue = (nextValue: string) => {\n if (input.value && input.value.value !== nextValue) {\n input.value.value = nextValue\n }\n }\n\n const onInput = (evt: Readonly<Event>) => {\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt)\n if (evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n\n const nextModel = formattedValue\n\n updateModelValue(nextModel)\n // If the formatter changed the value, directly update the input's visual value\n // to keep the displayed text in sync with the model. Without this, if the\n // formatted value equals the previous model value, Vue's reactivity won't\n // re-render the input and the raw (unformatted) text remains visible.\n if (formattedValue !== value) {\n syncDisplayedValue(formattedValue)\n }\n }\n\n const onChange = (evt: Readonly<Event>) => {\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt)\n if (evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n\n const nextModel = formattedValue\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true)\n }\n }\n\n const onBlur = (evt: Readonly<FocusEvent>) => {\n if (\n !modelModifiers.lazy &&\n !props.lazyFormatter &&\n !modelModifiers.trim &&\n debounceNumber.value <= 0\n )\n return\n\n const {value} = evt.target as HTMLInputElement\n const formattedValue = _formatValue(value, evt, true)\n\n const nextModel = modelModifiers.trim ? formattedValue.trim() : formattedValue\n\n // Cancel before modelValue.value comparison and update\n internalUpdateModelValue.cancel()\n if (modelValue.value !== nextModel) {\n updateModelValue(nextModel, true, true)\n }\n\n // If the formatter or trim changed the displayed text, directly sync the DOM.\n // This handles the case where lazyFormatter defers formatting to blur and the\n // formatted value equals the current model (so Vue's reactivity won't re-render).\n if (nextModel !== value) {\n syncDisplayedValue(nextModel)\n }\n }\n\n const focus = () => {\n if (!isDisabled.value) {\n focused.value = true\n }\n }\n\n const blur = () => {\n if (!isDisabled.value) {\n focused.value = false\n }\n }\n\n return {\n input,\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n focus,\n blur,\n stateClass,\n isDisabled,\n }\n}\n"],"mappings":"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"}
@@ -26,8 +26,15 @@ var useFormSelect = (options, props) => {
26
26
  label,
27
27
  options: opts
28
28
  };
29
+ const simpleOption = typeof option === "object" ? { ...option } : {};
30
+ const fieldsToOmit = new Set(["label", "options"]);
31
+ if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
32
+ if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
33
+ fieldsToOmit.forEach((field) => {
34
+ delete simpleOption[field];
35
+ });
29
36
  return {
30
- ...typeof option === "object" ? option : void 0,
37
+ ...simpleOption,
31
38
  value,
32
39
  text,
33
40
  disabled
@@ -42,4 +49,4 @@ var useFormSelect = (options, props) => {
42
49
  //#endregion
43
50
  export { useFormSelect as t };
44
51
 
45
- //# sourceMappingURL=useFormSelect-C0nvno12.mjs.map
52
+ //# sourceMappingURL=useFormSelect-BM0rsjni.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormSelect-BM0rsjni.mjs","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,aAAa,QAAQ,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,mBAFkB,eAAe,iBAAiB,QAAQ,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
@@ -27,8 +27,15 @@ var useFormSelect = (options, props) => {
27
27
  label,
28
28
  options: opts
29
29
  };
30
+ const simpleOption = typeof option === "object" ? { ...option } : {};
31
+ const fieldsToOmit = new Set(["label", "options"]);
32
+ if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
33
+ if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
34
+ fieldsToOmit.forEach((field) => {
35
+ delete simpleOption[field];
36
+ });
30
37
  return {
31
- ...typeof option === "object" ? option : void 0,
38
+ ...simpleOption,
32
39
  value,
33
40
  text,
34
41
  disabled
@@ -48,4 +55,4 @@ Object.defineProperty(exports, "useFormSelect", {
48
55
  }
49
56
  });
50
57
 
51
- //# sourceMappingURL=useFormSelect-CjAziZpu.js.map
58
+ //# sourceMappingURL=useFormSelect-ClmzGzOy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormSelect-ClmzGzOy.js","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,cAAA,GAAA,IAAA,SAAqB,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,eAAA,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,eAAA,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,eAAA,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,eAAA,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,eAAA,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,oBAAA,GAAA,IAAA,gBAFiC,kBAAA,GAAA,IAAA,SAAyB,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
- const require_keys = require("./keys-durSVUrO.js");
2
+ const require_keys = require("./keys-BMye8nSf.js");
3
3
  let vue = require("vue");
4
4
  //#region src/composables/useId.ts
5
5
  var useId = (id, suffix) => {
@@ -14,4 +14,4 @@ Object.defineProperty(exports, "useId", {
14
14
  }
15
15
  });
16
16
 
17
- //# sourceMappingURL=useId-DHrBgM7P.js.map
17
+ //# sourceMappingURL=useId-BkAY2oh6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useId-DHrBgM7P.js","names":[],"sources":["../src/composables/useId.ts"],"sourcesContent":["import {withBvnPrefix} from '../utils/keys'\nimport {computed, type ComputedRef, type MaybeRefOrGetter, toValue, useId as vueUseId} from 'vue'\n\nexport const useId = (\n id?: MaybeRefOrGetter<string | undefined>,\n suffix?: string\n): ComputedRef<string> => {\n const genId = vueUseId()\n return computed(() => toValue(id) || withBvnPrefix(genId || '', suffix))\n}\n"],"mappings":";;;;AAGA,IAAa,SACX,IACA,WACwB;CACxB,MAAM,SAAA,GAAA,IAAA,QAAkB;AACxB,SAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,SAA8B,GAAG,IAAI,aAAA,cAAc,SAAS,IAAI,OAAO,CAAC"}
1
+ {"version":3,"file":"useId-BkAY2oh6.js","names":[],"sources":["../src/composables/useId.ts"],"sourcesContent":["import {withBvnPrefix} from '../utils/keys'\nimport {computed, type ComputedRef, type MaybeRefOrGetter, toValue, useId as vueUseId} from 'vue'\n\nexport const useId = (\n id?: MaybeRefOrGetter<string | undefined>,\n suffix?: string\n): ComputedRef<string> => {\n const genId = vueUseId()\n return computed(() => toValue(id) || withBvnPrefix(genId || '', suffix))\n}\n"],"mappings":";;;;AAGA,IAAa,SACX,IACA,WACwB;CACxB,MAAM,SAAA,GAAA,IAAA,QAAkB;AACxB,SAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,SAA8B,GAAG,IAAI,aAAA,cAAc,SAAS,IAAI,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- import { w as withBvnPrefix } from "./keys-CQKrwmvN.mjs";
1
+ import { w as withBvnPrefix } from "./keys-DU7sQgl3.mjs";
2
2
  import { computed, toValue, useId } from "vue";
3
3
  //#region src/composables/useId.ts
4
4
  var useId$1 = (id, suffix) => {
@@ -8,4 +8,4 @@ var useId$1 = (id, suffix) => {
8
8
  //#endregion
9
9
  export { useId$1 as t };
10
10
 
11
- //# sourceMappingURL=useId-BKZFSYm8.mjs.map
11
+ //# sourceMappingURL=useId-D1sqXtwx.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useId-BKZFSYm8.mjs","names":[],"sources":["../src/composables/useId.ts"],"sourcesContent":["import {withBvnPrefix} from '../utils/keys'\nimport {computed, type ComputedRef, type MaybeRefOrGetter, toValue, useId as vueUseId} from 'vue'\n\nexport const useId = (\n id?: MaybeRefOrGetter<string | undefined>,\n suffix?: string\n): ComputedRef<string> => {\n const genId = vueUseId()\n return computed(() => toValue(id) || withBvnPrefix(genId || '', suffix))\n}\n"],"mappings":";;;AAGA,IAAa,WACX,IACA,WACwB;CACxB,MAAM,QAAQ,OAAU;AACxB,QAAO,eAAe,QAAQ,GAAG,IAAI,cAAc,SAAS,IAAI,OAAO,CAAC"}
1
+ {"version":3,"file":"useId-D1sqXtwx.mjs","names":[],"sources":["../src/composables/useId.ts"],"sourcesContent":["import {withBvnPrefix} from '../utils/keys'\nimport {computed, type ComputedRef, type MaybeRefOrGetter, toValue, useId as vueUseId} from 'vue'\n\nexport const useId = (\n id?: MaybeRefOrGetter<string | undefined>,\n suffix?: string\n): ComputedRef<string> => {\n const genId = vueUseId()\n return computed(() => toValue(id) || withBvnPrefix(genId || '', suffix))\n}\n"],"mappings":";;;AAGA,IAAa,WACX,IACA,WACwB;CACxB,MAAM,QAAQ,OAAU;AACxB,QAAO,eAAe,QAAQ,GAAG,IAAI,cAAc,SAAS,IAAI,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
- const require_keys = require("./keys-durSVUrO.js");
2
+ const require_keys = require("./keys-BMye8nSf.js");
3
3
  const require_dom = require("./dom-Bs6DzM72.js");
4
4
  let vue = require("vue");
5
5
  //#region src/composables/useRtl.ts
@@ -23,4 +23,4 @@ Object.defineProperty(exports, "useRtl", {
23
23
  }
24
24
  });
25
25
 
26
- //# sourceMappingURL=useRtl-DDPRnA7g.js.map
26
+ //# sourceMappingURL=useRtl-BSgvbs5F.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRtl-DDPRnA7g.js","names":[],"sources":["../src/composables/useRtl.ts"],"sourcesContent":["import {inject, onMounted, watch} from 'vue'\nimport {rtlRegistryKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nexport const useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey, null)\n\n onMounted(() => {\n // I can't think of a reason why one might want to destroy these if unmounted...\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('lang', newValue ?? '')\n },\n {immediate: true}\n )\n\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('dir', (newValue ?? false) ? 'rtl' : 'ltr')\n },\n {immediate: true}\n )\n })\n\n return {...rtlPlugin}\n}\n"],"mappings":";;;;;AAIA,IAAa,eAAe;CAC1B,MAAM,aAAA,GAAA,IAAA,QAAmB,aAAA,gBAAgB,KAAK;AAE9C,EAAA,GAAA,IAAA,iBAAgB;AAEd,GAAA,GAAA,IAAA,aACQ,WAAW,OAAO,QACvB,aAAa;AACZ,eAAA,iBAAiB,EAAE,gBAAgB,aAAa,QAAQ,YAAY,GAAG;KAEzE,EAAC,WAAW,MAAK,CAClB;AAED,GAAA,GAAA,IAAA,aACQ,WAAW,MAAM,QACtB,aAAa;AACZ,eAAA,iBAAiB,EAAE,gBAAgB,aAAa,OAAQ,YAAY,QAAS,QAAQ,MAAM;KAE7F,EAAC,WAAW,MAAK,CAClB;GACD;AAEF,QAAO,EAAC,GAAG,WAAU"}
1
+ {"version":3,"file":"useRtl-BSgvbs5F.js","names":[],"sources":["../src/composables/useRtl.ts"],"sourcesContent":["import {inject, onMounted, watch} from 'vue'\nimport {rtlRegistryKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nexport const useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey, null)\n\n onMounted(() => {\n // I can't think of a reason why one might want to destroy these if unmounted...\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('lang', newValue ?? '')\n },\n {immediate: true}\n )\n\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('dir', (newValue ?? false) ? 'rtl' : 'ltr')\n },\n {immediate: true}\n )\n })\n\n return {...rtlPlugin}\n}\n"],"mappings":";;;;;AAIA,IAAa,eAAe;CAC1B,MAAM,aAAA,GAAA,IAAA,QAAmB,aAAA,gBAAgB,KAAK;AAE9C,EAAA,GAAA,IAAA,iBAAgB;AAEd,GAAA,GAAA,IAAA,aACQ,WAAW,OAAO,QACvB,aAAa;AACZ,eAAA,iBAAiB,EAAE,gBAAgB,aAAa,QAAQ,YAAY,GAAG;KAEzE,EAAC,WAAW,MAAK,CAClB;AAED,GAAA,GAAA,IAAA,aACQ,WAAW,MAAM,QACtB,aAAa;AACZ,eAAA,iBAAiB,EAAE,gBAAgB,aAAa,OAAQ,YAAY,QAAS,QAAQ,MAAM;KAE7F,EAAC,WAAW,MAAK,CAClB;GACD;AAEF,QAAO,EAAC,GAAG,WAAU"}
@@ -1,4 +1,4 @@
1
- import { b as rtlRegistryKey } from "./keys-CQKrwmvN.mjs";
1
+ import { b as rtlRegistryKey } from "./keys-DU7sQgl3.mjs";
2
2
  import { i as getSafeDocument } from "./dom-AhkaSoh8.mjs";
3
3
  import { inject, onMounted, watch } from "vue";
4
4
  //#region src/composables/useRtl.ts
@@ -17,4 +17,4 @@ var useRtl = () => {
17
17
  //#endregion
18
18
  export { useRtl as t };
19
19
 
20
- //# sourceMappingURL=useRtl-VR3M2Txg.mjs.map
20
+ //# sourceMappingURL=useRtl-CGoXBxNo.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRtl-VR3M2Txg.mjs","names":[],"sources":["../src/composables/useRtl.ts"],"sourcesContent":["import {inject, onMounted, watch} from 'vue'\nimport {rtlRegistryKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nexport const useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey, null)\n\n onMounted(() => {\n // I can't think of a reason why one might want to destroy these if unmounted...\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('lang', newValue ?? '')\n },\n {immediate: true}\n )\n\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('dir', (newValue ?? false) ? 'rtl' : 'ltr')\n },\n {immediate: true}\n )\n })\n\n return {...rtlPlugin}\n}\n"],"mappings":";;;;AAIA,IAAa,eAAe;CAC1B,MAAM,YAAY,OAAO,gBAAgB,KAAK;AAE9C,iBAAgB;AAEd,cACQ,WAAW,OAAO,QACvB,aAAa;AACZ,oBAAiB,EAAE,gBAAgB,aAAa,QAAQ,YAAY,GAAG;KAEzE,EAAC,WAAW,MAAK,CAClB;AAED,cACQ,WAAW,MAAM,QACtB,aAAa;AACZ,oBAAiB,EAAE,gBAAgB,aAAa,OAAQ,YAAY,QAAS,QAAQ,MAAM;KAE7F,EAAC,WAAW,MAAK,CAClB;GACD;AAEF,QAAO,EAAC,GAAG,WAAU"}
1
+ {"version":3,"file":"useRtl-CGoXBxNo.mjs","names":[],"sources":["../src/composables/useRtl.ts"],"sourcesContent":["import {inject, onMounted, watch} from 'vue'\nimport {rtlRegistryKey} from '../utils/keys'\nimport {getSafeDocument} from '../utils/dom'\n\nexport const useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey, null)\n\n onMounted(() => {\n // I can't think of a reason why one might want to destroy these if unmounted...\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('lang', newValue ?? '')\n },\n {immediate: true}\n )\n\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n getSafeDocument()?.documentElement.setAttribute('dir', (newValue ?? false) ? 'rtl' : 'ltr')\n },\n {immediate: true}\n )\n })\n\n return {...rtlPlugin}\n}\n"],"mappings":";;;;AAIA,IAAa,eAAe;CAC1B,MAAM,YAAY,OAAO,gBAAgB,KAAK;AAE9C,iBAAgB;AAEd,cACQ,WAAW,OAAO,QACvB,aAAa;AACZ,oBAAiB,EAAE,gBAAgB,aAAa,QAAQ,YAAY,GAAG;KAEzE,EAAC,WAAW,MAAK,CAClB;AAED,cACQ,WAAW,MAAM,QACtB,aAAa;AACZ,oBAAiB,EAAE,gBAAgB,aAAa,OAAQ,YAAY,QAAS,QAAQ,MAAM;KAE7F,EAAC,WAAW,MAAK,CAClB;GACD;AAEF,QAAO,EAAC,GAAG,WAAU"}
@@ -1,4 +1,4 @@
1
- import { x as showHideRegistryKey } from "./keys-CQKrwmvN.mjs";
1
+ import { x as showHideRegistryKey } from "./keys-DU7sQgl3.mjs";
2
2
  import { L as useThrottleFn, f as useEventListener } from "./dist-Dk9C_HFS.mjs";
3
3
  import { r as BvTriggerableEvent } from "./classes-B0E5Y78Y.mjs";
4
4
  import { t as noop } from "./functions-BcMenQqL.mjs";
@@ -427,4 +427,4 @@ var useShowHide = (modelValue, props, emit, element, computedId, options = {
427
427
  //#endregion
428
428
  export { useShowHide as t };
429
429
 
430
- //# sourceMappingURL=useShowHide-DKdljnpv.mjs.map
430
+ //# sourceMappingURL=useShowHide-CBFt1_EW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useShowHide-DKdljnpv.mjs","names":[],"sources":["../src/composables/useShowHide.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EmitFn,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n onUnmounted,\n readonly,\n ref,\n type Ref,\n type TransitionProps,\n watch,\n} from 'vue'\nimport {showHideRegistryKey} from '../utils/keys'\nimport {BvTriggerableEvent} from '../utils'\nimport {useEventListener, useThrottleFn} from '@vueuse/core'\nimport {noop} from '../utils/functions'\n\nexport const fadeBaseTransitionProps = {\n name: 'fade',\n enterActiveClass: '',\n enterFromClass: 'showing',\n enterToClass: '',\n leaveActiveClass: '',\n leaveFromClass: '',\n leaveToClass: 'showing',\n css: true,\n} as const satisfies TransitionProps\n\nexport const useShowHide = (\n modelValue: Ref<boolean | number>,\n props: {\n visible?: boolean\n show?: boolean\n noAnimation?: boolean\n noFade?: boolean\n noCloseOnBackdrop?: boolean\n noCloseOnEsc?: boolean\n transitionProps?: TransitionProps\n lazy?: boolean\n initialAnimation?: boolean\n delay?:\n | number\n | {\n show: number\n hide: number\n }\n } & Record<string, unknown>,\n emit: EmitFn,\n element: Ref<HTMLElement | null>,\n computedId: Ref<string>,\n options: {\n transitionProps?: TransitionProps\n showFn?: () => void\n hideFn?: () => void\n } = {\n transitionProps: {},\n showFn: () => {},\n hideFn: () => {},\n }\n) => {\n let noAction = false\n const initialShow = (!!modelValue.value && !props.initialAnimation) || props.visible || false\n const showRef = ref<boolean>(initialShow)\n const renderRef = ref<boolean>(initialShow)\n const renderBackdropRef = ref<boolean>(initialShow)\n\n let isCountdown = typeof modelValue.value !== 'boolean'\n\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== 'boolean'\n if (noAction) {\n noAction = false\n return\n }\n if (modelValue.value) {\n show()\n } else {\n hide('modelValue', true)\n }\n })\n\n const localNoAnimation = ref(initialShow)\n const localTemporaryHide = ref(false)\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n )\n let isMounted = false\n onMounted(() => {\n isMounted = true\n if (!props.show && initialShow) {\n // show without delay or animation\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n return\n }\n localNoAnimation.value = true\n if (!modelValue.value) {\n noAction = true\n modelValue.value = true\n }\n renderRef.value = true\n renderBackdropRef.value = true\n isVisible.value = true\n backdropVisible.value = true\n backdropReady.value = true\n showRef.value = true\n options.showFn?.()\n } else if (props.show || (!!modelValue.value && props.initialAnimation)) {\n show()\n }\n })\n\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true\n\n nextTick(() => {\n if (newval) isVisible.value = true\n if (newval) {\n show()\n } else {\n hide('visible-prop', true)\n }\n })\n }\n )\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show()\n } else {\n hide('show-prop', true)\n }\n }\n )\n // todo: remove\n useEventListener(\n element,\n 'bv-toggle',\n () => {\n modelValue.value = !modelValue.value\n },\n {passive: true}\n )\n\n const buildTriggerableEvent = (\n type: string,\n opts: Readonly<Partial<BvTriggerableEvent>> = {}\n ): BvTriggerableEvent =>\n new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value,\n })\n\n let showTimeout: ReturnType<typeof setTimeout> | undefined\n let hideTimeout: ReturnType<typeof setTimeout> | undefined\n let _Resolve: ((value: boolean | string) => void) | undefined\n let _Promise: Promise<boolean | string> | undefined\n let _resolveOnHide: boolean | undefined\n const show = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true)\n _resolveOnHide = resolveOnHide\n if (showRef.value && !hideTimeout && _Promise) return _Promise\n\n _Promise = new Promise<boolean | string>((resolve) => {\n _Resolve = resolve\n })\n\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n if (isVisible.value) {\n isVisible.value = false\n }\n if (modelValue.value && !isCountdown) {\n noAction = true\n nextTick(() => {\n modelValue.value = false\n })\n }\n _Resolve?.('show-prevented')\n return _Promise\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = undefined\n }\n renderRef.value = true\n renderBackdropRef.value = true\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === undefined) {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n return\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n },\n typeof props.delay === 'number' ? props.delay : props.delay?.show || 0\n )\n })\n return _Promise\n }\n\n let leaveTrigger: string | undefined\n const hide = (trigger?: string, noTriggerEmit?: boolean): Promise<string> => {\n if (!showRef.value && !showTimeout && !renderRef.value) return Promise.resolve('')\n if (!_Promise)\n _Promise = new Promise<string>((resolve) => {\n ;(_Resolve as (value: string | PromiseLike<string>) => void) = resolve\n })\n if (typeof trigger !== 'string') trigger = undefined\n leaveTrigger = trigger\n const event = buildTriggerableEvent('hide', {cancelable: true, trigger})\n const event2 = buildTriggerableEvent(trigger || 'ignore', {cancelable: true, trigger})\n if (\n (trigger === 'backdrop' && props.noCloseOnBackdrop) ||\n (trigger === 'esc' && props.noCloseOnEsc)\n ) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2)\n }\n emit('hide', event)\n\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true\n modelValue.value = true\n })\n }\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n trapActive.value = false\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n if (!localTemporaryHide.value) renderRef.value = false\n renderBackdropRef.value = false\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return\n hideTimeout = undefined\n isLeaving.value = true\n showRef.value = false\n options.hideFn?.()\n if (modelValue.value) {\n noAction = true\n modelValue.value = isCountdown ? 0 : false\n }\n },\n localNoAnimation.value\n ? 0\n : typeof props.delay === 'number'\n ? props.delay\n : props.delay?.hide || 0\n )\n return _Promise as Promise<string>\n }\n const throttleHide = useThrottleFn((a) => hide(a), 500)\n const throttleShow = useThrottleFn(() => show(), 500)\n\n const toggle = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return Promise.resolve('toggle-prevented')\n }\n if (showRef.value) {\n return hide('toggle-function', true)\n }\n return show(resolveOnHide)\n }\n const triggerToggle = () => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return\n }\n if (showRef.value) {\n hide('toggle-trigger', true)\n } else {\n show()\n }\n }\n const triggerRegistry: {trigger: string; el: Element}[] = []\n const registerTrigger = (trigger: string, el: Element) => {\n triggerRegistry.push({trigger, el})\n el.addEventListener(trigger, triggerToggle)\n checkVisibility(el)\n }\n const unregisterTrigger = (trigger: string, el: Element, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el)\n if (idx > -1) {\n triggerRegistry.splice(idx, 1)\n el.removeEventListener(trigger, triggerToggle)\n if (clean) {\n el.removeAttribute('aria-expanded')\n el.classList.remove('collapsed')\n el.classList.remove('not-collapsed')\n }\n }\n }\n\n const appRegistry = inject(showHideRegistryKey, null)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance() as ComponentInternalInstance,\n })\n const checkVisibility = (el: Element) => {\n el.setAttribute('aria-expanded', modelValue.value ? 'true' : 'false')\n el.classList.toggle('collapsed', !modelValue.value)\n el.classList.toggle('not-collapsed', !!modelValue.value)\n }\n\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el)\n })\n })\n\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId)\n })\n\n onBeforeUnmount(() => {\n appRegistry?.unregister()\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle)\n })\n })\n onUnmounted(() => {\n isMounted = false\n clearTimeout(showTimeout)\n clearTimeout(hideTimeout)\n showTimeout = undefined\n hideTimeout = undefined\n })\n\n const lazyLoadCompleted = ref(false)\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true\n }\n\n const isLeaving = ref(false)\n const isActive = ref(initialShow)\n const isVisible = ref(initialShow)\n\n const onBeforeEnter: TransitionProps['onBeforeEnter'] = [\n ...[\n options.transitionProps?.onBeforeEnter ?? noop,\n props.transitionProps?.onBeforeEnter ?? noop,\n ].flat(),\n () => {\n isActive.value = true\n },\n ]\n\n const onEnter: TransitionProps['onEnter'] = [\n () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // sometimes one just isn't enough (offcanvas on the first load after refresh)\n isVisible.value = true\n })\n })\n },\n ...[options.transitionProps?.onEnter ?? noop, props.transitionProps?.onEnter ?? noop].flat(),\n ]\n const onAfterEnter: TransitionProps['onAfterEnter'] = [\n markLazyLoadCompleted,\n ...[\n options.transitionProps?.onAfterEnter ?? noop,\n props.transitionProps?.onAfterEnter ?? noop,\n ].flat(),\n () => {\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false\n }\n requestAnimationFrame(() => {\n trapActive.value = true\n nextTick(() => {\n emit('shown', buildTriggerableEvent('shown', {cancelable: false}))\n })\n })\n if (!_resolveOnHide) {\n _Resolve?.(true)\n _Promise = undefined\n _Resolve = undefined\n }\n },\n ]\n\n const onBeforeLeave: TransitionProps['onBeforeLeave'] = [\n () => {\n if (!isLeaving.value) isLeaving.value = true\n },\n ...[\n options.transitionProps?.onBeforeLeave ?? noop,\n props.transitionProps?.onBeforeLeave ?? noop,\n ].flat(),\n () => {\n trapActive.value = false\n },\n ]\n\n const onLeave: TransitionProps['onLeave'] = [\n () => {\n isVisible.value = false\n },\n ...[options.transitionProps?.onLeave ?? noop, props.transitionProps?.onLeave ?? noop].flat(),\n ]\n\n const onAfterLeave: TransitionProps['onAfterLeave'] = [\n () => {\n emit('hidden', buildTriggerableEvent('hidden', {trigger: leaveTrigger, cancelable: false}))\n },\n ...[\n options.transitionProps?.onAfterLeave ?? noop,\n props.transitionProps?.onAfterLeave ?? noop,\n ].flat(),\n () => {\n isLeaving.value = false\n isActive.value = false\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false\n })\n _Resolve?.(leaveTrigger || '')\n _Promise = undefined\n _Resolve = undefined\n leaveTrigger = undefined\n },\n ]\n\n const contentShowing = computed(\n () =>\n localTemporaryHide.value === true ||\n isActive.value === true ||\n props.lazy === false ||\n (props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false)\n )\n const trapActive = ref(false)\n const backdropVisible = ref(false)\n const backdropReady = ref(false)\n\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n } satisfies TransitionProps\n return {\n showRef: readonly(showRef),\n renderRef: readonly(renderRef),\n renderBackdropRef: readonly(renderBackdropRef),\n isVisible: readonly(isVisible),\n isActive: readonly(isActive),\n trapActive: readonly(trapActive),\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation: readonly(localNoAnimation),\n setLocalNoAnimation: (value: boolean) => {\n localNoAnimation.value = value\n },\n localTemporaryHide: readonly(localTemporaryHide),\n setLocalTemporaryHide: (value: boolean) => {\n localTemporaryHide.value = value\n },\n isLeaving: readonly(isLeaving),\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions,\n } satisfies TransitionProps,\n\n lazyLoadCompleted: readonly(lazyLoadCompleted),\n markLazyLoadCompleted,\n contentShowing,\n backdropReady: readonly(backdropReady),\n backdropVisible: readonly(backdropVisible),\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true\n })\n })\n backdropReady.value = false\n },\n onAfterEnter: () => {\n backdropReady.value = true\n },\n onBeforeLeave: () => {\n backdropVisible.value = false\n },\n onAfterLeave: () => {\n backdropReady.value = false\n requestAnimationFrame(() => {\n renderBackdropRef.value = false\n })\n },\n } satisfies TransitionProps,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useShowHide-CBFt1_EW.mjs","names":[],"sources":["../src/composables/useShowHide.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EmitFn,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n onUnmounted,\n readonly,\n ref,\n type Ref,\n type TransitionProps,\n watch,\n} from 'vue'\nimport {showHideRegistryKey} from '../utils/keys'\nimport {BvTriggerableEvent} from '../utils'\nimport {useEventListener, useThrottleFn} from '@vueuse/core'\nimport {noop} from '../utils/functions'\n\nexport const fadeBaseTransitionProps = {\n name: 'fade',\n enterActiveClass: '',\n enterFromClass: 'showing',\n enterToClass: '',\n leaveActiveClass: '',\n leaveFromClass: '',\n leaveToClass: 'showing',\n css: true,\n} as const satisfies TransitionProps\n\nexport const useShowHide = (\n modelValue: Ref<boolean | number>,\n props: {\n visible?: boolean\n show?: boolean\n noAnimation?: boolean\n noFade?: boolean\n noCloseOnBackdrop?: boolean\n noCloseOnEsc?: boolean\n transitionProps?: TransitionProps\n lazy?: boolean\n initialAnimation?: boolean\n delay?:\n | number\n | {\n show: number\n hide: number\n }\n } & Record<string, unknown>,\n emit: EmitFn,\n element: Ref<HTMLElement | null>,\n computedId: Ref<string>,\n options: {\n transitionProps?: TransitionProps\n showFn?: () => void\n hideFn?: () => void\n } = {\n transitionProps: {},\n showFn: () => {},\n hideFn: () => {},\n }\n) => {\n let noAction = false\n const initialShow = (!!modelValue.value && !props.initialAnimation) || props.visible || false\n const showRef = ref<boolean>(initialShow)\n const renderRef = ref<boolean>(initialShow)\n const renderBackdropRef = ref<boolean>(initialShow)\n\n let isCountdown = typeof modelValue.value !== 'boolean'\n\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== 'boolean'\n if (noAction) {\n noAction = false\n return\n }\n if (modelValue.value) {\n show()\n } else {\n hide('modelValue', true)\n }\n })\n\n const localNoAnimation = ref(initialShow)\n const localTemporaryHide = ref(false)\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n )\n let isMounted = false\n onMounted(() => {\n isMounted = true\n if (!props.show && initialShow) {\n // show without delay or animation\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n return\n }\n localNoAnimation.value = true\n if (!modelValue.value) {\n noAction = true\n modelValue.value = true\n }\n renderRef.value = true\n renderBackdropRef.value = true\n isVisible.value = true\n backdropVisible.value = true\n backdropReady.value = true\n showRef.value = true\n options.showFn?.()\n } else if (props.show || (!!modelValue.value && props.initialAnimation)) {\n show()\n }\n })\n\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true\n\n nextTick(() => {\n if (newval) isVisible.value = true\n if (newval) {\n show()\n } else {\n hide('visible-prop', true)\n }\n })\n }\n )\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show()\n } else {\n hide('show-prop', true)\n }\n }\n )\n // todo: remove\n useEventListener(\n element,\n 'bv-toggle',\n () => {\n modelValue.value = !modelValue.value\n },\n {passive: true}\n )\n\n const buildTriggerableEvent = (\n type: string,\n opts: Readonly<Partial<BvTriggerableEvent>> = {}\n ): BvTriggerableEvent =>\n new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value,\n })\n\n let showTimeout: ReturnType<typeof setTimeout> | undefined\n let hideTimeout: ReturnType<typeof setTimeout> | undefined\n let _Resolve: ((value: boolean | string) => void) | undefined\n let _Promise: Promise<boolean | string> | undefined\n let _resolveOnHide: boolean | undefined\n const show = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true)\n _resolveOnHide = resolveOnHide\n if (showRef.value && !hideTimeout && _Promise) return _Promise\n\n _Promise = new Promise<boolean | string>((resolve) => {\n _Resolve = resolve\n })\n\n const event = buildTriggerableEvent('show', {cancelable: true})\n emit('show', event)\n\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n if (isVisible.value) {\n isVisible.value = false\n }\n if (modelValue.value && !isCountdown) {\n noAction = true\n nextTick(() => {\n modelValue.value = false\n })\n }\n _Resolve?.('show-prevented')\n return _Promise\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = undefined\n }\n renderRef.value = true\n renderBackdropRef.value = true\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === undefined) {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n return\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return\n showTimeout = undefined\n showRef.value = true\n options.showFn?.()\n if (!modelValue.value) {\n noAction = true\n nextTick(() => {\n modelValue.value = true\n })\n }\n },\n typeof props.delay === 'number' ? props.delay : props.delay?.show || 0\n )\n })\n return _Promise\n }\n\n let leaveTrigger: string | undefined\n const hide = (trigger?: string, noTriggerEmit?: boolean): Promise<string> => {\n if (!showRef.value && !showTimeout && !renderRef.value) return Promise.resolve('')\n if (!_Promise)\n _Promise = new Promise<string>((resolve) => {\n ;(_Resolve as (value: string | PromiseLike<string>) => void) = resolve\n })\n if (typeof trigger !== 'string') trigger = undefined\n leaveTrigger = trigger\n const event = buildTriggerableEvent('hide', {cancelable: true, trigger})\n const event2 = buildTriggerableEvent(trigger || 'ignore', {cancelable: true, trigger})\n if (\n (trigger === 'backdrop' && props.noCloseOnBackdrop) ||\n (trigger === 'esc' && props.noCloseOnEsc)\n ) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2)\n }\n emit('hide', event)\n\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit('hide-prevented', buildTriggerableEvent('hide-prevented', {trigger}))\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true\n modelValue.value = true\n })\n }\n _Resolve?.('hide-prevented')\n return _Promise as Promise<string>\n }\n trapActive.value = false\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = undefined\n if (!localTemporaryHide.value) renderRef.value = false\n renderBackdropRef.value = false\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return\n hideTimeout = undefined\n isLeaving.value = true\n showRef.value = false\n options.hideFn?.()\n if (modelValue.value) {\n noAction = true\n modelValue.value = isCountdown ? 0 : false\n }\n },\n localNoAnimation.value\n ? 0\n : typeof props.delay === 'number'\n ? props.delay\n : props.delay?.hide || 0\n )\n return _Promise as Promise<string>\n }\n const throttleHide = useThrottleFn((a) => hide(a), 500)\n const throttleShow = useThrottleFn(() => show(), 500)\n\n const toggle = (resolveOnHide: boolean = false): Promise<boolean | string> => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return Promise.resolve('toggle-prevented')\n }\n if (showRef.value) {\n return hide('toggle-function', true)\n }\n return show(resolveOnHide)\n }\n const triggerToggle = () => {\n const e = buildTriggerableEvent('toggle', {cancelable: true})\n emit('toggle', e)\n if (e.defaultPrevented) {\n emit('toggle-prevented', buildTriggerableEvent('toggle-prevented'))\n return\n }\n if (showRef.value) {\n hide('toggle-trigger', true)\n } else {\n show()\n }\n }\n const triggerRegistry: {trigger: string; el: Element}[] = []\n const registerTrigger = (trigger: string, el: Element) => {\n triggerRegistry.push({trigger, el})\n el.addEventListener(trigger, triggerToggle)\n checkVisibility(el)\n }\n const unregisterTrigger = (trigger: string, el: Element, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el)\n if (idx > -1) {\n triggerRegistry.splice(idx, 1)\n el.removeEventListener(trigger, triggerToggle)\n if (clean) {\n el.removeAttribute('aria-expanded')\n el.classList.remove('collapsed')\n el.classList.remove('not-collapsed')\n }\n }\n }\n\n const appRegistry = inject(showHideRegistryKey, null)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance() as ComponentInternalInstance,\n })\n const checkVisibility = (el: Element) => {\n el.setAttribute('aria-expanded', modelValue.value ? 'true' : 'false')\n el.classList.toggle('collapsed', !modelValue.value)\n el.classList.toggle('not-collapsed', !!modelValue.value)\n }\n\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el)\n })\n })\n\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId)\n })\n\n onBeforeUnmount(() => {\n appRegistry?.unregister()\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle)\n })\n })\n onUnmounted(() => {\n isMounted = false\n clearTimeout(showTimeout)\n clearTimeout(hideTimeout)\n showTimeout = undefined\n hideTimeout = undefined\n })\n\n const lazyLoadCompleted = ref(false)\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true\n }\n\n const isLeaving = ref(false)\n const isActive = ref(initialShow)\n const isVisible = ref(initialShow)\n\n const onBeforeEnter: TransitionProps['onBeforeEnter'] = [\n ...[\n options.transitionProps?.onBeforeEnter ?? noop,\n props.transitionProps?.onBeforeEnter ?? noop,\n ].flat(),\n () => {\n isActive.value = true\n },\n ]\n\n const onEnter: TransitionProps['onEnter'] = [\n () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // sometimes one just isn't enough (offcanvas on the first load after refresh)\n isVisible.value = true\n })\n })\n },\n ...[options.transitionProps?.onEnter ?? noop, props.transitionProps?.onEnter ?? noop].flat(),\n ]\n const onAfterEnter: TransitionProps['onAfterEnter'] = [\n markLazyLoadCompleted,\n ...[\n options.transitionProps?.onAfterEnter ?? noop,\n props.transitionProps?.onAfterEnter ?? noop,\n ].flat(),\n () => {\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false\n }\n requestAnimationFrame(() => {\n trapActive.value = true\n nextTick(() => {\n emit('shown', buildTriggerableEvent('shown', {cancelable: false}))\n })\n })\n if (!_resolveOnHide) {\n _Resolve?.(true)\n _Promise = undefined\n _Resolve = undefined\n }\n },\n ]\n\n const onBeforeLeave: TransitionProps['onBeforeLeave'] = [\n () => {\n if (!isLeaving.value) isLeaving.value = true\n },\n ...[\n options.transitionProps?.onBeforeLeave ?? noop,\n props.transitionProps?.onBeforeLeave ?? noop,\n ].flat(),\n () => {\n trapActive.value = false\n },\n ]\n\n const onLeave: TransitionProps['onLeave'] = [\n () => {\n isVisible.value = false\n },\n ...[options.transitionProps?.onLeave ?? noop, props.transitionProps?.onLeave ?? noop].flat(),\n ]\n\n const onAfterLeave: TransitionProps['onAfterLeave'] = [\n () => {\n emit('hidden', buildTriggerableEvent('hidden', {trigger: leaveTrigger, cancelable: false}))\n },\n ...[\n options.transitionProps?.onAfterLeave ?? noop,\n props.transitionProps?.onAfterLeave ?? noop,\n ].flat(),\n () => {\n isLeaving.value = false\n isActive.value = false\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false\n })\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false\n })\n _Resolve?.(leaveTrigger || '')\n _Promise = undefined\n _Resolve = undefined\n leaveTrigger = undefined\n },\n ]\n\n const contentShowing = computed(\n () =>\n localTemporaryHide.value === true ||\n isActive.value === true ||\n props.lazy === false ||\n (props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false)\n )\n const trapActive = ref(false)\n const backdropVisible = ref(false)\n const backdropReady = ref(false)\n\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n } satisfies TransitionProps\n return {\n showRef: readonly(showRef),\n renderRef: readonly(renderRef),\n renderBackdropRef: readonly(renderBackdropRef),\n isVisible: readonly(isVisible),\n isActive: readonly(isActive),\n trapActive: readonly(trapActive),\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation: readonly(localNoAnimation),\n setLocalNoAnimation: (value: boolean) => {\n localNoAnimation.value = value\n },\n localTemporaryHide: readonly(localTemporaryHide),\n setLocalTemporaryHide: (value: boolean) => {\n localTemporaryHide.value = value\n },\n isLeaving: readonly(isLeaving),\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions,\n } satisfies TransitionProps,\n\n lazyLoadCompleted: readonly(lazyLoadCompleted),\n markLazyLoadCompleted,\n contentShowing,\n backdropReady: readonly(backdropReady),\n backdropVisible: readonly(backdropVisible),\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true\n })\n })\n backdropReady.value = false\n },\n onAfterEnter: () => {\n backdropReady.value = true\n },\n onBeforeLeave: () => {\n backdropVisible.value = false\n },\n onAfterLeave: () => {\n backdropReady.value = false\n requestAnimationFrame(() => {\n renderBackdropRef.value = false\n })\n },\n } satisfies TransitionProps,\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-CoQrYLCe.js");
2
- const require_keys = require("./keys-durSVUrO.js");
2
+ const require_keys = require("./keys-BMye8nSf.js");
3
3
  const require_dist = require("./dist-DiXKLh_W.js");
4
4
  const require_classes = require("./classes-D5wrmmVs.js");
5
5
  const require_functions = require("./functions-Bx1HDqMv.js");
@@ -433,4 +433,4 @@ Object.defineProperty(exports, "useShowHide", {
433
433
  }
434
434
  });
435
435
 
436
- //# sourceMappingURL=useShowHide-BhdrR1wG.js.map
436
+ //# sourceMappingURL=useShowHide-CHm2uUep.js.map