bootstrap-vue-next 0.45.5 → 0.45.7
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.
- package/dist/{BAccordion-Gz2SpRmq.mjs → BAccordion-D51b9HVD.mjs} +5 -5
- package/dist/{BAccordion-Gz2SpRmq.mjs.map → BAccordion-D51b9HVD.mjs.map} +1 -1
- package/dist/{BAccordion-DgXJMqdG.js → BAccordion-DYmuqZIG.js} +5 -5
- package/dist/{BAccordion-DgXJMqdG.js.map → BAccordion-DYmuqZIG.js.map} +1 -1
- package/dist/{BAlert-BFPBalmr.mjs → BAlert-Ce2uxrJi.mjs} +8 -8
- package/dist/{BAlert-BFPBalmr.mjs.map → BAlert-Ce2uxrJi.mjs.map} +1 -1
- package/dist/{BAlert-Dk3rgEOI.js → BAlert-croEtrQu.js} +8 -8
- package/dist/{BAlert-Dk3rgEOI.js.map → BAlert-croEtrQu.js.map} +1 -1
- package/dist/{BApp-CIu-zI8K.mjs → BApp-B-fUrnpK.mjs} +2 -2
- package/dist/{BApp-CIu-zI8K.mjs.map → BApp-B-fUrnpK.mjs.map} +1 -1
- package/dist/{BApp-cBKQc5Dd.js → BApp-DOvEe1jo.js} +2 -2
- package/dist/{BApp-cBKQc5Dd.js.map → BApp-DOvEe1jo.js.map} +1 -1
- package/dist/{BAspect-BULTO240.js → BAspect-CUIU48Ck.js} +2 -2
- package/dist/{BAspect-BULTO240.js.map → BAspect-CUIU48Ck.js.map} +1 -1
- package/dist/{BAspect-CwokVvvn.mjs → BAspect-wfiXM4KA.mjs} +2 -2
- package/dist/{BAspect-CwokVvvn.mjs.map → BAspect-wfiXM4KA.mjs.map} +1 -1
- package/dist/{BAutocomplete-DRzLhACU.mjs → BAutocomplete-CH-bQzME.mjs} +8 -8
- package/dist/{BAutocomplete-DRzLhACU.mjs.map → BAutocomplete-CH-bQzME.mjs.map} +1 -1
- package/dist/{BAutocomplete-D8Qkcqcy.js → BAutocomplete-DLDFAV5_.js} +8 -8
- package/dist/{BAutocomplete-D8Qkcqcy.js.map → BAutocomplete-DLDFAV5_.js.map} +1 -1
- package/dist/{BAvatar-CZn0MQHY.js → BAvatar-FGK0dK0x.js} +5 -5
- package/dist/{BAvatar-CZn0MQHY.js.map → BAvatar-FGK0dK0x.js.map} +1 -1
- package/dist/{BAvatar-DODGnQMY.mjs → BAvatar-iALHbqVk.mjs} +5 -5
- package/dist/{BAvatar-DODGnQMY.mjs.map → BAvatar-iALHbqVk.mjs.map} +1 -1
- package/dist/{BBadge-CZ219I7a.mjs → BBadge-Cx_CdauK.mjs} +3 -3
- package/dist/{BBadge-CZ219I7a.mjs.map → BBadge-Cx_CdauK.mjs.map} +1 -1
- package/dist/{BBadge-DTJcCo9u.js → BBadge-Db6SEnzy.js} +3 -3
- package/dist/{BBadge-DTJcCo9u.js.map → BBadge-Db6SEnzy.js.map} +1 -1
- package/dist/{BBreadcrumb-DFG2Qxl9.js → BBreadcrumb-B9ra7vg2.js} +3 -3
- package/dist/{BBreadcrumb-DFG2Qxl9.js.map → BBreadcrumb-B9ra7vg2.js.map} +1 -1
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs → BBreadcrumb-BxADbg0O.mjs} +3 -3
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs.map → BBreadcrumb-BxADbg0O.mjs.map} +1 -1
- package/dist/{BButton-C0Ylhonf.mjs → BButton-BSa7LfL5.mjs} +5 -5
- package/dist/{BButton-C0Ylhonf.mjs.map → BButton-BSa7LfL5.mjs.map} +1 -1
- package/dist/{BButton-BZ9eI3ZX.js → BButton-DRRlzkyK.js} +5 -5
- package/dist/{BButton-BZ9eI3ZX.js.map → BButton-DRRlzkyK.js.map} +1 -1
- package/dist/{BButton-D_sCrjpg.mjs → BButton-PY7AANXJ.mjs} +4 -4
- package/dist/{BButton-D_sCrjpg.mjs.map → BButton-PY7AANXJ.mjs.map} +1 -1
- package/dist/{BButton-Dr-RadYQ.js → BButton-aYtMnyHu.js} +4 -4
- package/dist/{BButton-Dr-RadYQ.js.map → BButton-aYtMnyHu.js.map} +1 -1
- package/dist/{BCard-cj8_dIcz.mjs → BCard-BWoruisp.mjs} +3 -3
- package/dist/{BCard-cj8_dIcz.mjs.map → BCard-BWoruisp.mjs.map} +1 -1
- package/dist/{BCard-BjQkY783.js → BCard-Bh8RLMo_.js} +3 -3
- package/dist/{BCard-BjQkY783.js.map → BCard-Bh8RLMo_.js.map} +1 -1
- package/dist/{BCard-TS8DtOwm.mjs → BCard-CHbKv2OR.mjs} +3 -3
- package/dist/{BCard-TS8DtOwm.mjs.map → BCard-CHbKv2OR.mjs.map} +1 -1
- package/dist/{BCard-BkvG5Zzw.js → BCard-DwNYhVmg.js} +3 -3
- package/dist/{BCard-BkvG5Zzw.js.map → BCard-DwNYhVmg.js.map} +1 -1
- package/dist/{BCarousel-D23rApAX.js → BCarousel-2JB21Pcu.js} +5 -5
- package/dist/{BCarousel-D23rApAX.js.map → BCarousel-2JB21Pcu.js.map} +1 -1
- package/dist/{BCarousel-VL1gVXpt.mjs → BCarousel-B6_bgQpl.mjs} +5 -5
- package/dist/{BCarousel-VL1gVXpt.mjs.map → BCarousel-B6_bgQpl.mjs.map} +1 -1
- package/dist/{BCloseButton-CCdRwLDo.mjs → BCloseButton-CKTKr4PS.mjs} +2 -2
- package/dist/{BCloseButton-CCdRwLDo.mjs.map → BCloseButton-CKTKr4PS.mjs.map} +1 -1
- package/dist/{BCloseButton-fw5ONnhr.js → BCloseButton-D42zHRLP.js} +2 -2
- package/dist/{BCloseButton-fw5ONnhr.js.map → BCloseButton-D42zHRLP.js.map} +1 -1
- package/dist/{BCol-VPaTVLsM.mjs → BCol-B3VeEk9z.mjs} +2 -2
- package/dist/{BCol-VPaTVLsM.mjs.map → BCol-B3VeEk9z.mjs.map} +1 -1
- package/dist/{BCol-CArTYHqb.js → BCol-Ck9VydHj.js} +2 -2
- package/dist/{BCol-CArTYHqb.js.map → BCol-Ck9VydHj.js.map} +1 -1
- package/dist/{BCollapse-CZlDVTpI.js → BCollapse-CDLYLSZo.js} +5 -5
- package/dist/{BCollapse-CZlDVTpI.js.map → BCollapse-CDLYLSZo.js.map} +1 -1
- package/dist/{BCollapse-CTvK48kB.mjs → BCollapse-kqhe4AmL.mjs} +5 -5
- package/dist/{BCollapse-CTvK48kB.mjs.map → BCollapse-kqhe4AmL.mjs.map} +1 -1
- package/dist/{BContainer-CeHyMYb_.mjs → BContainer-ATfhaxTc.mjs} +4 -4
- package/dist/{BContainer-CeHyMYb_.mjs.map → BContainer-ATfhaxTc.mjs.map} +1 -1
- package/dist/{BContainer-CNmEk2mi.js → BContainer-CcF6dgtI.js} +4 -4
- package/dist/{BContainer-CNmEk2mi.js.map → BContainer-CcF6dgtI.js.map} +1 -1
- package/dist/{BDateField-gRWIwMnA.mjs → BDateField-CccP3H1R.mjs} +3 -3
- package/dist/{BDateField-gRWIwMnA.mjs.map → BDateField-CccP3H1R.mjs.map} +1 -1
- package/dist/{BDateField-B4yL8Pju.js → BDateField-DzZw5FRX.js} +3 -3
- package/dist/{BDateField-B4yL8Pju.js.map → BDateField-DzZw5FRX.js.map} +1 -1
- package/dist/{BDatePicker-m2drV1fl.js → BDatePicker-BDkzkOcm.js} +3 -3
- package/dist/{BDatePicker-m2drV1fl.js.map → BDatePicker-BDkzkOcm.js.map} +1 -1
- package/dist/{BDatePicker-ZuMpgD91.mjs → BDatePicker-BnwnSkBg.mjs} +3 -3
- package/dist/{BDatePicker-ZuMpgD91.mjs.map → BDatePicker-BnwnSkBg.mjs.map} +1 -1
- package/dist/{BDropdown-D2ep4wKG.mjs → BDropdown-0E8x5kk6.mjs} +5 -5
- package/dist/{BDropdown-D2ep4wKG.mjs.map → BDropdown-0E8x5kk6.mjs.map} +1 -1
- package/dist/{BDropdown-B2vWJ-u0.mjs → BDropdown-B1DbvVzm.mjs} +7 -7
- package/dist/{BDropdown-B2vWJ-u0.mjs.map → BDropdown-B1DbvVzm.mjs.map} +1 -1
- package/dist/{BDropdown-BSCasYDc.js → BDropdown-BPFtkX3p.js} +7 -7
- package/dist/{BDropdown-BSCasYDc.js.map → BDropdown-BPFtkX3p.js.map} +1 -1
- package/dist/{BDropdown-CL-erjq8.js → BDropdown-DKCgBzYS.js} +5 -5
- package/dist/{BDropdown-CL-erjq8.js.map → BDropdown-DKCgBzYS.js.map} +1 -1
- package/dist/{BForm-B0bPQ4kx.js → BForm-6JlWdQMO.js} +9 -6
- package/dist/{BForm-B0bPQ4kx.js.map → BForm-6JlWdQMO.js.map} +1 -1
- package/dist/{BForm-CpNuvbIt.mjs → BForm-BVfW08s5.mjs} +2 -2
- package/dist/{BForm-CpNuvbIt.mjs.map → BForm-BVfW08s5.mjs.map} +1 -1
- package/dist/{BForm-CoQKIJzv.mjs → BForm-DJu2hDV_.mjs} +10 -7
- package/dist/{BForm-CoQKIJzv.mjs.map → BForm-DJu2hDV_.mjs.map} +1 -1
- package/dist/{BForm-K67Ciyza.js → BForm-cnRpggt9.js} +2 -2
- package/dist/{BForm-K67Ciyza.js.map → BForm-cnRpggt9.js.map} +1 -1
- package/dist/{BFormCheckbox-xN7AQw4O.mjs → BFormCheckbox-Baf_9BSc.mjs} +9 -6
- package/dist/BFormCheckbox-Baf_9BSc.mjs.map +1 -0
- package/dist/{BFormCheckbox-g7gtIrhy.js → BFormCheckbox-D5ySHMJ8.js} +9 -6
- package/dist/BFormCheckbox-D5ySHMJ8.js.map +1 -0
- package/dist/{BFormFile-DXdAyYmv.mjs → BFormFile-CZebm0Cp.mjs} +8 -3
- package/dist/BFormFile-CZebm0Cp.mjs.map +1 -0
- package/dist/{BFormFile-DC-x9wQo.js → BFormFile-MISLntyJ.js} +8 -3
- package/dist/BFormFile-MISLntyJ.js.map +1 -0
- package/dist/{BFormGroup-DZTiChgT.js → BFormGroup-Bk1t-D1N.js} +89 -104
- package/dist/BFormGroup-Bk1t-D1N.js.map +1 -0
- package/dist/{BFormGroup-ayltvQts.mjs → BFormGroup-vysRPb99.mjs} +90 -105
- package/dist/BFormGroup-vysRPb99.mjs.map +1 -0
- package/dist/{BFormInput-DNuvqbFQ.js → BFormInput-CBwwDjfC.js} +4 -4
- package/dist/{BFormInput-DNuvqbFQ.js.map → BFormInput-CBwwDjfC.js.map} +1 -1
- package/dist/{BFormInput-NKko58M2.mjs → BFormInput-sEfU3CuN.mjs} +4 -4
- package/dist/{BFormInput-NKko58M2.mjs.map → BFormInput-sEfU3CuN.mjs.map} +1 -1
- package/dist/{BFormOtp-B4al7MJf.mjs → BFormOtp-C8X3u1od.mjs} +4 -4
- package/dist/{BFormOtp-B4al7MJf.mjs.map → BFormOtp-C8X3u1od.mjs.map} +1 -1
- package/dist/{BFormOtp-UcLR9oFd.js → BFormOtp-CLrQJRPe.js} +4 -4
- package/dist/{BFormOtp-UcLR9oFd.js.map → BFormOtp-CLrQJRPe.js.map} +1 -1
- package/dist/{BFormRadio-DX-gM5Rc.js → BFormRadio-B2yu-o2v.js} +9 -6
- package/dist/BFormRadio-B2yu-o2v.js.map +1 -0
- package/dist/{BFormRadio-DHx68AdL.mjs → BFormRadio-COc_IbxC.mjs} +9 -6
- package/dist/BFormRadio-COc_IbxC.mjs.map +1 -0
- package/dist/{BFormRating-BR7RMvZG.mjs → BFormRating-CIgPVsH_.mjs} +4 -4
- package/dist/{BFormRating-BR7RMvZG.mjs.map → BFormRating-CIgPVsH_.mjs.map} +1 -1
- package/dist/{BFormRating-CF-x5qkB.js → BFormRating-CSdRxN5z.js} +4 -4
- package/dist/{BFormRating-CF-x5qkB.js.map → BFormRating-CSdRxN5z.js.map} +1 -1
- package/dist/{BFormSelect-CtcsnTlz.js → BFormSelect-CI92Dv27.js} +7 -6
- package/dist/BFormSelect-CI92Dv27.js.map +1 -0
- package/dist/{BFormSelect-eS-C3M0J.mjs → BFormSelect-P-InkOm-.mjs} +7 -6
- package/dist/BFormSelect-P-InkOm-.mjs.map +1 -0
- package/dist/{BFormSelectOption-B3BO50XB.mjs → BFormSelectOption-DFN4lPRh.mjs} +3 -3
- package/dist/{BFormSelectOption-B3BO50XB.mjs.map → BFormSelectOption-DFN4lPRh.mjs.map} +1 -1
- package/dist/{BFormSelectOption-CQ3j1Q5j.js → BFormSelectOption-DrwJucNf.js} +3 -3
- package/dist/{BFormSelectOption-CQ3j1Q5j.js.map → BFormSelectOption-DrwJucNf.js.map} +1 -1
- package/dist/{BFormSpinbutton-DPCXum9q.js → BFormSpinbutton-1gTz4nTo.js} +4 -4
- package/dist/{BFormSpinbutton-DPCXum9q.js.map → BFormSpinbutton-1gTz4nTo.js.map} +1 -1
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs → BFormSpinbutton-6qkTBF_4.mjs} +4 -4
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs.map → BFormSpinbutton-6qkTBF_4.mjs.map} +1 -1
- package/dist/{BFormTag-Bsy6Znok.js → BFormTag-CeV0MSRC.js} +4 -4
- package/dist/{BFormTag-Bsy6Znok.js.map → BFormTag-CeV0MSRC.js.map} +1 -1
- package/dist/{BFormTag-Cjg1R-Lj.mjs → BFormTag-CnzI39y9.mjs} +4 -4
- package/dist/{BFormTag-Cjg1R-Lj.mjs.map → BFormTag-CnzI39y9.mjs.map} +1 -1
- package/dist/{BFormTags-D2Dk598Q.mjs → BFormTags-BMltSaKL.mjs} +4 -4
- package/dist/{BFormTags-D2Dk598Q.mjs.map → BFormTags-BMltSaKL.mjs.map} +1 -1
- package/dist/{BFormTags-BIZyBseI.js → BFormTags-BhO60uiL.js} +4 -4
- package/dist/{BFormTags-BIZyBseI.js.map → BFormTags-BhO60uiL.js.map} +1 -1
- package/dist/{BFormTextarea-CYh47SxL.js → BFormTextarea-C3Cj0DWj.js} +3 -3
- package/dist/{BFormTextarea-CYh47SxL.js.map → BFormTextarea-C3Cj0DWj.js.map} +1 -1
- package/dist/{BFormTextarea-M21mholw.mjs → BFormTextarea-DN1gAfSo.mjs} +3 -3
- package/dist/{BFormTextarea-M21mholw.mjs.map → BFormTextarea-DN1gAfSo.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-DWkakzVO.mjs → BFormValidFeedback-CBYxQLDz.mjs} +44 -4
- package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +1 -0
- package/dist/{BFormValidFeedback-BhkEhSa0.js → BFormValidFeedback-Kwxh798d.js} +48 -2
- package/dist/BFormValidFeedback-Kwxh798d.js.map +1 -0
- package/dist/{BImg-DFiJSy66.js → BImg-JKJLgYYT.js} +2 -2
- package/dist/{BImg-DFiJSy66.js.map → BImg-JKJLgYYT.js.map} +1 -1
- package/dist/{BImg-UUMOpbK0.mjs → BImg-QBS2ECBc.mjs} +2 -2
- package/dist/{BImg-UUMOpbK0.mjs.map → BImg-QBS2ECBc.mjs.map} +1 -1
- package/dist/{BInputGroup-BAC-B_UM.js → BInputGroup-Bvlfv6VD.js} +3 -3
- package/dist/{BInputGroup-BAC-B_UM.js.map → BInputGroup-Bvlfv6VD.js.map} +1 -1
- package/dist/{BInputGroup-CiKwWBSu.js → BInputGroup-D4fW324B.js} +3 -3
- package/dist/{BInputGroup-CiKwWBSu.js.map → BInputGroup-D4fW324B.js.map} +1 -1
- package/dist/{BInputGroup-CfELrPhK.mjs → BInputGroup-DiTSexkT.mjs} +3 -3
- package/dist/{BInputGroup-CfELrPhK.mjs.map → BInputGroup-DiTSexkT.mjs.map} +1 -1
- package/dist/{BInputGroup-3AVRA3U7.mjs → BInputGroup-X2Z53RJx.mjs} +3 -3
- package/dist/{BInputGroup-3AVRA3U7.mjs.map → BInputGroup-X2Z53RJx.mjs.map} +1 -1
- package/dist/{BLink-CNFWSz0D.mjs → BLink-Dfgte6dQ.mjs} +3 -3
- package/dist/{BLink-CNFWSz0D.mjs.map → BLink-Dfgte6dQ.mjs.map} +1 -1
- package/dist/{BLink-uLjtY3bY.js → BLink-kLEjleB1.js} +3 -3
- package/dist/{BLink-uLjtY3bY.js.map → BLink-kLEjleB1.js.map} +1 -1
- package/dist/{BListGroup-CeXKZio1.js → BListGroup-C8JOzHTz.js} +4 -4
- package/dist/{BListGroup-CeXKZio1.js.map → BListGroup-C8JOzHTz.js.map} +1 -1
- package/dist/{BListGroup-CGxa7ZEu.mjs → BListGroup-DwTLpNiD.mjs} +4 -4
- package/dist/{BListGroup-CGxa7ZEu.mjs.map → BListGroup-DwTLpNiD.mjs.map} +1 -1
- package/dist/{BModal-BEmloby5.mjs → BModal-C-ZCau2E.mjs} +7 -7
- package/dist/{BModal-BEmloby5.mjs.map → BModal-C-ZCau2E.mjs.map} +1 -1
- package/dist/{BModal-6hh-azT8.js → BModal-VstTwEq9.js} +7 -7
- package/dist/{BModal-6hh-azT8.js.map → BModal-VstTwEq9.js.map} +1 -1
- package/dist/{BNav-u9QwSGj3.js → BNav-DCLambmM.js} +5 -5
- package/dist/{BNav-u9QwSGj3.js.map → BNav-DCLambmM.js.map} +1 -1
- package/dist/{BNav-EHHlEg1E.mjs → BNav-DfYvjfRK.mjs} +5 -5
- package/dist/{BNav-EHHlEg1E.mjs.map → BNav-DfYvjfRK.mjs.map} +1 -1
- package/dist/{BNavbar-s8yvmhyz.js → BNavbar-BLWaZJRP.js} +4 -4
- package/dist/{BNavbar-s8yvmhyz.js.map → BNavbar-BLWaZJRP.js.map} +1 -1
- package/dist/{BNavbar-kgHIo_Gr.mjs → BNavbar-xYaikQVY.mjs} +4 -4
- package/dist/{BNavbar-kgHIo_Gr.mjs.map → BNavbar-xYaikQVY.mjs.map} +1 -1
- package/dist/{BOffcanvas-CwH0DqSG.mjs → BOffcanvas-CQb9XNvS.mjs} +6 -6
- package/dist/{BOffcanvas-CwH0DqSG.mjs.map → BOffcanvas-CQb9XNvS.mjs.map} +1 -1
- package/dist/{BOffcanvas-DdiP19Xz.js → BOffcanvas-DTRiZzwN.js} +6 -6
- package/dist/{BOffcanvas-DdiP19Xz.js.map → BOffcanvas-DTRiZzwN.js.map} +1 -1
- package/dist/{BOverlay-DSUoseNJ.mjs → BOverlay-Bh2PIN_q.mjs} +3 -3
- package/dist/{BOverlay-DSUoseNJ.mjs.map → BOverlay-Bh2PIN_q.mjs.map} +1 -1
- package/dist/{BOverlay--gZBEMlX.js → BOverlay-Bh4ldxgt.js} +3 -3
- package/dist/{BOverlay--gZBEMlX.js.map → BOverlay-Bh4ldxgt.js.map} +1 -1
- package/dist/{BPagination-C7MKOk8h.mjs → BPagination-D75q-ZNg.mjs} +2 -2
- package/dist/{BPagination-C7MKOk8h.mjs.map → BPagination-D75q-ZNg.mjs.map} +1 -1
- package/dist/{BPagination-D6W1LdgK.js → BPagination-fbjFAtxu.js} +2 -2
- package/dist/{BPagination-D6W1LdgK.js.map → BPagination-fbjFAtxu.js.map} +1 -1
- package/dist/{BPlaceholder-Ckvq3tMu.js → BPlaceholder-B3rs_39w.js} +4 -4
- package/dist/{BPlaceholder-Ckvq3tMu.js.map → BPlaceholder-B3rs_39w.js.map} +1 -1
- package/dist/{BPlaceholder-D__hNPyQ.mjs → BPlaceholder-DPQ6mCLN.mjs} +4 -4
- package/dist/{BPlaceholder-D__hNPyQ.mjs.map → BPlaceholder-DPQ6mCLN.mjs.map} +1 -1
- package/dist/{BProgress-I1ucNlpA.mjs → BProgress-BZlrPYhA.mjs} +3 -3
- package/dist/{BProgress-I1ucNlpA.mjs.map → BProgress-BZlrPYhA.mjs.map} +1 -1
- package/dist/{BProgress-ySlPjpRn.js → BProgress-th0-eZWo.js} +3 -3
- package/dist/{BProgress-ySlPjpRn.js.map → BProgress-th0-eZWo.js.map} +1 -1
- package/dist/{BRow-CmKiMcMZ.js → BRow-7AOuFiSy.js} +2 -2
- package/dist/{BRow-CmKiMcMZ.js.map → BRow-7AOuFiSy.js.map} +1 -1
- package/dist/{BRow-U3L8AcKV.mjs → BRow-eGSUYGCW.mjs} +2 -2
- package/dist/{BRow-U3L8AcKV.mjs.map → BRow-eGSUYGCW.mjs.map} +1 -1
- package/dist/{BSpinner-CAo-XD04.mjs → BSpinner-CUfGqviV.mjs} +2 -2
- package/dist/{BSpinner-CAo-XD04.mjs.map → BSpinner-CUfGqviV.mjs.map} +1 -1
- package/dist/{BSpinner-C1bm8U4-.js → BSpinner-DbYIp-C7.js} +2 -2
- package/dist/{BSpinner-C1bm8U4-.js.map → BSpinner-DbYIp-C7.js.map} +1 -1
- package/dist/{BTable-Bt75vbNu.mjs → BTable-CzMtFdt5.mjs} +5 -5
- package/dist/{BTable-Bt75vbNu.mjs.map → BTable-CzMtFdt5.mjs.map} +1 -1
- package/dist/{BTable-CXxJl2ps.js → BTable-DOpSWDaC.js} +5 -5
- package/dist/{BTable-CXxJl2ps.js.map → BTable-DOpSWDaC.js.map} +1 -1
- package/dist/{BTableSimple-pyz_6D4s.js → BTableSimple-BkdGAAKb.js} +3 -3
- package/dist/{BTableSimple-pyz_6D4s.js.map → BTableSimple-BkdGAAKb.js.map} +1 -1
- package/dist/{BTableSimple-CThwYBVl.mjs → BTableSimple-C-jn9Nwh.mjs} +3 -3
- package/dist/{BTableSimple-CThwYBVl.mjs.map → BTableSimple-C-jn9Nwh.mjs.map} +1 -1
- package/dist/{BTabs-C8rUY0Lx.js → BTabs-CvecFg5N.js} +4 -4
- package/dist/{BTabs-C8rUY0Lx.js.map → BTabs-CvecFg5N.js.map} +1 -1
- package/dist/{BTabs-Krs_Lv-R.mjs → BTabs-D_vWlBjT.mjs} +4 -4
- package/dist/{BTabs-Krs_Lv-R.mjs.map → BTabs-D_vWlBjT.mjs.map} +1 -1
- package/dist/{BTimeField-DSf4cMpN.mjs → BTimeField-BSDaZogC.mjs} +3 -3
- package/dist/{BTimeField-DSf4cMpN.mjs.map → BTimeField-BSDaZogC.mjs.map} +1 -1
- package/dist/{BTimeField-W2LqGCjB.js → BTimeField-BT5HXecp.js} +3 -3
- package/dist/{BTimeField-W2LqGCjB.js.map → BTimeField-BT5HXecp.js.map} +1 -1
- package/dist/{BToast-DZuxMDbe.js → BToast-DR0pek4W.js} +8 -8
- package/dist/{BToast-DZuxMDbe.js.map → BToast-DR0pek4W.js.map} +1 -1
- package/dist/{BToast-Dcfnqbxt.mjs → BToast-Y8BayxES.mjs} +8 -8
- package/dist/{BToast-Dcfnqbxt.mjs.map → BToast-Y8BayxES.mjs.map} +1 -1
- package/dist/{BTooltip-BWij0hjE.mjs → BTooltip-CVP8HdkU.mjs} +3 -3
- package/dist/{BTooltip-BWij0hjE.mjs.map → BTooltip-CVP8HdkU.mjs.map} +1 -1
- package/dist/{BTooltip-BGTjsV1z.js → BTooltip-DPLYtaL1.js} +3 -3
- package/dist/{BTooltip-BGTjsV1z.js.map → BTooltip-DPLYtaL1.js.map} +1 -1
- package/dist/bootstrap-vue-next.mjs +59 -59
- package/dist/bootstrap-vue-next.umd.js +59 -59
- package/dist/components/BFormFile/BFormFile.vue.d.mts +2 -1
- package/dist/components/BFormFile/BFormFile.vue.d.ts +2 -1
- package/dist/composables/useProvideFormGroupData.d.mts +15 -0
- package/dist/composables/useProvideFormGroupData.d.ts +15 -0
- package/dist/{floatingUi-8xXp54zf.mjs → floatingUi-62aeQtAb.mjs} +4 -4
- package/dist/{floatingUi-8xXp54zf.mjs.map → floatingUi-62aeQtAb.mjs.map} +1 -1
- package/dist/{floatingUi-9SWu8BgZ.js → floatingUi-DQ5bHmy3.js} +4 -4
- package/dist/{floatingUi-9SWu8BgZ.js.map → floatingUi-DQ5bHmy3.js.map} +1 -1
- package/dist/{keys-durSVUrO.js → keys-BMye8nSf.js} +10 -1
- package/dist/{keys-durSVUrO.js.map → keys-BMye8nSf.js.map} +1 -1
- package/dist/{keys-CQKrwmvN.mjs → keys-DU7sQgl3.mjs} +10 -1
- package/dist/{keys-CQKrwmvN.mjs.map → keys-DU7sQgl3.mjs.map} +1 -1
- package/dist/src/components/BAccordion/index.mjs +1 -1
- package/dist/src/components/BAccordion/index.umd.js +1 -1
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BAlert/index.umd.js +1 -1
- package/dist/src/components/BApp/index.mjs +1 -1
- package/dist/src/components/BApp/index.umd.js +1 -1
- package/dist/src/components/BAspect/index.mjs +1 -1
- package/dist/src/components/BAspect/index.umd.js +1 -1
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.umd.js +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBadge/index.umd.js +1 -1
- package/dist/src/components/BBreadcrumb/index.mjs +1 -1
- package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
- package/dist/src/components/BButton/index.mjs +3 -3
- package/dist/src/components/BButton/index.umd.js +3 -3
- package/dist/src/components/BCard/index.mjs +2 -2
- package/dist/src/components/BCard/index.umd.js +2 -2
- package/dist/src/components/BCarousel/index.mjs +1 -1
- package/dist/src/components/BCarousel/index.umd.js +1 -1
- package/dist/src/components/BCol/index.mjs +1 -1
- package/dist/src/components/BCol/index.umd.js +1 -1
- package/dist/src/components/BCollapse/index.mjs +1 -1
- package/dist/src/components/BCollapse/index.umd.js +1 -1
- package/dist/src/components/BContainer/index.mjs +3 -3
- package/dist/src/components/BContainer/index.umd.js +3 -3
- package/dist/src/components/BDateField/index.mjs +1 -1
- package/dist/src/components/BDateField/index.umd.js +1 -1
- package/dist/src/components/BDatePicker/index.mjs +1 -1
- package/dist/src/components/BDatePicker/index.umd.js +1 -1
- package/dist/src/components/BDropdown/index.mjs +2 -2
- package/dist/src/components/BDropdown/index.umd.js +2 -2
- package/dist/src/components/BForm/index.mjs +3 -3
- package/dist/src/components/BForm/index.umd.js +3 -3
- package/dist/src/components/BFormCheckbox/index.mjs +1 -1
- package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
- package/dist/src/components/BFormFile/index.mjs +1 -1
- package/dist/src/components/BFormFile/index.umd.js +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormGroup/index.umd.js +1 -1
- package/dist/src/components/BFormInput/index.mjs +1 -1
- package/dist/src/components/BFormInput/index.umd.js +1 -1
- package/dist/src/components/BFormOtp/index.mjs +1 -1
- package/dist/src/components/BFormOtp/index.umd.js +1 -1
- package/dist/src/components/BFormRadio/index.mjs +1 -1
- package/dist/src/components/BFormRadio/index.umd.js +1 -1
- package/dist/src/components/BFormRating/index.mjs +1 -1
- package/dist/src/components/BFormRating/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +2 -2
- package/dist/src/components/BFormSelect/index.umd.js +2 -2
- package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
- package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
- package/dist/src/components/BFormTags/index.mjs +2 -2
- package/dist/src/components/BFormTags/index.umd.js +2 -2
- package/dist/src/components/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BFormTextarea/index.umd.js +1 -1
- package/dist/src/components/BImg/index.mjs +1 -1
- package/dist/src/components/BImg/index.umd.js +1 -1
- package/dist/src/components/BInputGroup/index.mjs +2 -2
- package/dist/src/components/BInputGroup/index.umd.js +2 -2
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BLink/index.umd.js +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.umd.js +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BNavbar/index.umd.js +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.umd.js +1 -1
- package/dist/src/components/BOverlay/index.mjs +1 -1
- package/dist/src/components/BOverlay/index.umd.js +1 -1
- package/dist/src/components/BPagination/index.mjs +1 -1
- package/dist/src/components/BPagination/index.umd.js +1 -1
- package/dist/src/components/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.umd.js +1 -1
- package/dist/src/components/BPopover/index.mjs +1 -1
- package/dist/src/components/BPopover/index.umd.js +1 -1
- package/dist/src/components/BProgress/index.mjs +1 -1
- package/dist/src/components/BProgress/index.umd.js +1 -1
- package/dist/src/components/BRow/index.mjs +1 -1
- package/dist/src/components/BRow/index.umd.js +1 -1
- package/dist/src/components/BSpinner/index.mjs +1 -1
- package/dist/src/components/BSpinner/index.umd.js +1 -1
- package/dist/src/components/BTable/index.mjs +2 -2
- package/dist/src/components/BTable/index.umd.js +2 -2
- package/dist/src/components/BTabs/index.mjs +1 -1
- package/dist/src/components/BTabs/index.umd.js +1 -1
- package/dist/src/components/BTimeField/index.mjs +1 -1
- package/dist/src/components/BTimeField/index.umd.js +1 -1
- package/dist/src/components/BToast/index.mjs +1 -1
- package/dist/src/components/BToast/index.umd.js +1 -1
- package/dist/src/components/BTooltip/index.mjs +1 -1
- package/dist/src/components/BTooltip/index.umd.js +1 -1
- package/dist/src/components/index.mjs +59 -59
- package/dist/src/components/index.umd.js +59 -59
- package/dist/src/composables/orchestratorShared/index.mjs +1 -1
- package/dist/src/composables/orchestratorShared/index.umd.js +1 -1
- package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
- package/dist/src/composables/useBreadcrumb/index.umd.js +1 -1
- package/dist/src/composables/useModal/index.mjs +2 -2
- package/dist/src/composables/useModal/index.umd.js +2 -2
- package/dist/src/composables/usePopover/index.mjs +3 -3
- package/dist/src/composables/usePopover/index.umd.js +3 -3
- package/dist/src/composables/useProvideDefaults/index.mjs +1 -1
- package/dist/src/composables/useProvideDefaults/index.umd.js +1 -1
- package/dist/src/composables/useRegistry/index.mjs +1 -1
- package/dist/src/composables/useRegistry/index.umd.js +1 -1
- package/dist/src/composables/useToast/index.mjs +2 -2
- package/dist/src/composables/useToast/index.umd.js +2 -2
- package/dist/src/composables/useToggle/index.mjs +1 -1
- package/dist/src/composables/useToggle/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.mjs +2 -2
- package/dist/src/directives/BPopover/index.umd.js +2 -2
- package/dist/src/directives/BScrollspy/index.mjs +1 -1
- package/dist/src/directives/BScrollspy/index.umd.js +1 -1
- package/dist/src/directives/BToggle/index.mjs +2 -2
- package/dist/src/directives/BToggle/index.umd.js +2 -2
- package/dist/src/directives/BTooltip/index.mjs +2 -2
- package/dist/src/directives/BTooltip/index.umd.js +2 -2
- package/dist/src/plugins/createBootstrap/index.mjs +1 -1
- package/dist/src/plugins/createBootstrap/index.umd.js +1 -1
- package/dist/src/plugins/orchestrator/index.mjs +1 -1
- package/dist/src/plugins/orchestrator/index.umd.js +1 -1
- package/dist/src/plugins/registry/index.mjs +1 -1
- package/dist/src/plugins/registry/index.umd.js +1 -1
- package/dist/src/plugins/rtl/index.mjs +1 -1
- package/dist/src/plugins/rtl/index.umd.js +1 -1
- package/dist/types/ComponentProps.d.mts +7 -0
- package/dist/types/ComponentProps.d.ts +7 -0
- package/dist/{useDefaults-DsLf4iRY.js → useDefaults-C0CYry78.js} +2 -2
- package/dist/{useDefaults-DsLf4iRY.js.map → useDefaults-C0CYry78.js.map} +1 -1
- package/dist/{useDefaults-BKgBaqOV.mjs → useDefaults-DseelK6y.mjs} +2 -2
- package/dist/{useDefaults-BKgBaqOV.mjs.map → useDefaults-DseelK6y.mjs.map} +1 -1
- package/dist/{useFormInput-CA4FYoV7.mjs → useFormInput-CXl8rpD0.mjs} +5 -4
- package/dist/useFormInput-CXl8rpD0.mjs.map +1 -0
- package/dist/{useFormInput-D31FCDxr.js → useFormInput-ip9hN2AU.js} +5 -4
- package/dist/useFormInput-ip9hN2AU.js.map +1 -0
- package/dist/{useId-DHrBgM7P.js → useId-BkAY2oh6.js} +2 -2
- package/dist/{useId-DHrBgM7P.js.map → useId-BkAY2oh6.js.map} +1 -1
- package/dist/{useId-BKZFSYm8.mjs → useId-D1sqXtwx.mjs} +2 -2
- package/dist/{useId-BKZFSYm8.mjs.map → useId-D1sqXtwx.mjs.map} +1 -1
- package/dist/{useRtl-DDPRnA7g.js → useRtl-BSgvbs5F.js} +2 -2
- package/dist/{useRtl-DDPRnA7g.js.map → useRtl-BSgvbs5F.js.map} +1 -1
- package/dist/{useRtl-VR3M2Txg.mjs → useRtl-CGoXBxNo.mjs} +2 -2
- package/dist/{useRtl-VR3M2Txg.mjs.map → useRtl-CGoXBxNo.mjs.map} +1 -1
- package/dist/{useShowHide-DKdljnpv.mjs → useShowHide-CBFt1_EW.mjs} +2 -2
- package/dist/{useShowHide-DKdljnpv.mjs.map → useShowHide-CBFt1_EW.mjs.map} +1 -1
- package/dist/{useShowHide-BhdrR1wG.js → useShowHide-CHm2uUep.js} +2 -2
- package/dist/{useShowHide-BhdrR1wG.js.map → useShowHide-CHm2uUep.js.map} +1 -1
- package/dist/utils/keys.d.mts +11 -1
- package/dist/utils/keys.d.ts +11 -1
- package/dist/{utils-BbYwYPyP.mjs → utils-CWvndqPg.mjs} +3 -3
- package/dist/{utils-BbYwYPyP.mjs.map → utils-CWvndqPg.mjs.map} +1 -1
- package/dist/{utils-ePxMJ7rd.js → utils-Dk9yAtbs.js} +3 -3
- package/dist/{utils-ePxMJ7rd.js.map → utils-Dk9yAtbs.js.map} +1 -1
- package/package.json +1 -1
- package/dist/BFormCheckbox-g7gtIrhy.js.map +0 -1
- package/dist/BFormCheckbox-xN7AQw4O.mjs.map +0 -1
- package/dist/BFormFile-DC-x9wQo.js.map +0 -1
- package/dist/BFormFile-DXdAyYmv.mjs.map +0 -1
- package/dist/BFormGroup-DZTiChgT.js.map +0 -1
- package/dist/BFormGroup-ayltvQts.mjs.map +0 -1
- package/dist/BFormRadio-DHx68AdL.mjs.map +0 -1
- package/dist/BFormRadio-DX-gM5Rc.js.map +0 -1
- package/dist/BFormSelect-CtcsnTlz.js.map +0 -1
- package/dist/BFormSelect-eS-C3M0J.mjs.map +0 -1
- package/dist/BFormValidFeedback-BhkEhSa0.js.map +0 -1
- package/dist/BFormValidFeedback-DWkakzVO.mjs.map +0 -1
- package/dist/useFormInput-CA4FYoV7.mjs.map +0 -1
- package/dist/useFormInput-D31FCDxr.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as accordionInjectionKey } from "./keys-
|
|
1
|
+
import { t as accordionInjectionKey } from "./keys-DU7sQgl3.mjs";
|
|
2
2
|
import { c as sortSlotElementsByPosition } from "./dom-AhkaSoh8.mjs";
|
|
3
|
-
import { t as useDefaults } from "./useDefaults-
|
|
4
|
-
import { t as useId$1 } from "./useId-
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
4
|
+
import { t as useId$1 } from "./useId-D1sqXtwx.mjs";
|
|
5
5
|
import { t as flattenFragments } from "./flattenFragments-ClbLQGqR.mjs";
|
|
6
|
-
import { t as BCollapse_default } from "./BCollapse-
|
|
6
|
+
import { t as BCollapse_default } from "./BCollapse-kqhe4AmL.mjs";
|
|
7
7
|
import { r as isReadOnlyArray } from "./object-CHQkkner.mjs";
|
|
8
8
|
import { computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, mergeModels, mergeProps, nextTick, normalizeClass, onMounted, onUnmounted, openBlock, provide, readonly, ref, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRef, unref, useAttrs, useModel, useSlots, useTemplateRef, watch, withCtx } from "vue";
|
|
9
9
|
//#region src/components/BAccordion/BAccordionItem.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -345,4 +345,4 @@ var BAccordion_default = /* @__PURE__ */ defineComponent({
|
|
|
345
345
|
//#endregion
|
|
346
346
|
export { BAccordionItem_default as n, BAccordion_default as t };
|
|
347
347
|
|
|
348
|
-
//# sourceMappingURL=BAccordion-
|
|
348
|
+
//# sourceMappingURL=BAccordion-D51b9HVD.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordion-Gz2SpRmq.mjs","names":[],"sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGA,MAAM,QAAQ,YApBC,SAoBmB,iBAAgB;EAClD,MAAM,OAAO;EAEb,MAAM,QAAQ,UAAS;EAEvB,MAAM,iBAAiB,eAAe;GACpC,MAAM,EAAC,OAAO,cAAc,GAAG,kBAAiB;AAChD,UAAO;IAAC;IAAc;IAAa;IACpC;EAED,MAAM,aAAa,OAAO,uBAAuB,KAAI;EAErD,MAAM,aAAa,cAAY,MAAM,IAAI,iBAAgB;EAEzD,MAAM,aAAa,SAAkE,SAAA,aAEpF;AAED,MAAI,WAAW,MACb,aAAY,YAAY,WAAW,MAAK;MAExC,YAAW,SACR,gBAAgB,YAAY,SAAS,MAAK,GACvC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,UAAU,CAAC,YAAY,iBAAiB;EAG1F,MAAM,KAAK,eAAe,MAAK;AAC/B,cAAY,sBAAsB,WAAW,OAAO,GAAE;AAEtD,oBAAkB;AAChB,eAAY,wBAAwB,WAAW,MAAK;IACrD;AAED,kBAAgB;AACd,OAAI,CAAC,WAAW,SAAS,YAAY,SAAS,UAAU,WAAW,MACjE,gBAAe;AACb,eAAW,QAAQ;KACpB;IAEJ;EAED,MAAM,eAAe,eACnB,gBAAgB,YAAY,SAAS,MAAK,GACtC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,MAChD;AAEA,cACQ,YAAY,SAAS,aACpB,WAAW,QAAQ,aAAa,MACzC;AACA,QAAM,kBAAkB;AACtB,OAAI,WAAW,SAAS,CAAC,aAAa,MACpC,aAAY,YAAY,WAAW,MAAK;YAC/B,CAAC,WAAW,SAAS,aAAa,MAC3C,aAAY,aAAa,WAAW,MAAK;IAE5C;;uBA7JC,mBAsDM,OAtDN,WAsDM;IArDJ,KAAI;IACJ,OAAM;MACE,MAAA,MAAK,CAAC,cAAY,EACzB,OAAO,eAAA,MAAe,cAAA,CAAA,EAAA,CAEvB,YA+CY,mBA/CZ,WA+CY;IA9CT,IAAI,MAAA,WAAU;gBACN,WAAA;4EAAU,QAAA;IACnB,OAAK,CAAC,sBACE,MAAA,MAAK,CAAC,cAAa;IAC1B,mBAAe,GAAK,MAAA,WAAU,CAAA;MACvB,eAAA,MAAe,eAAa;IACnC,KAAK,MAAA,MAAK,CAAC;IACX,MAAM,MAAA,MAAK,CAAC;IACZ,YAAY,MAAA,MAAK,CAAC;IAClB,SAAS,MAAA,MAAK,CAAC;IACf,UAAQ,MAAA,MAAK,CAAC;IACd,MAAM,MAAA,MAAK,CAAC,QAAQ,MAAA,WAAU,EAAE,KAAK;IACrC,gBAAc,MAAA,MAAK,CAAC,eAAe,MAAA,WAAU,EAAE,YAAY;IAC3D,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAS,OAAM;IACzB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,OAAM;IAC3B,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAS,OAAM;IACzB,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;IAC7B,iBAAc,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,kBAAmB,OAAM;IAC7C,iBAAc,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,kBAAmB,OAAM;IAC7C,mBAAgB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,oBAAqB,OAAM;IACjD,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;IAEnB,QAAM,SAmBH,EAAA,SAnBe,eAAa,QAAU,iBAAU,EAAA,WAAA,EAC5D,YAkBY,wBAjBL,MAAA,MAAK,CAAC,UAAS,EADtB,WAkBY;KAhBT,IAAE,GAAK,MAAA,WAAU,CAAA;KAClB,OAAK,CAAC,oBACE,MAAA,MAAK,CAAC,YAAA;OACN,MAAA,MAAK,CAAC,YAAW,EAAA;4BAYhB,CAVT,mBAUS,UAVT,WAUS,EATP,OAAM,oBAAkB,EAChB,MAAA,MAAK,CAAC,aAAW;MACxB,OAAK,CAAA,EAAA,WAAA,CAAgB,eAAa,EAAG,MAAA,MAAK,CAAC,YAAW;MACvD,MAAK;MACJ,iBAAe,gBAAa,SAAA;MAC5B,iBAAe,MAAA,WAAU;MACzB,SAAO;UAER,WAA6C,KAAA,QAAA,SAAA,EAAA,QAAA,CAAA,gBAAA,gBAAtB,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA,aAAA,CAAA,CAAA;;;2BAMlC,CAFN,mBAEM,OAFN,WAEM,EAFD,OAAM,kBAAgB,EAAS,MAAA,MAAK,CAAC,WAAS,EAAG,OAAO,MAAA,MAAK,CAAC,WAAA,CAAA,EAAA,CACjE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EEfhB,MAAM,QAAQ,YARC,SAQmB,aAAY;EAC9C,MAAM,QAAQ,UAAA;EAEd,MAAM,aAAa,SAA0C,SAAA,aAE5D;EAED,MAAM,QAAQ,SAAqC,SAAC,QAEnD;EAED,MAAM,oBAAoB,IAAa,EAAE,CAAA;EAEzC,MAAM,gCAAgC;GACpC,MAAM,eAAe,iBAAiB,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,CAAA;AAC/D,qBAAkB,SAAS,MAAM,QAAQ,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,QACrF,SAAS,KAAK,SAAS,uBAC1B;;AAEF,2BAAwB;AAExB,cACQ,MAAM,UAAU,EAAE,CAAC,QACnB;AACJ,4BAAwB;AACxB,kBAAe;AACb,wBAAmB;KACpB;IAEL;EAOA,MAAM,iBAAiB,WAA4B,EAAE,CAAA;EAErD,MAAM,2BAA2B;AAC/B,kBAAe,QAAQ,CAAC,GAAG,eAAe,MAAM,CAAC,MAAM,GAAG,MACxD,2BAA2B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAA,CACrD;AACA,OAAI,WAAW,MACb,KAAI,gBAAgB,WAAW,MAAM,EAAE;IACrC,MAAM,OAAO,WAAW,MACrB,KAAK,OAAO,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,GAAG,CAAA,CACpE,QAAQ,MAAM,MAAM,GAAE;AAEzB,QAAI,KAAK,WAAW,WAAW,MAAM;kCACN,cAC3B,SAAQ,KAAK,4CAA4C,WAAW,MAAK;;AAG7E,UAAM,QAAQ;UACT;IACL,MAAM,MAAM,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,WAAW,MAAK;AACjF,QAAI,QAAQ,GAAI,OAAM,QAAQ;;YAEvB,MAAM,UAAU,KAAA,EACzB,YAAW,QAAQ,gBAAgB,MAAM,MAAK,GAC1C,MAAM,MAAM,KAAK,QAAQ,eAAe,MAAM,MAAM,GAAG,CAAC,QAAQ,OAAO,OAAO,KAAA,EAAS,GACvF,eAAe,MAAM,MAAM,QAAQ;;EAI3C,MAAM,aAAa,cAAY,MAAM,IAAI,YAAW;EAEpD,MAAM,kBAAkB,gBAAgB,EACtC,mBAAmB,MAAM,OAC1B,EAAC;EAEF,MAAM,YAAY,GAAY,MAAe;AAC3C,OAAI,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE,CACtC,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,MAAM,UAAU,SAAS,EAAE,OAAM;AAE5E,UAAO,MAAM;;AAGf,QAAM,QAAQ,UAAU,aAAa;AACnC,OAAI,SAAS,UAAU,SAAS,CAAE;AAClC,OAAI,MAAM,UAAU,KAAA,GAAW;AAC7B,eAAW,QAAQ,KAAA;AACnB;;AAGF,OAAI,CAAC,MAAM,MAAM;IACf,MAAM,MAAM,CAAC,gBAAgB,MAAM,MAAM,GAAG,MAAM,QAAQ,MAAM,QAAQ;AACxE,QAAI,QAAQ,KAAA,KAAa,eAAe,MAAM,MAAM;SAC9C,WAAW,UAAU,eAAe,MAAM,MAAM,GAClD,YAAW,QAAQ,eAAe,MAAM,MAAM;UAGhD,gBAAe;AACb,WAAM,QAAQ,KAAA;MACf;cAIC,gBAAgB,MAAM,MAAM,EAAE;IAChC,MAAM,WAAW,MAAM,MACpB,KAAK,SAAS,eAAe,MAAM,OAAO,GAAE,CAC5C,QAAQ,OAAO,OAAO,KAAA,EAAS;AAClC,QAAI,CAAC,SAAS,UAAU,WAAW,MAAM,CACvC,YAAW,QAAQ;UAEhB;IACL,MAAM,WAAW,eAAe,MAAM,MAAM,QAAQ;AACpD,QAAI,aAAa,KAAA,GAAW;AAC1B,oBAAe;AACb,YAAM,QAAQ,KAAA;OACf;AACD;;AAEF,QAAI,CAAC,SAAS,UAAU,WAAW,MAAM,CACvC,YAAW,QAAQ;;IAI1B;AAED,QACE,aACC,UAAU,aAAa;AACtB,OAAI,SAAS,UAAU,SAAS,CAAE;AAClC,OAAI,WAAW,UAAU,KAAA,GAAW;AAClC,UAAM,QAAQ,KAAA;AACd;;AAGF,OAAI,CAAC,MAAM,MAAM;IACf,MAAM,MAAM,eAAe,MAAM,WAC9B,SACC,KAAK,QACJ,CAAC,gBAAgB,WAAW,MAAM,GAAG,WAAW,QAAQ,WAAW,QAAQ,IAChF;AAEA,QAAI,QAAQ;SACN,MAAM,UAAU,IAClB,OAAM,QAAQ;UAGhB,gBAAe;AACb,gBAAW,QAAQ,KAAA;MACpB;cAEM,MAAM,KACf,KAAI,gBAAgB,WAAW,MAAM,EAAE;IACrC,MAAM,QAAQ,WAAW,MACtB,KAAK,UAAU,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,MAAM,CAAA,CAC1E,QAAQ,UAAU,UAAU,GAAE;AACjC,QAAI,MAAM,SAAS;SACb,CAAC,SAAS,OAAO,MAAM,MAAM,CAC/B,OAAM,QAAQ;UAGhB,gBAAe;AACb,gBAAW,QAAQ,KAAA;MACpB;UAEE;IACL,MAAM,WAAW,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,WAAW,MAAK;AACtF,QAAI,CAAC,SAAS,UAAU,MAAM,MAAM,CAClC,OAAM,QAAQ;;KAKtB,EAAC,MAAM,MAAI,CACb;AAEA,cACQ,MAAM,OACX,SAAS;AACR,OAAI,WAAW;QACT,CAAC,QAAQ,gBAAgB,WAAW,MAAM,CAC5C,YAAW,QAAQ,WAAW,MAAM;aAC3B,QAAQ,CAAC,gBAAgB,WAAW,MAAM,CACnD,YAAW,QAAQ,CAAC,WAAW,MAAK;;IAI5C;AAEA,UAAQ,uBAAuB;GAC7B,UAAU,SAAS,WAAW;GAC9B,MAAM,YAAY,MAAM,KAAK;GAC7B,kBAAkB,YAAY,MAAM,iBAAiB;GACrD,MAAM,YAAY,MAAM,KAAK;GAC7B,aAAa,YAAY,MAAM,YAAY;GAC3C,cAAc,OAAe;AAC3B,QAAI,MAAM,QAAQ,CAAC,gBAAgB,WAAW,MAAM,EAAE;AACpD,SAAI,WAAW,UAAU,KAAA,EACvB,YAAW,QAAQ,CAAC,WAAW,OAAO,GAAE;SAExC,YAAW,QAAQ,CAAC,GAAE;AAExB;;AAEF,QAAI,CAAC,MAAM,QAAQ,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ;AACnB;;AAEF,QAAI,gBAAgB,WAAW,MAAM;SAC/B,CAAC,WAAW,MAAM,SAAS,GAAG,CAChC,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAE;UAG7C,YAAW,QAAQ;;GAGvB,eAAe,OAAe;AAC5B,QAAI,CAAC,MAAM,QAAQ,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ,KAAA;AACnB;;AAEF,QAAI,gBAAgB,WAAW,MAAM,EAAE;KACrC,MAAM,OAAO,WAAW,MAAM,QAAQ,SAAS,SAAS,GAAE;AAC1D,gBAAW,QAAQ,KAAK,SAAS,OAAO,KAAA;eAEpC,WAAW,UAAU,GACvB,YAAW,QAAQ,KAAA;;GAIzB,wBAAwB,IAAY,OAAiD;AACnF,mBAAe,QAAQ,CAAC,GAAG,eAAe,OAAO;KAAC;KAAI;KAAG,CAAA;AACzD,QAAI,eAAe,MAAM,WAAW,kBAAkB,MAAM,OAC1D,qBAAmB;;GAGvB,0BAA0B,OAAe;AACvC,mBAAe,QAAQ,eAAe,MAAM,QAAQ,SAAS,KAAK,OAAO,GAAE;;GAE9E,CAAA;;uBA7QC,mBAEM,OAAA;IAFA,IAAI,MAAA,WAAU;IAAE,OAAK,eAAA,CAAC,aAAoB,gBAAA,MAAe,CAAA;OAC7D,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
|
|
1
|
+
{"version":3,"file":"BAccordion-D51b9HVD.mjs","names":[],"sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGA,MAAM,QAAQ,YApBC,SAoBmB,iBAAgB;EAClD,MAAM,OAAO;EAEb,MAAM,QAAQ,UAAS;EAEvB,MAAM,iBAAiB,eAAe;GACpC,MAAM,EAAC,OAAO,cAAc,GAAG,kBAAiB;AAChD,UAAO;IAAC;IAAc;IAAa;IACpC;EAED,MAAM,aAAa,OAAO,uBAAuB,KAAI;EAErD,MAAM,aAAa,cAAY,MAAM,IAAI,iBAAgB;EAEzD,MAAM,aAAa,SAAkE,SAAA,aAEpF;AAED,MAAI,WAAW,MACb,aAAY,YAAY,WAAW,MAAK;MAExC,YAAW,SACR,gBAAgB,YAAY,SAAS,MAAK,GACvC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,UAAU,CAAC,YAAY,iBAAiB;EAG1F,MAAM,KAAK,eAAe,MAAK;AAC/B,cAAY,sBAAsB,WAAW,OAAO,GAAE;AAEtD,oBAAkB;AAChB,eAAY,wBAAwB,WAAW,MAAK;IACrD;AAED,kBAAgB;AACd,OAAI,CAAC,WAAW,SAAS,YAAY,SAAS,UAAU,WAAW,MACjE,gBAAe;AACb,eAAW,QAAQ;KACpB;IAEJ;EAED,MAAM,eAAe,eACnB,gBAAgB,YAAY,SAAS,MAAK,GACtC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,MAChD;AAEA,cACQ,YAAY,SAAS,aACpB,WAAW,QAAQ,aAAa,MACzC;AACA,QAAM,kBAAkB;AACtB,OAAI,WAAW,SAAS,CAAC,aAAa,MACpC,aAAY,YAAY,WAAW,MAAK;YAC/B,CAAC,WAAW,SAAS,aAAa,MAC3C,aAAY,aAAa,WAAW,MAAK;IAE5C;;uBA7JC,mBAsDM,OAtDN,WAsDM;IArDJ,KAAI;IACJ,OAAM;MACE,MAAA,MAAK,CAAC,cAAY,EACzB,OAAO,eAAA,MAAe,cAAA,CAAA,EAAA,CAEvB,YA+CY,mBA/CZ,WA+CY;IA9CT,IAAI,MAAA,WAAU;gBACN,WAAA;4EAAU,QAAA;IACnB,OAAK,CAAC,sBACE,MAAA,MAAK,CAAC,cAAa;IAC1B,mBAAe,GAAK,MAAA,WAAU,CAAA;MACvB,eAAA,MAAe,eAAa;IACnC,KAAK,MAAA,MAAK,CAAC;IACX,MAAM,MAAA,MAAK,CAAC;IACZ,YAAY,MAAA,MAAK,CAAC;IAClB,SAAS,MAAA,MAAK,CAAC;IACf,UAAQ,MAAA,MAAK,CAAC;IACd,MAAM,MAAA,MAAK,CAAC,QAAQ,MAAA,WAAU,EAAE,KAAK;IACrC,gBAAc,MAAA,MAAK,CAAC,eAAe,MAAA,WAAU,EAAE,YAAY;IAC3D,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAS,OAAM;IACzB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,OAAM;IAC3B,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAS,OAAM;IACzB,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;IAC7B,iBAAc,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,kBAAmB,OAAM;IAC7C,iBAAc,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,kBAAmB,OAAM;IAC7C,mBAAgB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,oBAAqB,OAAM;IACjD,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;IAEnB,QAAM,SAmBH,EAAA,SAnBe,eAAa,QAAU,iBAAU,EAAA,WAAA,EAC5D,YAkBY,wBAjBL,MAAA,MAAK,CAAC,UAAS,EADtB,WAkBY;KAhBT,IAAE,GAAK,MAAA,WAAU,CAAA;KAClB,OAAK,CAAC,oBACE,MAAA,MAAK,CAAC,YAAA;OACN,MAAA,MAAK,CAAC,YAAW,EAAA;4BAYhB,CAVT,mBAUS,UAVT,WAUS,EATP,OAAM,oBAAkB,EAChB,MAAA,MAAK,CAAC,aAAW;MACxB,OAAK,CAAA,EAAA,WAAA,CAAgB,eAAa,EAAG,MAAA,MAAK,CAAC,YAAW;MACvD,MAAK;MACJ,iBAAe,gBAAa,SAAA;MAC5B,iBAAe,MAAA,WAAU;MACzB,SAAO;UAER,WAA6C,KAAA,QAAA,SAAA,EAAA,QAAA,CAAA,gBAAA,gBAAtB,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA,aAAA,CAAA,CAAA;;;2BAMlC,CAFN,mBAEM,OAFN,WAEM,EAFD,OAAM,kBAAgB,EAAS,MAAA,MAAK,CAAC,WAAS,EAAG,OAAO,MAAA,MAAK,CAAC,WAAA,CAAA,EAAA,CACjE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EEfhB,MAAM,QAAQ,YARC,SAQmB,aAAY;EAC9C,MAAM,QAAQ,UAAA;EAEd,MAAM,aAAa,SAA0C,SAAA,aAE5D;EAED,MAAM,QAAQ,SAAqC,SAAC,QAEnD;EAED,MAAM,oBAAoB,IAAa,EAAE,CAAA;EAEzC,MAAM,gCAAgC;GACpC,MAAM,eAAe,iBAAiB,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,CAAA;AAC/D,qBAAkB,SAAS,MAAM,QAAQ,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,QACrF,SAAS,KAAK,SAAS,uBAC1B;;AAEF,2BAAwB;AAExB,cACQ,MAAM,UAAU,EAAE,CAAC,QACnB;AACJ,4BAAwB;AACxB,kBAAe;AACb,wBAAmB;KACpB;IAEL;EAOA,MAAM,iBAAiB,WAA4B,EAAE,CAAA;EAErD,MAAM,2BAA2B;AAC/B,kBAAe,QAAQ,CAAC,GAAG,eAAe,MAAM,CAAC,MAAM,GAAG,MACxD,2BAA2B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAA,CACrD;AACA,OAAI,WAAW,MACb,KAAI,gBAAgB,WAAW,MAAM,EAAE;IACrC,MAAM,OAAO,WAAW,MACrB,KAAK,OAAO,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,GAAG,CAAA,CACpE,QAAQ,MAAM,MAAM,GAAE;AAEzB,QAAI,KAAK,WAAW,WAAW,MAAM;kCACN,cAC3B,SAAQ,KAAK,4CAA4C,WAAW,MAAK;;AAG7E,UAAM,QAAQ;UACT;IACL,MAAM,MAAM,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,WAAW,MAAK;AACjF,QAAI,QAAQ,GAAI,OAAM,QAAQ;;YAEvB,MAAM,UAAU,KAAA,EACzB,YAAW,QAAQ,gBAAgB,MAAM,MAAK,GAC1C,MAAM,MAAM,KAAK,QAAQ,eAAe,MAAM,MAAM,GAAG,CAAC,QAAQ,OAAO,OAAO,KAAA,EAAS,GACvF,eAAe,MAAM,MAAM,QAAQ;;EAI3C,MAAM,aAAa,cAAY,MAAM,IAAI,YAAW;EAEpD,MAAM,kBAAkB,gBAAgB,EACtC,mBAAmB,MAAM,OAC1B,EAAC;EAEF,MAAM,YAAY,GAAY,MAAe;AAC3C,OAAI,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE,CACtC,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,MAAM,UAAU,SAAS,EAAE,OAAM;AAE5E,UAAO,MAAM;;AAGf,QAAM,QAAQ,UAAU,aAAa;AACnC,OAAI,SAAS,UAAU,SAAS,CAAE;AAClC,OAAI,MAAM,UAAU,KAAA,GAAW;AAC7B,eAAW,QAAQ,KAAA;AACnB;;AAGF,OAAI,CAAC,MAAM,MAAM;IACf,MAAM,MAAM,CAAC,gBAAgB,MAAM,MAAM,GAAG,MAAM,QAAQ,MAAM,QAAQ;AACxE,QAAI,QAAQ,KAAA,KAAa,eAAe,MAAM,MAAM;SAC9C,WAAW,UAAU,eAAe,MAAM,MAAM,GAClD,YAAW,QAAQ,eAAe,MAAM,MAAM;UAGhD,gBAAe;AACb,WAAM,QAAQ,KAAA;MACf;cAIC,gBAAgB,MAAM,MAAM,EAAE;IAChC,MAAM,WAAW,MAAM,MACpB,KAAK,SAAS,eAAe,MAAM,OAAO,GAAE,CAC5C,QAAQ,OAAO,OAAO,KAAA,EAAS;AAClC,QAAI,CAAC,SAAS,UAAU,WAAW,MAAM,CACvC,YAAW,QAAQ;UAEhB;IACL,MAAM,WAAW,eAAe,MAAM,MAAM,QAAQ;AACpD,QAAI,aAAa,KAAA,GAAW;AAC1B,oBAAe;AACb,YAAM,QAAQ,KAAA;OACf;AACD;;AAEF,QAAI,CAAC,SAAS,UAAU,WAAW,MAAM,CACvC,YAAW,QAAQ;;IAI1B;AAED,QACE,aACC,UAAU,aAAa;AACtB,OAAI,SAAS,UAAU,SAAS,CAAE;AAClC,OAAI,WAAW,UAAU,KAAA,GAAW;AAClC,UAAM,QAAQ,KAAA;AACd;;AAGF,OAAI,CAAC,MAAM,MAAM;IACf,MAAM,MAAM,eAAe,MAAM,WAC9B,SACC,KAAK,QACJ,CAAC,gBAAgB,WAAW,MAAM,GAAG,WAAW,QAAQ,WAAW,QAAQ,IAChF;AAEA,QAAI,QAAQ;SACN,MAAM,UAAU,IAClB,OAAM,QAAQ;UAGhB,gBAAe;AACb,gBAAW,QAAQ,KAAA;MACpB;cAEM,MAAM,KACf,KAAI,gBAAgB,WAAW,MAAM,EAAE;IACrC,MAAM,QAAQ,WAAW,MACtB,KAAK,UAAU,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,MAAM,CAAA,CAC1E,QAAQ,UAAU,UAAU,GAAE;AACjC,QAAI,MAAM,SAAS;SACb,CAAC,SAAS,OAAO,MAAM,MAAM,CAC/B,OAAM,QAAQ;UAGhB,gBAAe;AACb,gBAAW,QAAQ,KAAA;MACpB;UAEE;IACL,MAAM,WAAW,eAAe,MAAM,WAAW,SAAS,KAAK,OAAO,WAAW,MAAK;AACtF,QAAI,CAAC,SAAS,UAAU,MAAM,MAAM,CAClC,OAAM,QAAQ;;KAKtB,EAAC,MAAM,MAAI,CACb;AAEA,cACQ,MAAM,OACX,SAAS;AACR,OAAI,WAAW;QACT,CAAC,QAAQ,gBAAgB,WAAW,MAAM,CAC5C,YAAW,QAAQ,WAAW,MAAM;aAC3B,QAAQ,CAAC,gBAAgB,WAAW,MAAM,CACnD,YAAW,QAAQ,CAAC,WAAW,MAAK;;IAI5C;AAEA,UAAQ,uBAAuB;GAC7B,UAAU,SAAS,WAAW;GAC9B,MAAM,YAAY,MAAM,KAAK;GAC7B,kBAAkB,YAAY,MAAM,iBAAiB;GACrD,MAAM,YAAY,MAAM,KAAK;GAC7B,aAAa,YAAY,MAAM,YAAY;GAC3C,cAAc,OAAe;AAC3B,QAAI,MAAM,QAAQ,CAAC,gBAAgB,WAAW,MAAM,EAAE;AACpD,SAAI,WAAW,UAAU,KAAA,EACvB,YAAW,QAAQ,CAAC,WAAW,OAAO,GAAE;SAExC,YAAW,QAAQ,CAAC,GAAE;AAExB;;AAEF,QAAI,CAAC,MAAM,QAAQ,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ;AACnB;;AAEF,QAAI,gBAAgB,WAAW,MAAM;SAC/B,CAAC,WAAW,MAAM,SAAS,GAAG,CAChC,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAE;UAG7C,YAAW,QAAQ;;GAGvB,eAAe,OAAe;AAC5B,QAAI,CAAC,MAAM,QAAQ,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ,KAAA;AACnB;;AAEF,QAAI,gBAAgB,WAAW,MAAM,EAAE;KACrC,MAAM,OAAO,WAAW,MAAM,QAAQ,SAAS,SAAS,GAAE;AAC1D,gBAAW,QAAQ,KAAK,SAAS,OAAO,KAAA;eAEpC,WAAW,UAAU,GACvB,YAAW,QAAQ,KAAA;;GAIzB,wBAAwB,IAAY,OAAiD;AACnF,mBAAe,QAAQ,CAAC,GAAG,eAAe,OAAO;KAAC;KAAI;KAAG,CAAA;AACzD,QAAI,eAAe,MAAM,WAAW,kBAAkB,MAAM,OAC1D,qBAAmB;;GAGvB,0BAA0B,OAAe;AACvC,mBAAe,QAAQ,eAAe,MAAM,QAAQ,SAAS,KAAK,OAAO,GAAE;;GAE9E,CAAA;;uBA7QC,mBAEM,OAAA;IAFA,IAAI,MAAA,WAAU;IAAE,OAAK,eAAA,CAAC,aAAoB,gBAAA,MAAe,CAAA;OAC7D,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_keys = require("./keys-
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
3
|
const require_dom = require("./dom-Bs6DzM72.js");
|
|
4
|
-
const require_useDefaults = require("./useDefaults-
|
|
5
|
-
const require_useId = require("./useId-
|
|
4
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
5
|
+
const require_useId = require("./useId-BkAY2oh6.js");
|
|
6
6
|
const require_flattenFragments = require("./flattenFragments-C1WWqm25.js");
|
|
7
|
-
const require_BCollapse = require("./BCollapse-
|
|
7
|
+
const require_BCollapse = require("./BCollapse-CDLYLSZo.js");
|
|
8
8
|
const require_object = require("./object-BN7QwMcz.js");
|
|
9
9
|
let vue = require("vue");
|
|
10
10
|
//#region src/components/BAccordion/BAccordionItem.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -357,4 +357,4 @@ Object.defineProperty(exports, "BAccordion_default", {
|
|
|
357
357
|
}
|
|
358
358
|
});
|
|
359
359
|
|
|
360
|
-
//# sourceMappingURL=BAccordion-
|
|
360
|
+
//# sourceMappingURL=BAccordion-DYmuqZIG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordion-DgXJMqdG.js","names":[],"sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BAccordion-DYmuqZIG.js","names":[],"sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemEmits, BAccordionItemProps, BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots, BAccordionProps} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = [...accordionItems.value].sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id).filter((el) => el !== undefined)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (idx !== undefined && accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value\n .map((item) => accordionItems.value[item]?.id)\n .filter((el) => el !== undefined)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
-
import { t as useId$1 } from "./useId-
|
|
3
|
-
import { t as useShowHide } from "./useShowHide-
|
|
4
|
-
import { r as useBLinkHelper, t as BLink_default } from "./BLink-
|
|
5
|
-
import { t as BCloseButton_default } from "./BCloseButton-
|
|
6
|
-
import { t as BProgress_default } from "./BProgress-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
2
|
+
import { t as useId$1 } from "./useId-D1sqXtwx.mjs";
|
|
3
|
+
import { t as useShowHide } from "./useShowHide-CBFt1_EW.mjs";
|
|
4
|
+
import { r as useBLinkHelper, t as BLink_default } from "./BLink-Dfgte6dQ.mjs";
|
|
5
|
+
import { t as BCloseButton_default } from "./BCloseButton-CKTKr4PS.mjs";
|
|
6
|
+
import { t as BProgress_default } from "./BProgress-BZlrPYhA.mjs";
|
|
7
7
|
import { n as useCountdown, t as useCountdownHover } from "./useCountdownHover-C3NXiAaF.mjs";
|
|
8
|
-
import { t as BButton_default } from "./BButton-
|
|
8
|
+
import { t as BButton_default } from "./BButton-PY7AANXJ.mjs";
|
|
9
9
|
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useModel, useSlots, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives, withModifiers } from "vue";
|
|
10
10
|
//#region src/components/BAlert/BAlert.vue?vue&type=script&setup=true&lang.ts
|
|
11
11
|
var _hoisted_1 = [
|
|
@@ -288,4 +288,4 @@ var BAlert_default = /* @__PURE__ */ defineComponent({
|
|
|
288
288
|
//#endregion
|
|
289
289
|
export { BAlert_default as t };
|
|
290
290
|
|
|
291
|
-
//# sourceMappingURL=BAlert-
|
|
291
|
+
//# sourceMappingURL=BAlert-Ce2uxrJi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-BFPBalmr.mjs","names":[],"sources":["../src/components/BAlert/BAlert.vue","../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertEmits, BAlertProps, BAlertSlots, ShowHideSlotsData} from '../../types'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\nimport BButton from '../BButton/BButton.vue'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n","<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertEmits, BAlertProps, BAlertSlots, ShowHideSlotsData} from '../../types'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\nimport BButton from '../BButton/BButton.vue'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BAlert-Ce2uxrJi.mjs","names":[],"sources":["../src/components/BAlert/BAlert.vue","../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertEmits, BAlertProps, BAlertSlots, ShowHideSlotsData} from '../../types'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\nimport BButton from '../BButton/BButton.vue'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n","<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertEmits, BAlertProps, BAlertSlots, ShowHideSlotsData} from '../../types'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\nimport BButton from '../BButton/BButton.vue'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_useDefaults = require("./useDefaults-
|
|
3
|
-
const require_useId = require("./useId-
|
|
4
|
-
const require_useShowHide = require("./useShowHide-
|
|
5
|
-
const require_BLink = require("./BLink-
|
|
6
|
-
const require_BCloseButton = require("./BCloseButton-
|
|
7
|
-
const require_BProgress = require("./BProgress-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
3
|
+
const require_useId = require("./useId-BkAY2oh6.js");
|
|
4
|
+
const require_useShowHide = require("./useShowHide-CHm2uUep.js");
|
|
5
|
+
const require_BLink = require("./BLink-kLEjleB1.js");
|
|
6
|
+
const require_BCloseButton = require("./BCloseButton-D42zHRLP.js");
|
|
7
|
+
const require_BProgress = require("./BProgress-th0-eZWo.js");
|
|
8
8
|
const require_useCountdownHover = require("./useCountdownHover-DbVhE-N0.js");
|
|
9
|
-
const require_BButton = require("./BButton-
|
|
9
|
+
const require_BButton = require("./BButton-aYtMnyHu.js");
|
|
10
10
|
let vue = require("vue");
|
|
11
11
|
//#region src/components/BAlert/BAlert.vue?vue&type=script&setup=true&lang.ts
|
|
12
12
|
var _hoisted_1 = [
|
|
@@ -294,4 +294,4 @@ Object.defineProperty(exports, "BAlert_default", {
|
|
|
294
294
|
}
|
|
295
295
|
});
|
|
296
296
|
|
|
297
|
-
//# sourceMappingURL=BAlert-
|
|
297
|
+
//# sourceMappingURL=BAlert-croEtrQu.js.map
|