bootstrap-vue-next 0.44.2 → 0.44.3
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-BJcDjMYL.mjs → BAccordion-BU80DI3B.mjs} +6 -6
- package/dist/{BAccordion-BJcDjMYL.mjs.map → BAccordion-BU80DI3B.mjs.map} +1 -1
- package/dist/{BAccordion-CQIw-5xs.js → BAccordion-DZ50ppJx.js} +6 -6
- package/dist/{BAccordion-CQIw-5xs.js.map → BAccordion-DZ50ppJx.js.map} +1 -1
- package/dist/{BAlert-DaQxH8c1.mjs → BAlert-CuWkyQoY.mjs} +9 -9
- package/dist/{BAlert-DaQxH8c1.mjs.map → BAlert-CuWkyQoY.mjs.map} +1 -1
- package/dist/{BAlert-CVtoW2SX.js → BAlert-DTvDu9YQ.js} +9 -9
- package/dist/{BAlert-CVtoW2SX.js.map → BAlert-DTvDu9YQ.js.map} +1 -1
- package/dist/{BApp-CIu-zI8K.mjs → BApp-DJWC2mB8.mjs} +2 -2
- package/dist/{BApp-CIu-zI8K.mjs.map → BApp-DJWC2mB8.mjs.map} +1 -1
- package/dist/{BApp-cBKQc5Dd.js → BApp-DaM0UKIg.js} +2 -2
- package/dist/{BApp-cBKQc5Dd.js.map → BApp-DaM0UKIg.js.map} +1 -1
- package/dist/BAspect-BULTO240.js +50 -0
- package/dist/BAspect-BULTO240.js.map +1 -0
- package/dist/BAspect-CwokVvvn.mjs +44 -0
- package/dist/BAspect-CwokVvvn.mjs.map +1 -0
- package/dist/{BAvatar-BcQeFYZU.js → BAvatar-eEIyfQso.js} +7 -7
- package/dist/{BAvatar-BcQeFYZU.js.map → BAvatar-eEIyfQso.js.map} +1 -1
- package/dist/{BAvatar-C7Vc4wad.mjs → BAvatar-vI7zHFsj.mjs} +7 -7
- package/dist/{BAvatar-C7Vc4wad.mjs.map → BAvatar-vI7zHFsj.mjs.map} +1 -1
- package/dist/{BBadge-CKGGd4xB.js → BBadge-Cpuk1892.js} +5 -5
- package/dist/{BBadge-CKGGd4xB.js.map → BBadge-Cpuk1892.js.map} +1 -1
- package/dist/{BBadge-Dfkx4SMN.mjs → BBadge-xiyuzuG6.mjs} +5 -5
- package/dist/{BBadge-Dfkx4SMN.mjs.map → BBadge-xiyuzuG6.mjs.map} +1 -1
- package/dist/{BBreadcrumb-1Wxpf1iy.js → BBreadcrumb-BkRDTYv1.js} +4 -4
- package/dist/{BBreadcrumb-1Wxpf1iy.js.map → BBreadcrumb-BkRDTYv1.js.map} +1 -1
- package/dist/{BBreadcrumb-CR35-KcI.mjs → BBreadcrumb-CjPr1FWj.mjs} +4 -4
- package/dist/{BBreadcrumb-CR35-KcI.mjs.map → BBreadcrumb-CjPr1FWj.mjs.map} +1 -1
- package/dist/{BButton-BtCX70_2.mjs → BButton-B4xE6uw6.mjs} +5 -5
- package/dist/{BButton-BtCX70_2.mjs.map → BButton-B4xE6uw6.mjs.map} +1 -1
- package/dist/{BButton-C_bVBx8e.js → BButton-B5oWZOoX.js} +5 -5
- package/dist/{BButton-C_bVBx8e.js.map → BButton-B5oWZOoX.js.map} +1 -1
- package/dist/{BButton-1yV1UiT7.mjs → BButton-DPCH-g3G.mjs} +4 -4
- package/dist/{BButton-1yV1UiT7.mjs.map → BButton-DPCH-g3G.mjs.map} +1 -1
- package/dist/{BButton-BID3NrxE.js → BButton-sb1cBCIb.js} +4 -4
- package/dist/{BButton-BID3NrxE.js.map → BButton-sb1cBCIb.js.map} +1 -1
- package/dist/{BCard-BIQQg9Rx.js → BCard-Bc6OI3iJ.js} +5 -5
- package/dist/{BCard-BIQQg9Rx.js.map → BCard-Bc6OI3iJ.js.map} +1 -1
- package/dist/{BCard-D1J5OVRY.js → BCard-BpaUsusY.js} +3 -3
- package/dist/{BCard-D1J5OVRY.js.map → BCard-BpaUsusY.js.map} +1 -1
- package/dist/{BCard-CY6iY456.mjs → BCard-DQxiuBWk.mjs} +3 -3
- package/dist/{BCard-CY6iY456.mjs.map → BCard-DQxiuBWk.mjs.map} +1 -1
- package/dist/{BCard-Vf1haqo5.mjs → BCard-Dly2DM9l.mjs} +5 -5
- package/dist/{BCard-Vf1haqo5.mjs.map → BCard-Dly2DM9l.mjs.map} +1 -1
- package/dist/{BCarousel-C3CA_wGV.mjs → BCarousel-DarHY6e7.mjs} +5 -5
- package/dist/{BCarousel-C3CA_wGV.mjs.map → BCarousel-DarHY6e7.mjs.map} +1 -1
- package/dist/{BCarousel-BH6WIvJx.js → BCarousel-DvQKUvSp.js} +5 -5
- package/dist/{BCarousel-BH6WIvJx.js.map → BCarousel-DvQKUvSp.js.map} +1 -1
- package/dist/{BCloseButton-CgIVNv2g.js → BCloseButton-CN__Jjcj.js} +2 -2
- package/dist/{BCloseButton-CgIVNv2g.js.map → BCloseButton-CN__Jjcj.js.map} +1 -1
- package/dist/{BCloseButton-DrD0tpan.mjs → BCloseButton-CjgbR1Ec.mjs} +2 -2
- package/dist/{BCloseButton-DrD0tpan.mjs.map → BCloseButton-CjgbR1Ec.mjs.map} +1 -1
- package/dist/{BCol-BjC3q-su.mjs → BCol-BAGO0XhU.mjs} +3 -3
- package/dist/{BCol-BjC3q-su.mjs.map → BCol-BAGO0XhU.mjs.map} +1 -1
- package/dist/{BCol-GOE5drq_.js → BCol-CXEKpSfY.js} +3 -3
- package/dist/{BCol-GOE5drq_.js.map → BCol-CXEKpSfY.js.map} +1 -1
- package/dist/{BCollapse-DqeS5WyB.mjs → BCollapse-BzIGTt3g.mjs} +4 -4
- package/dist/{BCollapse-DqeS5WyB.mjs.map → BCollapse-BzIGTt3g.mjs.map} +1 -1
- package/dist/{BCollapse-BMSZfqqk.js → BCollapse-D2tCzh6C.js} +4 -4
- package/dist/{BCollapse-BMSZfqqk.js.map → BCollapse-D2tCzh6C.js.map} +1 -1
- package/dist/{BContainer-NRhwYcFj.mjs → BContainer-CBvLhEKU.mjs} +4 -4
- package/dist/{BContainer-NRhwYcFj.mjs.map → BContainer-CBvLhEKU.mjs.map} +1 -1
- package/dist/{BContainer-CdNYUb9S.js → BContainer-D0G_4Ccr.js} +4 -4
- package/dist/{BContainer-CdNYUb9S.js.map → BContainer-D0G_4Ccr.js.map} +1 -1
- package/dist/{BDateField-CRFFJ4Sj.mjs → BDateField-Ci05mtvE.mjs} +5 -5
- package/dist/{BDateField-CRFFJ4Sj.mjs.map → BDateField-Ci05mtvE.mjs.map} +1 -1
- package/dist/{BDateField-3Xb73vd-.js → BDateField-DOQj40bP.js} +5 -5
- package/dist/{BDateField-3Xb73vd-.js.map → BDateField-DOQj40bP.js.map} +1 -1
- package/dist/{BDatePicker-rdtRZlra.js → BDatePicker-CHtppbq6.js} +6 -6
- package/dist/{BDatePicker-rdtRZlra.js.map → BDatePicker-CHtppbq6.js.map} +1 -1
- package/dist/{BDatePicker-DPtAqGyV.mjs → BDatePicker-CpwEikK3.mjs} +6 -6
- package/dist/{BDatePicker-DPtAqGyV.mjs.map → BDatePicker-CpwEikK3.mjs.map} +1 -1
- package/dist/{BDropdown-CKnx6hUH.mjs → BDropdown-CkklXJE1.mjs} +10 -10
- package/dist/{BDropdown-CKnx6hUH.mjs.map → BDropdown-CkklXJE1.mjs.map} +1 -1
- package/dist/{BDropdown-k-nulez8.mjs → BDropdown-CmUoG4aR.mjs} +5 -5
- package/dist/{BDropdown-k-nulez8.mjs.map → BDropdown-CmUoG4aR.mjs.map} +1 -1
- package/dist/{BDropdown-C2L69dLN.js → BDropdown-g6_09NKU.js} +10 -10
- package/dist/{BDropdown-C2L69dLN.js.map → BDropdown-g6_09NKU.js.map} +1 -1
- package/dist/{BDropdown-CrgX7oCn.js → BDropdown-i62kSdFN.js} +5 -5
- package/dist/{BDropdown-CrgX7oCn.js.map → BDropdown-i62kSdFN.js.map} +1 -1
- package/dist/{BForm-CPHblWb2.mjs → BForm-BKeJ6pQN.mjs} +2 -2
- package/dist/{BForm-CPHblWb2.mjs.map → BForm-BKeJ6pQN.mjs.map} +1 -1
- package/dist/{BForm-ppPvhIuu.js → BForm-BW5sAbJu.js} +6 -6
- package/dist/{BForm-ppPvhIuu.js.map → BForm-BW5sAbJu.js.map} +1 -1
- package/dist/{BForm-DZW1uWD-.mjs → BForm-BYWcrW3i.mjs} +6 -6
- package/dist/{BForm-DZW1uWD-.mjs.map → BForm-BYWcrW3i.mjs.map} +1 -1
- package/dist/{BForm-B0YEolfQ.js → BForm-D1hmPFIR.js} +2 -2
- package/dist/{BForm-B0YEolfQ.js.map → BForm-D1hmPFIR.js.map} +1 -1
- package/dist/{BFormCheckbox-CsN1a4jm.mjs → BFormCheckbox-LMGyV5Wh.mjs} +5 -5
- package/dist/{BFormCheckbox-CsN1a4jm.mjs.map → BFormCheckbox-LMGyV5Wh.mjs.map} +1 -1
- package/dist/{BFormCheckbox-MEwee9Ij.js → BFormCheckbox-eSsgdaji.js} +5 -5
- package/dist/{BFormCheckbox-MEwee9Ij.js.map → BFormCheckbox-eSsgdaji.js.map} +1 -1
- package/dist/{BFormFile-CNtEA98J.mjs → BFormFile-DUd50zn5.mjs} +4 -4
- package/dist/{BFormFile-CNtEA98J.mjs.map → BFormFile-DUd50zn5.mjs.map} +1 -1
- package/dist/{BFormFile-BEHeBj6q.js → BFormFile-N491i_FE.js} +4 -4
- package/dist/{BFormFile-BEHeBj6q.js.map → BFormFile-N491i_FE.js.map} +1 -1
- package/dist/{BFormGroup-DBVGyJ-f.mjs → BFormGroup-Bm3Af8hx.mjs} +8 -8
- package/dist/{BFormGroup-DBVGyJ-f.mjs.map → BFormGroup-Bm3Af8hx.mjs.map} +1 -1
- package/dist/{BFormGroup-CGjb_pUi.js → BFormGroup-DN4AyqDY.js} +8 -8
- package/dist/{BFormGroup-CGjb_pUi.js.map → BFormGroup-DN4AyqDY.js.map} +1 -1
- package/dist/{BFormInput-4vCGzAoO.js → BFormInput-DniXdPz5.js} +3 -3
- package/dist/{BFormInput-4vCGzAoO.js.map → BFormInput-DniXdPz5.js.map} +1 -1
- package/dist/{BFormInput-DrZnHCLO.mjs → BFormInput-UqEvTffC.mjs} +3 -3
- package/dist/{BFormInput-DrZnHCLO.mjs.map → BFormInput-UqEvTffC.mjs.map} +1 -1
- package/dist/{BFormRadio-BXpiJTsS.mjs → BFormRadio-B7fL16AZ.mjs} +5 -5
- package/dist/{BFormRadio-BXpiJTsS.mjs.map → BFormRadio-B7fL16AZ.mjs.map} +1 -1
- package/dist/{BFormRadio-BzHsRe9X.js → BFormRadio-C9U9PbDA.js} +5 -5
- package/dist/{BFormRadio-BzHsRe9X.js.map → BFormRadio-C9U9PbDA.js.map} +1 -1
- package/dist/{BFormRating-Cq94zurU.mjs → BFormRating-BJI4hTHm.mjs} +4 -4
- package/dist/{BFormRating-Cq94zurU.mjs.map → BFormRating-BJI4hTHm.mjs.map} +1 -1
- package/dist/{BFormRating-_MVRGNOF.js → BFormRating-JeEiyayh.js} +4 -4
- package/dist/{BFormRating-_MVRGNOF.js.map → BFormRating-JeEiyayh.js.map} +1 -1
- package/dist/{BFormSelect-DbpJ_0j-.mjs → BFormSelect-BleWBr-U.mjs} +6 -6
- package/dist/{BFormSelect-DbpJ_0j-.mjs.map → BFormSelect-BleWBr-U.mjs.map} +1 -1
- package/dist/{BFormSelect-DFa1-5ez.js → BFormSelect-D_yYXijf.js} +6 -6
- package/dist/{BFormSelect-DFa1-5ez.js.map → BFormSelect-D_yYXijf.js.map} +1 -1
- package/dist/{BFormSpinbutton-DmzfRDeR.mjs → BFormSpinbutton-5JRMW1Bo.mjs} +5 -5
- package/dist/{BFormSpinbutton-DmzfRDeR.mjs.map → BFormSpinbutton-5JRMW1Bo.mjs.map} +1 -1
- package/dist/{BFormSpinbutton-DzJ071Gz.js → BFormSpinbutton-Dix9U_c1.js} +5 -5
- package/dist/{BFormSpinbutton-DzJ071Gz.js.map → BFormSpinbutton-Dix9U_c1.js.map} +1 -1
- package/dist/{BFormTags-pK9i3cOB.js → BFormTags-BUoQXBA9.js} +7 -7
- package/dist/{BFormTags-pK9i3cOB.js.map → BFormTags-BUoQXBA9.js.map} +1 -1
- package/dist/{BFormTags-Cobh04P9.mjs → BFormTags-BjyHMiw1.mjs} +7 -7
- package/dist/{BFormTags-Cobh04P9.mjs.map → BFormTags-BjyHMiw1.mjs.map} +1 -1
- package/dist/{BFormTextarea-BtXarcjA.js → BFormTextarea-BIrsIHU1.js} +3 -3
- package/dist/{BFormTextarea-BtXarcjA.js.map → BFormTextarea-BIrsIHU1.js.map} +1 -1
- package/dist/{BFormTextarea-ClcoJrSM.mjs → BFormTextarea-D8waUYBT.mjs} +3 -3
- package/dist/{BFormTextarea-ClcoJrSM.mjs.map → BFormTextarea-D8waUYBT.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-foz9BlkH.mjs → BFormValidFeedback-BNQNdH26.mjs} +3 -3
- package/dist/{BFormValidFeedback-foz9BlkH.mjs.map → BFormValidFeedback-BNQNdH26.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-Ot8gdDST.js → BFormValidFeedback-CiZ4cn1v.js} +3 -3
- package/dist/{BFormValidFeedback-Ot8gdDST.js.map → BFormValidFeedback-CiZ4cn1v.js.map} +1 -1
- package/dist/{BImg-BrA0ZRS6.js → BImg-BFKDHH7y.js} +4 -4
- package/dist/{BImg-BrA0ZRS6.js.map → BImg-BFKDHH7y.js.map} +1 -1
- package/dist/{BImg-b_3eTiEq.mjs → BImg-BZ7hac1l.mjs} +4 -4
- package/dist/{BImg-b_3eTiEq.mjs.map → BImg-BZ7hac1l.mjs.map} +1 -1
- package/dist/{BInputGroup-Cr0qLUds.js → BInputGroup-DwrQVmGT.js} +2 -2
- package/dist/{BInputGroup-Cr0qLUds.js.map → BInputGroup-DwrQVmGT.js.map} +1 -1
- package/dist/{BInputGroup-B8fKBtip.mjs → BInputGroup-xno5tJWV.mjs} +2 -2
- package/dist/{BInputGroup-B8fKBtip.mjs.map → BInputGroup-xno5tJWV.mjs.map} +1 -1
- package/dist/{BLink-DoYZ8dBl.mjs → BLink-Cz5YCsnv.mjs} +4 -4
- package/dist/{BLink-DoYZ8dBl.mjs.map → BLink-Cz5YCsnv.mjs.map} +1 -1
- package/dist/{BLink-DW7s8W_N.js → BLink-uemyYKst.js} +4 -4
- package/dist/{BLink-DW7s8W_N.js.map → BLink-uemyYKst.js.map} +1 -1
- package/dist/{BListGroup-ByYmtuCM.mjs → BListGroup-DHdBjAI1.mjs} +3 -3
- package/dist/{BListGroup-ByYmtuCM.mjs.map → BListGroup-DHdBjAI1.mjs.map} +1 -1
- package/dist/{BListGroup-clQNXk23.js → BListGroup-yJ9SOYxq.js} +3 -3
- package/dist/{BListGroup-clQNXk23.js.map → BListGroup-yJ9SOYxq.js.map} +1 -1
- package/dist/{BModal-d3FKaKhA.js → BModal-CVf686JS.js} +10 -10
- package/dist/{BModal-d3FKaKhA.js.map → BModal-CVf686JS.js.map} +1 -1
- package/dist/{BModal-TCXrZEZk.mjs → BModal-DkX-2F1v.mjs} +10 -10
- package/dist/{BModal-TCXrZEZk.mjs.map → BModal-DkX-2F1v.mjs.map} +1 -1
- package/dist/{BNav-BBr8213N.mjs → BNav-D88X9xHW.mjs} +7 -7
- package/dist/{BNav-BBr8213N.mjs.map → BNav-D88X9xHW.mjs.map} +1 -1
- package/dist/{BNav-BMAZcVDS.js → BNav-dxOO1pJI.js} +7 -7
- package/dist/{BNav-BMAZcVDS.js.map → BNav-dxOO1pJI.js.map} +1 -1
- package/dist/{BNavbar-DtgNmsyI.mjs → BNavbar-DALgesyZ.mjs} +6 -6
- package/dist/{BNavbar-DtgNmsyI.mjs.map → BNavbar-DALgesyZ.mjs.map} +1 -1
- package/dist/{BNavbar-BfYFzX1s.js → BNavbar-EayLl9th.js} +6 -6
- package/dist/{BNavbar-BfYFzX1s.js.map → BNavbar-EayLl9th.js.map} +1 -1
- package/dist/{BOffcanvas-YsVap-9w.js → BOffcanvas-CJDXvuCR.js} +9 -9
- package/dist/{BOffcanvas-YsVap-9w.js.map → BOffcanvas-CJDXvuCR.js.map} +1 -1
- package/dist/{BOffcanvas-BklEA-4x.mjs → BOffcanvas-CJUaqRuT.mjs} +9 -9
- package/dist/{BOffcanvas-BklEA-4x.mjs.map → BOffcanvas-CJUaqRuT.mjs.map} +1 -1
- package/dist/{BOverlay-DOfvBAZb.mjs → BOverlay-CZUXqAOJ.mjs} +6 -6
- package/dist/{BOverlay-DOfvBAZb.mjs.map → BOverlay-CZUXqAOJ.mjs.map} +1 -1
- package/dist/{BOverlay-Dg9YM7p1.js → BOverlay-Ct1Be98i.js} +6 -6
- package/dist/{BOverlay-Dg9YM7p1.js.map → BOverlay-Ct1Be98i.js.map} +1 -1
- package/dist/{BPagination-B868NBmG.mjs → BPagination-BOW0ZgHP.mjs} +5 -5
- package/dist/{BPagination-B868NBmG.mjs.map → BPagination-BOW0ZgHP.mjs.map} +1 -1
- package/dist/{BPagination-9P9Xh3cN.js → BPagination-Dm-dKaSQ.js} +5 -5
- package/dist/{BPagination-9P9Xh3cN.js.map → BPagination-Dm-dKaSQ.js.map} +1 -1
- package/dist/{BPlaceholder-DPEVmogO.js → BPlaceholder-LEAD84zn.js} +5 -5
- package/dist/{BPlaceholder-DPEVmogO.js.map → BPlaceholder-LEAD84zn.js.map} +1 -1
- package/dist/{BPlaceholder-7UJ3Nyb3.mjs → BPlaceholder-V5sitFFG.mjs} +5 -5
- package/dist/{BPlaceholder-7UJ3Nyb3.mjs.map → BPlaceholder-V5sitFFG.mjs.map} +1 -1
- package/dist/{BProgress-Bdf5AncM.mjs → BProgress-D0yfZ2Ze.mjs} +3 -3
- package/dist/{BProgress-Bdf5AncM.mjs.map → BProgress-D0yfZ2Ze.mjs.map} +1 -1
- package/dist/{BProgress-CeEIdt1a.js → BProgress-DAnEfDXq.js} +3 -3
- package/dist/{BProgress-CeEIdt1a.js.map → BProgress-DAnEfDXq.js.map} +1 -1
- package/dist/{BRow-NaXJzpS-.mjs → BRow-BKxCxJUU.mjs} +4 -4
- package/dist/{BRow-NaXJzpS-.mjs.map → BRow-BKxCxJUU.mjs.map} +1 -1
- package/dist/{BRow-DGi1WkB9.js → BRow-bG6T9jY3.js} +4 -4
- package/dist/{BRow-DGi1WkB9.js.map → BRow-bG6T9jY3.js.map} +1 -1
- package/dist/{BSpinner-Kska3Bsd.js → BSpinner-8UMAINYb.js} +3 -3
- package/dist/{BSpinner-Kska3Bsd.js.map → BSpinner-8UMAINYb.js.map} +1 -1
- package/dist/{BSpinner-DlLxrIkh.mjs → BSpinner-BpnwONvx.mjs} +3 -3
- package/dist/{BSpinner-DlLxrIkh.mjs.map → BSpinner-BpnwONvx.mjs.map} +1 -1
- package/dist/{BTable-C__GSYX2.mjs → BTable-CYvvqn6I.mjs} +8 -8
- package/dist/{BTable-C__GSYX2.mjs.map → BTable-CYvvqn6I.mjs.map} +1 -1
- package/dist/{BTable-BiNbXnsR.js → BTable-DSuQWlMd.js} +8 -8
- package/dist/{BTable-BiNbXnsR.js.map → BTable-DSuQWlMd.js.map} +1 -1
- package/dist/{BTableSimple-fwaF0Kws.js → BTableSimple-Bq8PToKM.js} +5 -5
- package/dist/{BTableSimple-fwaF0Kws.js.map → BTableSimple-Bq8PToKM.js.map} +1 -1
- package/dist/{BTableSimple-eebTf2L5.mjs → BTableSimple-DfE2d_yr.mjs} +5 -5
- package/dist/{BTableSimple-eebTf2L5.mjs.map → BTableSimple-DfE2d_yr.mjs.map} +1 -1
- package/dist/{BTabs-BxwRSBMv.js → BTabs-C_zLwDuN.js} +6 -6
- package/dist/{BTabs-BxwRSBMv.js.map → BTabs-C_zLwDuN.js.map} +1 -1
- package/dist/{BTabs-7IT0dhVr.mjs → BTabs-De_t7t0r.mjs} +6 -6
- package/dist/{BTabs-7IT0dhVr.mjs.map → BTabs-De_t7t0r.mjs.map} +1 -1
- package/dist/{BTimeField-CZw1_K7v.mjs → BTimeField-Ba7V9u04.mjs} +4 -4
- package/dist/{BTimeField-CZw1_K7v.mjs.map → BTimeField-Ba7V9u04.mjs.map} +1 -1
- package/dist/{BTimeField-CngB6NOW.js → BTimeField-BjiB8bN9.js} +4 -4
- package/dist/{BTimeField-CngB6NOW.js.map → BTimeField-BjiB8bN9.js.map} +1 -1
- package/dist/{BToast-IYBku5Nr.mjs → BToast-DGcCFzvf.mjs} +10 -10
- package/dist/{BToast-IYBku5Nr.mjs.map → BToast-DGcCFzvf.mjs.map} +1 -1
- package/dist/{BToast-BraVbf4N.js → BToast-SdIR1HJa.js} +10 -10
- package/dist/{BToast-BraVbf4N.js.map → BToast-SdIR1HJa.js.map} +1 -1
- package/dist/{BTooltip-B2hE5Q6m.js → BTooltip-CrHabClh.js} +3 -3
- package/dist/{BTooltip-B2hE5Q6m.js.map → BTooltip-CrHabClh.js.map} +1 -1
- package/dist/{BTooltip-BuK_zb1B.mjs → BTooltip-U16exDFb.mjs} +3 -3
- package/dist/{BTooltip-BuK_zb1B.mjs.map → BTooltip-U16exDFb.mjs.map} +1 -1
- package/dist/{BootstrapVueOptions-Dtdn7_AJ.mjs → BootstrapVueOptions-Bswes3nS.mjs} +2 -1
- package/dist/BootstrapVueOptions-Bswes3nS.mjs.map +1 -0
- package/dist/{BootstrapVueOptions-CVxLmDvx.js → BootstrapVueOptions-BxTxSFXn.js} +2 -1
- package/dist/BootstrapVueOptions-BxTxSFXn.js.map +1 -0
- package/dist/{ConditionalTeleport-BDWcebyD.js → ConditionalTeleport-BJZk6HAx.js} +1 -1
- package/dist/{ConditionalTeleport-BDWcebyD.js.map → ConditionalTeleport-BJZk6HAx.js.map} +1 -1
- package/dist/{ConditionalTeleport-B4KYZIM6.mjs → ConditionalTeleport-BNsziElf.mjs} +1 -1
- package/dist/{ConditionalTeleport-B4KYZIM6.mjs.map → ConditionalTeleport-BNsziElf.mjs.map} +1 -1
- package/dist/{ConditionalWrapper-ZqZKYsic.js → ConditionalWrapper-BcQirqyl.js} +1 -1
- package/dist/{ConditionalWrapper-ZqZKYsic.js.map → ConditionalWrapper-BcQirqyl.js.map} +1 -1
- package/dist/{ConditionalWrapper-BR9CKZNU.mjs → ConditionalWrapper-BjjQWNtR.mjs} +1 -1
- package/dist/{ConditionalWrapper-BR9CKZNU.mjs.map → ConditionalWrapper-BjjQWNtR.mjs.map} +1 -1
- package/dist/{DateRangeFieldInput-bA6IK9lx.mjs → DateRangeFieldInput-BaxQpIux.mjs} +2 -2
- package/dist/{DateRangeFieldInput-bA6IK9lx.mjs.map → DateRangeFieldInput-BaxQpIux.mjs.map} +1 -1
- package/dist/{DateRangeFieldInput-bXDqGVUe.js → DateRangeFieldInput-qCIvFM7a.js} +2 -2
- package/dist/{DateRangeFieldInput-bXDqGVUe.js.map → DateRangeFieldInput-qCIvFM7a.js.map} +1 -1
- package/dist/bootstrap-vue-next.mjs +58 -57
- package/dist/bootstrap-vue-next.umd.js +58 -56
- package/dist/{classes-D6JE1Dex.mjs → classes-B0E5Y78Y.mjs} +1 -1
- package/dist/{classes-D6JE1Dex.mjs.map → classes-B0E5Y78Y.mjs.map} +1 -1
- package/dist/{classes-vdSVs0gA.js → classes-D5wrmmVs.js} +1 -1
- package/dist/{classes-vdSVs0gA.js.map → classes-D5wrmmVs.js.map} +1 -1
- package/dist/components/BAccordion/BAccordionItem.vue.d.mts +1 -1
- package/dist/components/BAccordion/BAccordionItem.vue.d.ts +1 -1
- package/dist/components/BAspect/BAspect.vue.d.mts +21 -0
- package/dist/components/BAspect/BAspect.vue.d.ts +21 -0
- package/dist/components/BAspect/index.d.mts +1 -0
- package/dist/components/BAspect/index.d.ts +1 -0
- package/dist/components/BButton/BButtonGroup.vue.d.mts +1 -1
- package/dist/components/BButton/BButtonGroup.vue.d.ts +1 -1
- package/dist/components/BCard/BCard.vue.d.mts +1 -1
- package/dist/components/BCard/BCard.vue.d.ts +1 -1
- package/dist/components/BCard/BCardImg.vue.d.mts +1 -1
- package/dist/components/BCard/BCardImg.vue.d.ts +1 -1
- package/dist/components/BCollapse/BCollapse.vue.d.mts +1 -1
- package/dist/components/BCollapse/BCollapse.vue.d.ts +1 -1
- package/dist/components/BDropdown/BDropdown.vue.d.mts +1 -1
- package/dist/components/BDropdown/BDropdown.vue.d.ts +1 -1
- package/dist/components/BForm/BFormInvalidFeedback.vue.d.mts +1 -1
- package/dist/components/BForm/BFormInvalidFeedback.vue.d.ts +1 -1
- package/dist/components/BForm/BFormValidFeedback.vue.d.mts +1 -1
- package/dist/components/BForm/BFormValidFeedback.vue.d.ts +1 -1
- package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +1 -1
- package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +1 -1
- package/dist/components/BFormFile/BFormFile.vue.d.mts +1 -1
- package/dist/components/BFormFile/BFormFile.vue.d.ts +1 -1
- package/dist/components/BFormGroup/BFormGroup.vue.d.mts +1 -1
- package/dist/components/BFormGroup/BFormGroup.vue.d.ts +1 -1
- package/dist/components/BImg/BImg.vue.d.mts +1 -1
- package/dist/components/BImg/BImg.vue.d.ts +1 -1
- package/dist/components/BInputGroup/BInputGroup.vue.d.mts +1 -1
- package/dist/components/BInputGroup/BInputGroup.vue.d.ts +1 -1
- package/dist/components/BListGroup/BListGroup.vue.d.mts +1 -1
- package/dist/components/BListGroup/BListGroup.vue.d.ts +1 -1
- package/dist/components/BNav/BNav.vue.d.mts +1 -1
- package/dist/components/BNav/BNav.vue.d.ts +1 -1
- package/dist/components/BNav/BNavItemDropdown.vue.d.mts +13 -13
- package/dist/components/BNav/BNavItemDropdown.vue.d.ts +13 -13
- package/dist/components/BNavbar/BNavbar.vue.d.mts +1 -1
- package/dist/components/BNavbar/BNavbar.vue.d.ts +1 -1
- package/dist/components/BNavbar/BNavbarNav.vue.d.mts +1 -1
- package/dist/components/BNavbar/BNavbarNav.vue.d.ts +1 -1
- package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +1 -1
- package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +1 -1
- package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +1 -1
- package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +1 -1
- package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +1 -1
- package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +1 -1
- package/dist/components/BProgress/BProgress.vue.d.mts +1 -1
- package/dist/components/BProgress/BProgress.vue.d.ts +1 -1
- package/dist/components/BSpinner/BSpinner.vue.d.mts +2 -2
- package/dist/components/BSpinner/BSpinner.vue.d.ts +2 -2
- package/dist/components/BTabs/BTabs.vue.d.mts +1 -1
- package/dist/components/BTabs/BTabs.vue.d.ts +1 -1
- package/dist/components/index.d.mts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/{constants-CQ8ucyPI.mjs → constants-BSIK14yA.mjs} +1 -1
- package/dist/{constants-CQ8ucyPI.mjs.map → constants-BSIK14yA.mjs.map} +1 -1
- package/dist/{constants-DMR5FAE3.js → constants-hccBP09R.js} +1 -1
- package/dist/{constants-DMR5FAE3.js.map → constants-hccBP09R.js.map} +1 -1
- package/dist/{debounce-BfDJWP7y.js → debounce-DQsw8FWv.js} +2 -2
- package/dist/{debounce-BfDJWP7y.js.map → debounce-DQsw8FWv.js.map} +1 -1
- package/dist/{debounce-BIVtU5ek.mjs → debounce-DeVyu4Ny.mjs} +2 -2
- package/dist/{debounce-BIVtU5ek.mjs.map → debounce-DeVyu4Ny.mjs.map} +1 -1
- package/dist/{flattenFragments-DfLb4YB2.js → flattenFragments-C1WWqm25.js} +1 -1
- package/dist/{flattenFragments-DfLb4YB2.js.map → flattenFragments-C1WWqm25.js.map} +1 -1
- package/dist/{flattenFragments-B1W_x5L2.mjs → flattenFragments-ClbLQGqR.mjs} +1 -1
- package/dist/{flattenFragments-B1W_x5L2.mjs.map → flattenFragments-ClbLQGqR.mjs.map} +1 -1
- package/dist/{floating-ui.vue-B09oeNTW.js → floating-ui.vue-CW2IKmom.js} +1 -1
- package/dist/{floating-ui.vue-B09oeNTW.js.map → floating-ui.vue-CW2IKmom.js.map} +1 -1
- package/dist/{floating-ui.vue-CcfLuVCZ.mjs → floating-ui.vue-DIWi4LGB.mjs} +1 -1
- package/dist/{floating-ui.vue-CcfLuVCZ.mjs.map → floating-ui.vue-DIWi4LGB.mjs.map} +1 -1
- package/dist/{floatingUi-9NcUa5r7.mjs → floatingUi-BErx3eqf.mjs} +7 -7
- package/dist/{floatingUi-9NcUa5r7.mjs.map → floatingUi-BErx3eqf.mjs.map} +1 -1
- package/dist/{floatingUi-BLlCKrbj.js → floatingUi-syPgL0ve.js} +7 -7
- package/dist/{floatingUi-BLlCKrbj.js.map → floatingUi-syPgL0ve.js.map} +1 -1
- package/dist/{functions-C6AToZGR.mjs → functions-BcMenQqL.mjs} +1 -1
- package/dist/functions-BcMenQqL.mjs.map +1 -0
- package/dist/{functions-DCQKr6wc.js → functions-Bx1HDqMv.js} +1 -1
- package/dist/functions-Bx1HDqMv.js.map +1 -0
- package/dist/{getClasses-BQLj0MHF.js → getClasses-BpIobrfU.js} +1 -1
- package/dist/{getClasses-BQLj0MHF.js.map → getClasses-BpIobrfU.js.map} +1 -1
- package/dist/{getClasses-_sZDgS-l.mjs → getClasses-DwzMjfzX.mjs} +1 -1
- package/dist/{getClasses-_sZDgS-l.mjs.map → getClasses-DwzMjfzX.mjs.map} +1 -1
- package/dist/{getElement-D5DvkPzw.mjs → getElement-BPjh0Qkh.mjs} +1 -1
- package/dist/{getElement-D5DvkPzw.mjs.map → getElement-BPjh0Qkh.mjs.map} +1 -1
- package/dist/{getElement-BXXYfxYW.js → getElement-BPm7tpe2.js} +1 -1
- package/dist/{getElement-BXXYfxYW.js.map → getElement-BPm7tpe2.js.map} +1 -1
- package/dist/{object-CPeShLVx.js → object-BN7QwMcz.js} +1 -1
- package/dist/{object-CPeShLVx.js.map → object-BN7QwMcz.js.map} +1 -1
- package/dist/{object-B9ZW1_9f.mjs → object-CHQkkner.mjs} +1 -1
- package/dist/{object-B9ZW1_9f.mjs.map → object-CHQkkner.mjs.map} +1 -1
- package/dist/{registryAccess-B4xlltdn.mjs → registryAccess-BO4rk3Sm.mjs} +1 -1
- package/dist/{registryAccess-B4xlltdn.mjs.map → registryAccess-BO4rk3Sm.mjs.map} +1 -1
- package/dist/{registryAccess-Be_uJ4EV.js → registryAccess-ROXkP1Do.js} +1 -1
- package/dist/{registryAccess-Be_uJ4EV.js.map → registryAccess-ROXkP1Do.js.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 +2 -0
- package/dist/src/components/BAspect/index.umd.js +3 -0
- 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/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 +1 -1
- package/dist/src/components/BFormTags/index.umd.js +1 -1
- 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 +1 -1
- package/dist/src/components/BInputGroup/index.umd.js +1 -1
- 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 +57 -55
- package/dist/src/components/index.mjs.map +1 -1
- package/dist/src/components/index.umd.js +57 -54
- package/dist/src/components/index.umd.js.map +1 -1
- package/dist/src/composables/useModal/index.mjs +1 -1
- package/dist/src/composables/useModal/index.umd.js +1 -1
- package/dist/src/composables/usePopover/index.mjs +2 -2
- package/dist/src/composables/usePopover/index.umd.js +2 -2
- package/dist/src/composables/useScrollspy/index.mjs +1 -1
- package/dist/src/composables/useScrollspy/index.umd.js +1 -1
- package/dist/src/composables/useToast/index.mjs +1 -1
- package/dist/src/composables/useToast/index.umd.js +1 -1
- 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 +2 -2
- package/dist/src/directives/BScrollspy/index.umd.js +2 -2
- package/dist/src/directives/BToggle/index.mjs +3 -3
- package/dist/src/directives/BToggle/index.umd.js +3 -3
- package/dist/src/directives/BTooltip/index.mjs +2 -2
- package/dist/src/directives/BTooltip/index.umd.js +2 -2
- package/dist/src/resolvers/index.mjs +1 -1
- package/dist/src/resolvers/index.umd.js +1 -1
- package/dist/src/types/index.mjs +1 -1
- package/dist/src/types/index.umd.js +1 -1
- package/dist/src/utils/index.mjs +1 -1
- package/dist/src/utils/index.umd.js +1 -1
- package/dist/{stringUtils-hUreqC0N.js → stringUtils-BwKOASdU.js} +2 -2
- package/dist/{stringUtils-hUreqC0N.js.map → stringUtils-BwKOASdU.js.map} +1 -1
- package/dist/{stringUtils-BP8rZgjn.mjs → stringUtils-CslYpDTt.mjs} +2 -2
- package/dist/{stringUtils-BP8rZgjn.mjs.map → stringUtils-CslYpDTt.mjs.map} +1 -1
- package/dist/types/BootstrapVueOptions.d.mts +3 -1
- package/dist/types/BootstrapVueOptions.d.ts +3 -1
- package/dist/types/ComponentProps.d.mts +4 -0
- package/dist/types/ComponentProps.d.ts +4 -0
- package/dist/types/ComponentSlots.d.mts +3 -0
- package/dist/types/ComponentSlots.d.ts +3 -0
- package/dist/{useAlignment-CwuLc9mf.mjs → useAlignment-DMST4-tc.mjs} +1 -1
- package/dist/{useAlignment-CwuLc9mf.mjs.map → useAlignment-DMST4-tc.mjs.map} +1 -1
- package/dist/{useAlignment-CY-mnB2p.js → useAlignment-Dus_TOxG.js} +1 -1
- package/dist/{useAlignment-CY-mnB2p.js.map → useAlignment-Dus_TOxG.js.map} +1 -1
- package/dist/{useAriaInvalid-BYMq9BBX.js → useAriaInvalid-CsUHLhSs.js} +1 -1
- package/dist/{useAriaInvalid-BYMq9BBX.js.map → useAriaInvalid-CsUHLhSs.js.map} +1 -1
- package/dist/{useAriaInvalid-01Dd60GC.mjs → useAriaInvalid-DcG6BhdW.mjs} +1 -1
- package/dist/{useAriaInvalid-01Dd60GC.mjs.map → useAriaInvalid-DcG6BhdW.mjs.map} +1 -1
- package/dist/{useColorVariantClasses-GuDw8a_O.mjs → useColorVariantClasses-B6Me_Kx6.mjs} +1 -1
- package/dist/{useColorVariantClasses-GuDw8a_O.mjs.map → useColorVariantClasses-B6Me_Kx6.mjs.map} +1 -1
- package/dist/{useColorVariantClasses-DVaQDVQC.js → useColorVariantClasses-CEfOwjPv.js} +1 -1
- package/dist/{useColorVariantClasses-DVaQDVQC.js.map → useColorVariantClasses-CEfOwjPv.js.map} +1 -1
- package/dist/{useCountdownHover-CaF8_TRT.js → useCountdownHover-D044mFuX.js} +1 -1
- package/dist/{useCountdownHover-CaF8_TRT.js.map → useCountdownHover-D044mFuX.js.map} +1 -1
- package/dist/{useCountdownHover-CTM7QEJ-.mjs → useCountdownHover-DqREghQi.mjs} +1 -1
- package/dist/{useCountdownHover-CTM7QEJ-.mjs.map → useCountdownHover-DqREghQi.mjs.map} +1 -1
- package/dist/{useDateField-PQjSLAVI.mjs → useDateField-BkbvpMB1.mjs} +1 -1
- package/dist/{useDateField-PQjSLAVI.mjs.map → useDateField-BkbvpMB1.mjs.map} +1 -1
- package/dist/{useDateField-qsRHISMn.js → useDateField-Ca0ZxYq9.js} +1 -1
- package/dist/{useDateField-qsRHISMn.js.map → useDateField-Ca0ZxYq9.js.map} +1 -1
- package/dist/{useDefaults-CCWS15M8.mjs → useDefaults-BKgBaqOV.mjs} +1 -1
- package/dist/{useDefaults-CCWS15M8.mjs.map → useDefaults-BKgBaqOV.mjs.map} +1 -1
- package/dist/{useDefaults-DK6Y9lar.js → useDefaults-DsLf4iRY.js} +1 -1
- package/dist/{useDefaults-DK6Y9lar.js.map → useDefaults-DsLf4iRY.js.map} +1 -1
- package/dist/{useFormCheck-TOhpqkZ9.mjs → useFormCheck-9Ne69Sw9.mjs} +3 -3
- package/dist/{useFormCheck-TOhpqkZ9.mjs.map → useFormCheck-9Ne69Sw9.mjs.map} +1 -1
- package/dist/{useFormCheck-DXM9Wj2i.js → useFormCheck-H0B2G8GH.js} +3 -3
- package/dist/{useFormCheck-DXM9Wj2i.js.map → useFormCheck-H0B2G8GH.js.map} +1 -1
- package/dist/{useFormInput-DeJGz9t9.mjs → useFormInput-9wwIZZqf.mjs} +5 -5
- package/dist/{useFormInput-DeJGz9t9.mjs.map → useFormInput-9wwIZZqf.mjs.map} +1 -1
- package/dist/{useFormInput-AX7ikSmn.js → useFormInput-DyZLjypv.js} +5 -5
- package/dist/{useFormInput-AX7ikSmn.js.map → useFormInput-DyZLjypv.js.map} +1 -1
- package/dist/{useFormSelect-DCThI8EA.js → useFormSelect-8ZL7Dk3W.js} +3 -3
- package/dist/{useFormSelect-DCThI8EA.js.map → useFormSelect-8ZL7Dk3W.js.map} +1 -1
- package/dist/{useFormSelect-_-ln6FKQ.mjs → useFormSelect-BYhUZcK5.mjs} +3 -3
- package/dist/{useFormSelect-_-ln6FKQ.mjs.map → useFormSelect-BYhUZcK5.mjs.map} +1 -1
- package/dist/{useId-CCwnEmGh.mjs → useId-BKZFSYm8.mjs} +1 -1
- package/dist/{useId-CCwnEmGh.mjs.map → useId-BKZFSYm8.mjs.map} +1 -1
- package/dist/{useId-DTrBK9CE.js → useId-DHrBgM7P.js} +1 -1
- package/dist/{useId-DTrBK9CE.js.map → useId-DHrBgM7P.js.map} +1 -1
- package/dist/{useNumberishToStyle-uj-NwKpF.mjs → useNumberishToStyle--4gz3iYn.mjs} +2 -2
- package/dist/{useNumberishToStyle-uj-NwKpF.mjs.map → useNumberishToStyle--4gz3iYn.mjs.map} +1 -1
- package/dist/{useNumberishToStyle-CluQ-WT4.js → useNumberishToStyle-DMGqQGfo.js} +2 -2
- package/dist/{useNumberishToStyle-CluQ-WT4.js.map → useNumberishToStyle-DMGqQGfo.js.map} +1 -1
- package/dist/{useRadiusElementClasses-D6FwziNh.js → useRadiusElementClasses-Bi58dhJY.js} +1 -1
- package/dist/{useRadiusElementClasses-D6FwziNh.js.map → useRadiusElementClasses-Bi58dhJY.js.map} +1 -1
- package/dist/{useRadiusElementClasses-CyDq8RO7.mjs → useRadiusElementClasses-ppH4Pr03.mjs} +1 -1
- package/dist/{useRadiusElementClasses-CyDq8RO7.mjs.map → useRadiusElementClasses-ppH4Pr03.mjs.map} +1 -1
- package/dist/{useRtl-DQ5v5L9s.mjs → useRtl-BwxT5Dyq.mjs} +1 -1
- package/dist/{useRtl-DQ5v5L9s.mjs.map → useRtl-BwxT5Dyq.mjs.map} +1 -1
- package/dist/{useRtl-BlPLBmTe.js → useRtl-DWO9pKff.js} +1 -1
- package/dist/{useRtl-BlPLBmTe.js.map → useRtl-DWO9pKff.js.map} +1 -1
- package/dist/{useSafeScrollLock-C9UxwgUo.mjs → useSafeScrollLock-DJ1UsIFY.mjs} +1 -1
- package/dist/{useSafeScrollLock-C9UxwgUo.mjs.map → useSafeScrollLock-DJ1UsIFY.mjs.map} +1 -1
- package/dist/{useSafeScrollLock-CP2B7aXF.js → useSafeScrollLock-xJBEvCQ7.js} +1 -1
- package/dist/{useSafeScrollLock-CP2B7aXF.js.map → useSafeScrollLock-xJBEvCQ7.js.map} +1 -1
- package/dist/{useShowHide-wBe7O9iE.mjs → useShowHide-IPyuuPL0.mjs} +3 -3
- package/dist/{useShowHide-wBe7O9iE.mjs.map → useShowHide-IPyuuPL0.mjs.map} +1 -1
- package/dist/{useShowHide-BFr32vgn.js → useShowHide-sLzwukNm.js} +3 -3
- package/dist/{useShowHide-BFr32vgn.js.map → useShowHide-sLzwukNm.js.map} +1 -1
- package/dist/{useStateClass-Cnvy2Hnm.js → useStateClass-0b-hPufa.js} +1 -1
- package/dist/{useStateClass-Cnvy2Hnm.js.map → useStateClass-0b-hPufa.js.map} +1 -1
- package/dist/{useStateClass-DKjpw1Pn.mjs → useStateClass-DXbp5rFK.mjs} +1 -1
- package/dist/{useStateClass-DKjpw1Pn.mjs.map → useStateClass-DXbp5rFK.mjs.map} +1 -1
- package/dist/{utils-C-oJqlar.mjs → utils-D_vdhVDP.mjs} +2 -2
- package/dist/{utils-C-oJqlar.mjs.map → utils-D_vdhVDP.mjs.map} +1 -1
- package/dist/{utils-CY6CnVNO.js → utils-bUQM0PzD.js} +2 -2
- package/dist/{utils-CY6CnVNO.js.map → utils-bUQM0PzD.js.map} +1 -1
- package/package.json +9 -1
- package/dist/BootstrapVueOptions-CVxLmDvx.js.map +0 -1
- package/dist/BootstrapVueOptions-Dtdn7_AJ.mjs.map +0 -1
- package/dist/functions-C6AToZGR.mjs.map +0 -1
- package/dist/functions-DCQKr6wc.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as accordionInjectionKey } from "./keys-CQKrwmvN.mjs";
|
|
2
2
|
import { c as sortSlotElementsByPosition } from "./dom-AhkaSoh8.mjs";
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as flattenFragments } from "./flattenFragments-
|
|
6
|
-
import { t as BCollapse_default } from "./BCollapse-
|
|
7
|
-
import { r as isReadOnlyArray } from "./object-
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
4
|
+
import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
|
|
5
|
+
import { t as flattenFragments } from "./flattenFragments-ClbLQGqR.mjs";
|
|
6
|
+
import { t as BCollapse_default } from "./BCollapse-BzIGTt3g.mjs";
|
|
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
|
|
10
10
|
var _hoisted_1$1 = [
|
|
@@ -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-BU80DI3B.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordion-BJcDjMYL.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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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-BU80DI3B.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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
2
|
const require_keys = require("./keys-durSVUrO.js");
|
|
3
3
|
const require_dom = require("./dom-Bs6DzM72.js");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const require_flattenFragments = require("./flattenFragments-
|
|
7
|
-
const require_BCollapse = require("./BCollapse-
|
|
8
|
-
const require_object = require("./object-
|
|
4
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
5
|
+
const require_useId = require("./useId-DHrBgM7P.js");
|
|
6
|
+
const require_flattenFragments = require("./flattenFragments-C1WWqm25.js");
|
|
7
|
+
const require_BCollapse = require("./BCollapse-D2tCzh6C.js");
|
|
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
|
|
11
11
|
var _hoisted_1$1 = [
|
|
@@ -357,4 +357,4 @@ Object.defineProperty(exports, "BAccordion_default", {
|
|
|
357
357
|
}
|
|
358
358
|
});
|
|
359
359
|
|
|
360
|
-
//# sourceMappingURL=BAccordion-
|
|
360
|
+
//# sourceMappingURL=BAccordion-DZ50ppJx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAccordion-CQIw-5xs.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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsGA,MAAM,QAAQ,oBAAA,YApBC,SAoBmB,iBAAgB;EAClD,MAAM,OAAO;EAEb,MAAM,SAAA,GAAA,IAAA,WAAiB;EAEvB,MAAM,kBAAA,GAAA,IAAA,gBAAgC;GACpC,MAAM,EAAC,OAAO,cAAc,GAAG,kBAAiB;AAChD,UAAO;IAAC;IAAc;IAAa;IACpC;EAED,MAAM,cAAA,GAAA,IAAA,QAAoB,aAAA,uBAAuB,KAAI;EAErD,MAAM,aAAa,cAAA,YAAY,MAAM,IAAI,iBAAgB;EAEzD,MAAM,cAAA,GAAA,IAAA,UAA+E,SAAA,aAEpF;AAED,MAAI,WAAW,MACb,aAAY,YAAY,WAAW,MAAK;MAExC,YAAW,SACR,eAAA,gBAAgB,YAAY,SAAS,MAAK,GACvC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,UAAU,CAAC,YAAY,iBAAiB;EAG1F,MAAM,MAAA,GAAA,IAAA,gBAAoB,MAAK;AAC/B,cAAY,sBAAsB,WAAW,OAAO,GAAE;AAEtD,GAAA,GAAA,IAAA,mBAAkB;AAChB,eAAY,wBAAwB,WAAW,MAAK;IACrD;AAED,GAAA,GAAA,IAAA,iBAAgB;AACd,OAAI,CAAC,WAAW,SAAS,YAAY,SAAS,UAAU,WAAW,MACjE,EAAA,GAAA,IAAA,gBAAe;AACb,eAAW,QAAQ;KACpB;IAEJ;EAED,MAAM,gBAAA,GAAA,IAAA,gBACJ,eAAA,gBAAgB,YAAY,SAAS,MAAK,GACtC,YAAY,SAAS,MAAM,SAAS,WAAW,MAAK,GACpD,YAAY,SAAS,UAAU,WAAW,MAChD;AAEA,GAAA,GAAA,IAAA,aACQ,YAAY,SAAS,aACpB,WAAW,QAAQ,aAAa,MACzC;AACA,GAAA,GAAA,IAAA,OAAM,kBAAkB;AACtB,OAAI,WAAW,SAAS,CAAC,aAAa,MACpC,aAAY,YAAY,WAAW,MAAK;YAC/B,CAAC,WAAW,SAAS,aAAa,MAC3C,aAAY,aAAa,WAAW,MAAK;IAE5C;;4DAzGO,QAAA,GAAA,IAAA,YAAA;IArDJ,KAAI;IACJ,OAAM;qBACE,MAAK,CAAC,cAAY,EACzB,OAAO,eAAA,MAAe,cAAA,CAAA,EAAA,EAAA,GAAA,IAAA,aAiDX,kBAAA,oBAAA,GAAA,IAAA,YAAA;IA9CT,KAAA,GAAA,IAAA,OAAI,WAAU;gBACN,WAAA;4EAAU,QAAA;IACnB,OAAK,CAAC,uBAAA,GAAA,IAAA,OACE,MAAK,CAAC,cAAa;IAC1B,mBAAe,IAAA,GAAA,IAAA,OAAK,WAAU,CAAA;MACvB,eAAA,MAAe,eAAa;IACnC,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC;IACX,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,aAAA,GAAA,IAAA,OAAY,MAAK,CAAC;IAClB,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC;IACf,WAAA,GAAA,IAAA,OAAQ,MAAK,CAAC;IACd,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC,SAAA,GAAA,IAAA,OAAQ,WAAU,EAAE,KAAK;IACrC,iBAAA,GAAA,IAAA,OAAc,MAAK,CAAC,gBAAA,GAAA,IAAA,OAAe,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,SAAA,GAAA,IAAA,UAmBG,EAAA,SAnBe,eAAa,QAAU,iBAAU,GAAA,GAAA,IAAA,YAAA,GAAA,GAAA,IAAA,cAAA,GAAA,IAAA,0BAAA,GAAA,IAAA,OAErD,MAAK,CAAC,UAAS,GAAA,GAAA,IAAA,YAiBV;KAhBT,IAAE,IAAA,GAAA,IAAA,OAAK,WAAU,CAAA;KAClB,OAAK,CAAC,qBAAA,GAAA,IAAA,OACE,MAAK,CAAC,YAAA;sBACN,MAAK,CAAC,YAAW,EAAA;qCAYhB,EAAA,GAAA,IAAA,oBAAA,WAAA,GAAA,IAAA,YAAA,EATP,OAAM,oBAAkB,GAAA,GAAA,IAAA,OAChB,MAAK,CAAC,aAAW;MACxB,OAAK,CAAA,EAAA,WAAA,CAAgB,eAAa,GAAA,GAAA,IAAA,OAAG,MAAK,CAAC,YAAW;MACvD,MAAK;MACJ,iBAAe,gBAAa,SAAA;MAC5B,kBAAA,GAAA,IAAA,OAAe,WAAU;MACzB,SAAO;8BAEqC,KAAA,QAAA,SAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OAAtB,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA,aAAA,CAAA,CAAA;;;oCAMlC,EAAA,GAAA,IAAA,oBAAA,QAAA,GAAA,IAAA,YAAA,EAFD,OAAM,kBAAgB,GAAA,GAAA,IAAA,OAAS,MAAK,CAAC,WAAS,EAAG,QAAA,GAAA,IAAA,OAAO,MAAK,CAAC,WAAA,CAAA,EAAA,EAAA,GAAA,IAAA,YACzD,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EEfhB,MAAM,QAAQ,oBAAA,YARC,SAQmB,aAAY;EAC9C,MAAM,SAAA,GAAA,IAAA,WAAQ;EAEd,MAAM,cAAA,GAAA,IAAA,UAAuD,SAAA,aAE5D;EAED,MAAM,SAAA,GAAA,IAAA,UAA6C,SAAC,QAEnD;EAED,MAAM,qBAAA,GAAA,IAAA,KAAiC,EAAE,CAAA;EAEzC,MAAM,gCAAgC;GACpC,MAAM,eAAe,yBAAA,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,GAAA,GAAA,IAAA,aACQ,MAAM,UAAU,EAAE,CAAC,QACnB;AACJ,4BAAwB;AACxB,IAAA,GAAA,IAAA,gBAAe;AACb,wBAAmB;KACpB;IAEL;EAOA,MAAM,kBAAA,GAAA,IAAA,YAA6C,EAAE,CAAA;EAErD,MAAM,2BAA2B;AAC/B,kBAAe,QAAQ,CAAC,GAAG,eAAe,MAAM,CAAC,MAAM,GAAG,MACxD,YAAA,4BAAA,GAAA,IAAA,OAAiC,EAAE,GAAG,GAAA,GAAA,IAAA,OAAQ,EAAE,GAAG,CAAA,CACrD;AACA,OAAI,WAAW,MACb,KAAI,eAAA,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,eAAA,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,cAAA,YAAY,MAAM,IAAI,YAAW;EAEpD,MAAM,mBAAA,GAAA,IAAA,iBAAkC,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,GAAA,GAAA,IAAA,OAAM,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,eAAA,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,EAAA,GAAA,IAAA,gBAAe;AACb,WAAM,QAAQ,KAAA;MACf;cAIC,eAAA,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,MAAA,GAAA,IAAA,gBAAe;AACb,YAAM,QAAQ,KAAA;OACf;AACD;;AAEF,QAAI,CAAC,SAAS,UAAU,WAAW,MAAM,CACvC,YAAW,QAAQ;;IAI1B;AAED,GAAA,GAAA,IAAA,OACE,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,eAAA,gBAAgB,WAAW,MAAM,GAAG,WAAW,QAAQ,WAAW,QAAQ,IAChF;AAEA,QAAI,QAAQ;SACN,MAAM,UAAU,IAClB,OAAM,QAAQ;UAGhB,EAAA,GAAA,IAAA,gBAAe;AACb,gBAAW,QAAQ,KAAA;MACpB;cAEM,MAAM,KACf,KAAI,eAAA,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,EAAA,GAAA,IAAA,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,GAAA,GAAA,IAAA,aACQ,MAAM,OACX,SAAS;AACR,OAAI,WAAW;QACT,CAAC,QAAQ,eAAA,gBAAgB,WAAW,MAAM,CAC5C,YAAW,QAAQ,WAAW,MAAM;aAC3B,QAAQ,CAAC,eAAA,gBAAgB,WAAW,MAAM,CACnD,YAAW,QAAQ,CAAC,WAAW,MAAK;;IAI5C;AAEA,GAAA,GAAA,IAAA,SAAQ,aAAA,uBAAuB;GAC7B,WAAA,GAAA,IAAA,UAAmB,WAAW;GAC9B,OAAA,GAAA,IAAA,aAAkB,MAAM,KAAK;GAC7B,mBAAA,GAAA,IAAA,aAA8B,MAAM,iBAAiB;GACrD,OAAA,GAAA,IAAA,aAAkB,MAAM,KAAK;GAC7B,cAAA,GAAA,IAAA,aAAyB,MAAM,YAAY;GAC3C,cAAc,OAAe;AAC3B,QAAI,MAAM,QAAQ,CAAC,eAAA,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,eAAA,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ;AACnB;;AAEF,QAAI,eAAA,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,eAAA,gBAAgB,WAAW,MAAM,EAAE;AACpD,gBAAW,QAAQ,KAAA;AACnB;;AAEF,QAAI,eAAA,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;;4DA3QO,OAAA;IAFA,KAAA,GAAA,IAAA,OAAI,WAAU;IAAE,QAAA,GAAA,IAAA,gBAAK,CAAC,aAAoB,gBAAA,MAAe,CAAA;2BACrD,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
|
|
1
|
+
{"version":3,"file":"BAccordion-DZ50ppJx.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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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 {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {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
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as useShowHide } from "./useShowHide-
|
|
4
|
-
import { r as useBLinkHelper, t as BLink_default } from "./BLink-
|
|
5
|
-
import { t as BButton_default } from "./BButton-
|
|
6
|
-
import { t as BCloseButton_default } from "./BCloseButton-
|
|
7
|
-
import { t as BProgress_default } from "./BProgress-
|
|
8
|
-
import { n as useCountdown, t as useCountdownHover } from "./useCountdownHover-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
2
|
+
import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
|
|
3
|
+
import { t as useShowHide } from "./useShowHide-IPyuuPL0.mjs";
|
|
4
|
+
import { r as useBLinkHelper, t as BLink_default } from "./BLink-Cz5YCsnv.mjs";
|
|
5
|
+
import { t as BButton_default } from "./BButton-DPCH-g3G.mjs";
|
|
6
|
+
import { t as BCloseButton_default } from "./BCloseButton-CjgbR1Ec.mjs";
|
|
7
|
+
import { t as BProgress_default } from "./BProgress-D0yfZ2Ze.mjs";
|
|
8
|
+
import { n as useCountdown, t as useCountdownHover } from "./useCountdownHover-DqREghQi.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 = [
|
|
@@ -289,4 +289,4 @@ var BAlert_default = /* @__PURE__ */ defineComponent({
|
|
|
289
289
|
//#endregion
|
|
290
290
|
export { BAlert_default as t };
|
|
291
291
|
|
|
292
|
-
//# sourceMappingURL=BAlert-
|
|
292
|
+
//# sourceMappingURL=BAlert-CuWkyQoY.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BAlert-DaQxH8c1.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 {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\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'\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 {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\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'\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-CuWkyQoY.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 {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\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'\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 {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\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'\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
|
|
3
|
-
const
|
|
4
|
-
const require_useShowHide = require("./useShowHide-
|
|
5
|
-
const require_BLink = require("./BLink-
|
|
6
|
-
const require_BButton = require("./BButton-
|
|
7
|
-
const require_BCloseButton = require("./BCloseButton-
|
|
8
|
-
const require_BProgress = require("./BProgress-
|
|
9
|
-
const require_useCountdownHover = require("./useCountdownHover-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
3
|
+
const require_useId = require("./useId-DHrBgM7P.js");
|
|
4
|
+
const require_useShowHide = require("./useShowHide-sLzwukNm.js");
|
|
5
|
+
const require_BLink = require("./BLink-uemyYKst.js");
|
|
6
|
+
const require_BButton = require("./BButton-sb1cBCIb.js");
|
|
7
|
+
const require_BCloseButton = require("./BCloseButton-CN__Jjcj.js");
|
|
8
|
+
const require_BProgress = require("./BProgress-DAnEfDXq.js");
|
|
9
|
+
const require_useCountdownHover = require("./useCountdownHover-D044mFuX.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 = [
|
|
@@ -295,4 +295,4 @@ Object.defineProperty(exports, "BAlert_default", {
|
|
|
295
295
|
}
|
|
296
296
|
});
|
|
297
297
|
|
|
298
|
-
//# sourceMappingURL=BAlert-
|
|
298
|
+
//# sourceMappingURL=BAlert-DTvDu9YQ.js.map
|