bootstrap-vue-next 0.44.2 → 0.44.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BAccordion-CQIw-5xs.js → BAccordion-CJZMsvwP.js} +6 -6
- package/dist/{BAccordion-CQIw-5xs.js.map → BAccordion-CJZMsvwP.js.map} +1 -1
- package/dist/{BAccordion-BJcDjMYL.mjs → BAccordion-CNzV6f8e.mjs} +6 -6
- package/dist/{BAccordion-BJcDjMYL.mjs.map → BAccordion-CNzV6f8e.mjs.map} +1 -1
- package/dist/{BAlert-CVtoW2SX.js → BAlert-BnT7fF6B.js} +9 -9
- package/dist/{BAlert-CVtoW2SX.js.map → BAlert-BnT7fF6B.js.map} +1 -1
- package/dist/{BAlert-DaQxH8c1.mjs → BAlert-Qiyqq4rE.mjs} +9 -9
- package/dist/{BAlert-DaQxH8c1.mjs.map → BAlert-Qiyqq4rE.mjs.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/BAutocomplete-C7Odx4At.js +2342 -0
- package/dist/BAutocomplete-C7Odx4At.js.map +1 -0
- package/dist/BAutocomplete-Depalqe-.mjs +2336 -0
- package/dist/BAutocomplete-Depalqe-.mjs.map +1 -0
- package/dist/{BAvatar-C7Vc4wad.mjs → BAvatar-D7aFEXLH.mjs} +8 -8
- package/dist/{BAvatar-C7Vc4wad.mjs.map → BAvatar-D7aFEXLH.mjs.map} +1 -1
- package/dist/{BAvatar-BcQeFYZU.js → BAvatar-lefHkDuG.js} +8 -8
- package/dist/{BAvatar-BcQeFYZU.js.map → BAvatar-lefHkDuG.js.map} +1 -1
- package/dist/{BBadge-CKGGd4xB.js → BBadge-BBUcrujj.js} +5 -5
- package/dist/{BBadge-CKGGd4xB.js.map → BBadge-BBUcrujj.js.map} +1 -1
- package/dist/{BBadge-Dfkx4SMN.mjs → BBadge-D5ra3W5R.mjs} +5 -5
- package/dist/{BBadge-Dfkx4SMN.mjs.map → BBadge-D5ra3W5R.mjs.map} +1 -1
- package/dist/{BBreadcrumb-1Wxpf1iy.js → BBreadcrumb-BSsiwCNB.js} +4 -4
- package/dist/{BBreadcrumb-1Wxpf1iy.js.map → BBreadcrumb-BSsiwCNB.js.map} +1 -1
- package/dist/{BBreadcrumb-CR35-KcI.mjs → BBreadcrumb-amkzWyz6.mjs} +4 -4
- package/dist/{BBreadcrumb-CR35-KcI.mjs.map → BBreadcrumb-amkzWyz6.mjs.map} +1 -1
- package/dist/{BButton-1yV1UiT7.mjs → BButton-BRvIFnRm.mjs} +5 -5
- package/dist/{BButton-1yV1UiT7.mjs.map → BButton-BRvIFnRm.mjs.map} +1 -1
- package/dist/{BButton-BID3NrxE.js → BButton-DBRs8Pz_.js} +5 -5
- package/dist/{BButton-BID3NrxE.js.map → BButton-DBRs8Pz_.js.map} +1 -1
- package/dist/{BButton-BtCX70_2.mjs → BButton-DNmtqoqR.mjs} +5 -5
- package/dist/{BButton-BtCX70_2.mjs.map → BButton-DNmtqoqR.mjs.map} +1 -1
- package/dist/{BButton-C_bVBx8e.js → BButton-kykTWnBy.js} +5 -5
- package/dist/{BButton-C_bVBx8e.js.map → BButton-kykTWnBy.js.map} +1 -1
- package/dist/{BCard-Vf1haqo5.mjs → BCard-C1G8PO5k.mjs} +6 -6
- package/dist/{BCard-Vf1haqo5.mjs.map → BCard-C1G8PO5k.mjs.map} +1 -1
- package/dist/{BCard-CY6iY456.mjs → BCard-CJ822HyH.mjs} +3 -3
- package/dist/{BCard-CY6iY456.mjs.map → BCard-CJ822HyH.mjs.map} +1 -1
- package/dist/{BCard-D1J5OVRY.js → BCard-CSyEHz8Z.js} +3 -3
- package/dist/{BCard-D1J5OVRY.js.map → BCard-CSyEHz8Z.js.map} +1 -1
- package/dist/{BCard-BIQQg9Rx.js → BCard-CgbTFn3S.js} +6 -6
- package/dist/{BCard-BIQQg9Rx.js.map → BCard-CgbTFn3S.js.map} +1 -1
- package/dist/{BCarousel-BH6WIvJx.js → BCarousel-Be7z13f9.js} +10 -7
- package/dist/BCarousel-Be7z13f9.js.map +1 -0
- package/dist/{BCarousel-C3CA_wGV.mjs → BCarousel-D81alfFC.mjs} +10 -7
- package/dist/BCarousel-D81alfFC.mjs.map +1 -0
- 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-GOE5drq_.js → BCol-0tZmpOme.js} +3 -3
- package/dist/{BCol-GOE5drq_.js.map → BCol-0tZmpOme.js.map} +1 -1
- package/dist/{BCol-BjC3q-su.mjs → BCol-C4v-TOX6.mjs} +3 -3
- package/dist/{BCol-BjC3q-su.mjs.map → BCol-C4v-TOX6.mjs.map} +1 -1
- package/dist/{BCollapse-DqeS5WyB.mjs → BCollapse-D-xTGkX_.mjs} +4 -4
- package/dist/{BCollapse-DqeS5WyB.mjs.map → BCollapse-D-xTGkX_.mjs.map} +1 -1
- package/dist/{BCollapse-BMSZfqqk.js → BCollapse-DZ1z2c8U.js} +4 -4
- package/dist/{BCollapse-BMSZfqqk.js.map → BCollapse-DZ1z2c8U.js.map} +1 -1
- package/dist/{BContainer-CdNYUb9S.js → BContainer-BZUI2qQv.js} +4 -4
- package/dist/{BContainer-CdNYUb9S.js.map → BContainer-BZUI2qQv.js.map} +1 -1
- package/dist/{BContainer-NRhwYcFj.mjs → BContainer-DjIGH6-y.mjs} +4 -4
- package/dist/{BContainer-NRhwYcFj.mjs.map → BContainer-DjIGH6-y.mjs.map} +1 -1
- package/dist/{BDateField-CRFFJ4Sj.mjs → BDateField-BJIq6gs9.mjs} +8 -6
- package/dist/{BDateField-CRFFJ4Sj.mjs.map → BDateField-BJIq6gs9.mjs.map} +1 -1
- package/dist/{BDateField-3Xb73vd-.js → BDateField-RWwEMIwd.js} +17 -15
- package/dist/{BDateField-3Xb73vd-.js.map → BDateField-RWwEMIwd.js.map} +1 -1
- package/dist/{BDatePicker-rdtRZlra.js → BDatePicker-BQN6qZXa.js} +74 -1556
- package/dist/BDatePicker-BQN6qZXa.js.map +1 -0
- package/dist/{BDatePicker-DPtAqGyV.mjs → BDatePicker-DfzZBWjU.mjs} +15 -1497
- package/dist/BDatePicker-DfzZBWjU.mjs.map +1 -0
- package/dist/{BDropdown-k-nulez8.mjs → BDropdown-BW_O8vPQ.mjs} +5 -5
- package/dist/{BDropdown-k-nulez8.mjs.map → BDropdown-BW_O8vPQ.mjs.map} +1 -1
- package/dist/{BDropdown-C2L69dLN.js → BDropdown-C1AxRj81.js} +15 -12
- package/dist/BDropdown-C1AxRj81.js.map +1 -0
- package/dist/{BDropdown-CrgX7oCn.js → BDropdown-CuVOxCzu.js} +5 -5
- package/dist/{BDropdown-CrgX7oCn.js.map → BDropdown-CuVOxCzu.js.map} +1 -1
- package/dist/{BDropdown-CKnx6hUH.mjs → BDropdown-DAHnN54Z.mjs} +15 -12
- package/dist/BDropdown-DAHnN54Z.mjs.map +1 -0
- package/dist/{BForm-B0YEolfQ.js → BForm-Bp7SFxiK.js} +2 -2
- package/dist/{BForm-B0YEolfQ.js.map → BForm-Bp7SFxiK.js.map} +1 -1
- package/dist/{BForm-ppPvhIuu.js → BForm-BqHUnHpU.js} +8 -7
- package/dist/{BForm-ppPvhIuu.js.map → BForm-BqHUnHpU.js.map} +1 -1
- package/dist/{BForm-DZW1uWD-.mjs → BForm-IL7Rf_27.mjs} +7 -6
- package/dist/{BForm-DZW1uWD-.mjs.map → BForm-IL7Rf_27.mjs.map} +1 -1
- package/dist/{BForm-CPHblWb2.mjs → BForm-Oh6PpdcD.mjs} +2 -2
- package/dist/{BForm-CPHblWb2.mjs.map → BForm-Oh6PpdcD.mjs.map} +1 -1
- package/dist/{BFormCheckbox-MEwee9Ij.js → BFormCheckbox-Bdk2rgVe.js} +6 -6
- package/dist/{BFormCheckbox-MEwee9Ij.js.map → BFormCheckbox-Bdk2rgVe.js.map} +1 -1
- package/dist/{BFormCheckbox-CsN1a4jm.mjs → BFormCheckbox-CcDK-lh1.mjs} +6 -6
- package/dist/{BFormCheckbox-CsN1a4jm.mjs.map → BFormCheckbox-CcDK-lh1.mjs.map} +1 -1
- package/dist/{BFormFile-BEHeBj6q.js → BFormFile-BWknj7fW.js} +5 -5
- package/dist/{BFormFile-BEHeBj6q.js.map → BFormFile-BWknj7fW.js.map} +1 -1
- package/dist/{BFormFile-CNtEA98J.mjs → BFormFile-Bf3GMYeX.mjs} +5 -5
- package/dist/{BFormFile-CNtEA98J.mjs.map → BFormFile-Bf3GMYeX.mjs.map} +1 -1
- package/dist/{BFormGroup-DBVGyJ-f.mjs → BFormGroup--38dFj0X.mjs} +9 -9
- package/dist/{BFormGroup-DBVGyJ-f.mjs.map → BFormGroup--38dFj0X.mjs.map} +1 -1
- package/dist/{BFormGroup-CGjb_pUi.js → BFormGroup-BwO1BZD1.js} +9 -9
- package/dist/{BFormGroup-CGjb_pUi.js.map → BFormGroup-BwO1BZD1.js.map} +1 -1
- package/dist/{BFormInput-4vCGzAoO.js → BFormInput-BuRSGYdY.js} +3 -3
- package/dist/{BFormInput-4vCGzAoO.js.map → BFormInput-BuRSGYdY.js.map} +1 -1
- package/dist/{BFormInput-DrZnHCLO.mjs → BFormInput-Dg9dbwHp.mjs} +3 -3
- package/dist/{BFormInput-DrZnHCLO.mjs.map → BFormInput-Dg9dbwHp.mjs.map} +1 -1
- package/dist/{BFormRadio-BXpiJTsS.mjs → BFormRadio-CRDbgMiR.mjs} +6 -6
- package/dist/{BFormRadio-BXpiJTsS.mjs.map → BFormRadio-CRDbgMiR.mjs.map} +1 -1
- package/dist/{BFormRadio-BzHsRe9X.js → BFormRadio-DuVYw-Vs.js} +6 -6
- package/dist/{BFormRadio-BzHsRe9X.js.map → BFormRadio-DuVYw-Vs.js.map} +1 -1
- package/dist/{BFormRating-Cq94zurU.mjs → BFormRating-Bb_ACp-9.mjs} +4 -4
- package/dist/{BFormRating-Cq94zurU.mjs.map → BFormRating-Bb_ACp-9.mjs.map} +1 -1
- package/dist/{BFormRating-_MVRGNOF.js → BFormRating-CNqf91vN.js} +4 -4
- package/dist/{BFormRating-_MVRGNOF.js.map → BFormRating-CNqf91vN.js.map} +1 -1
- package/dist/{BFormSelect-DbpJ_0j-.mjs → BFormSelect-Dg6OwMl-.mjs} +8 -7
- package/dist/{BFormSelect-DbpJ_0j-.mjs.map → BFormSelect-Dg6OwMl-.mjs.map} +1 -1
- package/dist/{BFormSelect-DFa1-5ez.js → BFormSelect-DqSojuY_.js} +10 -9
- package/dist/{BFormSelect-DFa1-5ez.js.map → BFormSelect-DqSojuY_.js.map} +1 -1
- package/dist/BFormSelectOption-BY4P8HOf.js +46 -0
- package/dist/BFormSelectOption-BY4P8HOf.js.map +1 -0
- package/dist/BFormSelectOption-O8cyyv3i.mjs +40 -0
- package/dist/BFormSelectOption-O8cyyv3i.mjs.map +1 -0
- package/dist/{BFormSpinbutton-DmzfRDeR.mjs → BFormSpinbutton-BLO0Yf36.mjs} +6 -6
- package/dist/{BFormSpinbutton-DmzfRDeR.mjs.map → BFormSpinbutton-BLO0Yf36.mjs.map} +1 -1
- package/dist/{BFormSpinbutton-DzJ071Gz.js → BFormSpinbutton-BaOTL1k1.js} +6 -6
- package/dist/{BFormSpinbutton-DzJ071Gz.js.map → BFormSpinbutton-BaOTL1k1.js.map} +1 -1
- package/dist/BFormTag-BUWEugEC.mjs +80 -0
- package/dist/BFormTag-BUWEugEC.mjs.map +1 -0
- package/dist/BFormTag-C7B-bX72.js +86 -0
- package/dist/BFormTag-C7B-bX72.js.map +1 -0
- package/dist/{BFormTags-pK9i3cOB.js → BFormTags-BFA6xbr3.js} +12 -88
- package/dist/BFormTags-BFA6xbr3.js.map +1 -0
- package/dist/{BFormTags-Cobh04P9.mjs → BFormTags-CJb4H67g.mjs} +13 -83
- package/dist/BFormTags-CJb4H67g.mjs.map +1 -0
- package/dist/{BFormTextarea-BtXarcjA.js → BFormTextarea-8c3B3kAI.js} +4 -4
- package/dist/{BFormTextarea-BtXarcjA.js.map → BFormTextarea-8c3B3kAI.js.map} +1 -1
- package/dist/{BFormTextarea-ClcoJrSM.mjs → BFormTextarea-BMk05ojJ.mjs} +4 -4
- package/dist/{BFormTextarea-ClcoJrSM.mjs.map → BFormTextarea-BMk05ojJ.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-Ot8gdDST.js → BFormValidFeedback-DvTgwqSe.js} +3 -3
- package/dist/{BFormValidFeedback-Ot8gdDST.js.map → BFormValidFeedback-DvTgwqSe.js.map} +1 -1
- package/dist/{BFormValidFeedback-foz9BlkH.mjs → BFormValidFeedback-_Dgzm0Ag.mjs} +3 -3
- package/dist/{BFormValidFeedback-foz9BlkH.mjs.map → BFormValidFeedback-_Dgzm0Ag.mjs.map} +1 -1
- package/dist/{BImg-b_3eTiEq.mjs → BImg-BQqZfIM9.mjs} +5 -5
- package/dist/{BImg-b_3eTiEq.mjs.map → BImg-BQqZfIM9.mjs.map} +1 -1
- package/dist/{BImg-BrA0ZRS6.js → BImg-Dyy0N-WQ.js} +5 -5
- package/dist/{BImg-BrA0ZRS6.js.map → BImg-Dyy0N-WQ.js.map} +1 -1
- package/dist/BInputGroup-BScMw6Zr.js +31 -0
- package/dist/BInputGroup-BScMw6Zr.js.map +1 -0
- package/dist/BInputGroup-C7k0tS9j.mjs +25 -0
- package/dist/BInputGroup-C7k0tS9j.mjs.map +1 -0
- package/dist/{BInputGroup-B8fKBtip.mjs → BInputGroup-DpX10xwR.mjs} +4 -22
- package/dist/BInputGroup-DpX10xwR.mjs.map +1 -0
- package/dist/{BInputGroup-Cr0qLUds.js → BInputGroup-Duk6Jk0v.js} +2 -26
- package/dist/BInputGroup-Duk6Jk0v.js.map +1 -0
- 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-BmtN0xQ3.mjs} +3 -3
- package/dist/{BListGroup-ByYmtuCM.mjs.map → BListGroup-BmtN0xQ3.mjs.map} +1 -1
- package/dist/{BListGroup-clQNXk23.js → BListGroup-DuyMdAxJ.js} +3 -3
- package/dist/{BListGroup-clQNXk23.js.map → BListGroup-DuyMdAxJ.js.map} +1 -1
- package/dist/{BModal-TCXrZEZk.mjs → BModal-Br5xLT0-.mjs} +15 -12
- package/dist/BModal-Br5xLT0-.mjs.map +1 -0
- package/dist/{BModal-d3FKaKhA.js → BModal-D0LB339D.js} +15 -12
- package/dist/BModal-D0LB339D.js.map +1 -0
- package/dist/{BNav-BBr8213N.mjs → BNav-BRjdHsjC.mjs} +7 -7
- package/dist/{BNav-BBr8213N.mjs.map → BNav-BRjdHsjC.mjs.map} +1 -1
- package/dist/{BNav-BMAZcVDS.js → BNav-tYBwz1wU.js} +7 -7
- package/dist/{BNav-BMAZcVDS.js.map → BNav-tYBwz1wU.js.map} +1 -1
- package/dist/{BNavbar-BfYFzX1s.js → BNavbar-s9Ak5PnO.js} +6 -6
- package/dist/{BNavbar-BfYFzX1s.js.map → BNavbar-s9Ak5PnO.js.map} +1 -1
- package/dist/{BNavbar-DtgNmsyI.mjs → BNavbar-vN3_CMLn.mjs} +6 -6
- package/dist/{BNavbar-DtgNmsyI.mjs.map → BNavbar-vN3_CMLn.mjs.map} +1 -1
- package/dist/{BOffcanvas-YsVap-9w.js → BOffcanvas-D33pEfZe.js} +14 -11
- package/dist/BOffcanvas-D33pEfZe.js.map +1 -0
- package/dist/{BOffcanvas-BklEA-4x.mjs → BOffcanvas-jETHbtC3.mjs} +14 -11
- package/dist/BOffcanvas-jETHbtC3.mjs.map +1 -0
- package/dist/BOtpInput-CSCoKHP9.js +542 -0
- package/dist/BOtpInput-CSCoKHP9.js.map +1 -0
- package/dist/BOtpInput-Drfkt3x3.mjs +536 -0
- package/dist/BOtpInput-Drfkt3x3.mjs.map +1 -0
- package/dist/{BOverlay-Dg9YM7p1.js → BOverlay-B7vJAdHO.js} +6 -6
- package/dist/{BOverlay-Dg9YM7p1.js.map → BOverlay-B7vJAdHO.js.map} +1 -1
- package/dist/{BOverlay-DOfvBAZb.mjs → BOverlay-BGxH9JVy.mjs} +6 -6
- package/dist/{BOverlay-DOfvBAZb.mjs.map → BOverlay-BGxH9JVy.mjs.map} +1 -1
- package/dist/{BPagination-9P9Xh3cN.js → BPagination-C0-4NVzW.js} +6 -6
- package/dist/{BPagination-9P9Xh3cN.js.map → BPagination-C0-4NVzW.js.map} +1 -1
- package/dist/{BPagination-B868NBmG.mjs → BPagination-CvoSN1He.mjs} +6 -6
- package/dist/{BPagination-B868NBmG.mjs.map → BPagination-CvoSN1He.mjs.map} +1 -1
- package/dist/{BPlaceholder-7UJ3Nyb3.mjs → BPlaceholder-C4AOg29f.mjs} +6 -6
- package/dist/{BPlaceholder-7UJ3Nyb3.mjs.map → BPlaceholder-C4AOg29f.mjs.map} +1 -1
- package/dist/{BPlaceholder-DPEVmogO.js → BPlaceholder-DYYYuNgR.js} +6 -6
- package/dist/{BPlaceholder-DPEVmogO.js.map → BPlaceholder-DYYYuNgR.js.map} +1 -1
- package/dist/{BProgress-Bdf5AncM.mjs → BProgress-BIqo6vLh.mjs} +4 -4
- package/dist/{BProgress-Bdf5AncM.mjs.map → BProgress-BIqo6vLh.mjs.map} +1 -1
- package/dist/{BProgress-CeEIdt1a.js → BProgress-Bc3ZSkac.js} +4 -4
- package/dist/{BProgress-CeEIdt1a.js.map → BProgress-Bc3ZSkac.js.map} +1 -1
- package/dist/{BRow-NaXJzpS-.mjs → BRow-BCEK3fe6.mjs} +4 -4
- package/dist/{BRow-NaXJzpS-.mjs.map → BRow-BCEK3fe6.mjs.map} +1 -1
- package/dist/{BRow-DGi1WkB9.js → BRow-tqMEhkZS.js} +4 -4
- package/dist/{BRow-DGi1WkB9.js.map → BRow-tqMEhkZS.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-BiNbXnsR.js → BTable-Btzu1IJ_.js} +9 -9
- package/dist/{BTable-BiNbXnsR.js.map → BTable-Btzu1IJ_.js.map} +1 -1
- package/dist/{BTable-C__GSYX2.mjs → BTable-CjHMx8Yv.mjs} +9 -9
- package/dist/{BTable-C__GSYX2.mjs.map → BTable-CjHMx8Yv.mjs.map} +1 -1
- package/dist/{BTableSimple-fwaF0Kws.js → BTableSimple-BcdizuDm.js} +5 -5
- package/dist/{BTableSimple-fwaF0Kws.js.map → BTableSimple-BcdizuDm.js.map} +1 -1
- package/dist/{BTableSimple-eebTf2L5.mjs → BTableSimple-C901Z5V9.mjs} +5 -5
- package/dist/{BTableSimple-eebTf2L5.mjs.map → BTableSimple-C901Z5V9.mjs.map} +1 -1
- package/dist/{BTabs-7IT0dhVr.mjs → BTabs-DZEF9kgT.mjs} +7 -7
- package/dist/{BTabs-7IT0dhVr.mjs.map → BTabs-DZEF9kgT.mjs.map} +1 -1
- package/dist/{BTabs-BxwRSBMv.js → BTabs-DiYaJi22.js} +7 -7
- package/dist/{BTabs-BxwRSBMv.js.map → BTabs-DiYaJi22.js.map} +1 -1
- package/dist/{BTimeField-CZw1_K7v.mjs → BTimeField-DSWZeGYP.mjs} +7 -5
- package/dist/{BTimeField-CZw1_K7v.mjs.map → BTimeField-DSWZeGYP.mjs.map} +1 -1
- package/dist/{BTimeField-CngB6NOW.js → BTimeField-VTrtxGkI.js} +18 -16
- package/dist/{BTimeField-CngB6NOW.js.map → BTimeField-VTrtxGkI.js.map} +1 -1
- package/dist/{BToast-IYBku5Nr.mjs → BToast-B2rFKhLD.mjs} +10 -10
- package/dist/{BToast-IYBku5Nr.mjs.map → BToast-B2rFKhLD.mjs.map} +1 -1
- package/dist/{BToast-BraVbf4N.js → BToast-DCSZYXIi.js} +10 -10
- package/dist/{BToast-BraVbf4N.js.map → BToast-DCSZYXIi.js.map} +1 -1
- package/dist/{BTooltip-B2hE5Q6m.js → BTooltip-CryTO-SM.js} +3 -3
- package/dist/{BTooltip-B2hE5Q6m.js.map → BTooltip-CryTO-SM.js.map} +1 -1
- package/dist/{BTooltip-BuK_zb1B.mjs → BTooltip-DtpjIEBu.mjs} +3 -3
- package/dist/{BTooltip-BuK_zb1B.mjs.map → BTooltip-DtpjIEBu.mjs.map} +1 -1
- package/dist/{BootstrapVueOptions-CVxLmDvx.js → BootstrapVueOptions-BC3f7hMU.js} +4 -1
- package/dist/BootstrapVueOptions-BC3f7hMU.js.map +1 -0
- package/dist/{BootstrapVueOptions-Dtdn7_AJ.mjs → BootstrapVueOptions-BU3rzYio.mjs} +4 -1
- package/dist/BootstrapVueOptions-BU3rzYio.mjs.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-Cc7EIszd.js} +1 -1
- package/dist/{ConditionalWrapper-ZqZKYsic.js.map → ConditionalWrapper-Cc7EIszd.js.map} +1 -1
- package/dist/{ConditionalWrapper-BR9CKZNU.mjs → ConditionalWrapper-D9ovtbHB.mjs} +1 -1
- package/dist/{ConditionalWrapper-BR9CKZNU.mjs.map → ConditionalWrapper-D9ovtbHB.mjs.map} +1 -1
- package/dist/{DateRangeFieldInput-bXDqGVUe.js → DateRangeFieldInput-Ce7PM3PJ.js} +22 -20
- package/dist/{DateRangeFieldInput-bXDqGVUe.js.map → DateRangeFieldInput-Ce7PM3PJ.js.map} +1 -1
- package/dist/{DateRangeFieldInput-bA6IK9lx.mjs → DateRangeFieldInput-DiVuhf4Y.mjs} +5 -3
- package/dist/{DateRangeFieldInput-bA6IK9lx.mjs.map → DateRangeFieldInput-DiVuhf4Y.mjs.map} +1 -1
- package/dist/PopperContent-BTUvv6Tu.mjs +1431 -0
- package/dist/PopperContent-BTUvv6Tu.mjs.map +1 -0
- package/dist/PopperContent-CSwv2Fih.js +1515 -0
- package/dist/PopperContent-CSwv2Fih.js.map +1 -0
- package/dist/VisuallyHidden-Bbwok8oL.mjs +174 -0
- package/dist/VisuallyHidden-Bbwok8oL.mjs.map +1 -0
- package/dist/VisuallyHidden-DaN947I0.js +222 -0
- package/dist/VisuallyHidden-DaN947I0.js.map +1 -0
- package/dist/VisuallyHiddenInput-Biq4Qv5j.js +147 -0
- package/dist/VisuallyHiddenInput-Biq4Qv5j.js.map +1 -0
- package/dist/VisuallyHiddenInput-D1SjTCVH.mjs +141 -0
- package/dist/VisuallyHiddenInput-D1SjTCVH.mjs.map +1 -0
- package/dist/bootstrap-vue-next.css +147 -0
- package/dist/bootstrap-vue-next.mjs +62 -57
- package/dist/bootstrap-vue-next.umd.js +67 -59
- 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/BAutocomplete/BAutocomplete.vue.d.mts +65 -0
- package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +65 -0
- package/dist/components/BAutocomplete/index.d.mts +1 -0
- package/dist/components/BAutocomplete/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/BDateField/BDateField.vue.d.mts +1 -1
- package/dist/components/BDateField/BDateField.vue.d.ts +1 -1
- package/dist/components/BDateField/BDateRangeField.vue.d.mts +1 -1
- package/dist/components/BDateField/BDateRangeField.vue.d.ts +1 -1
- package/dist/components/BDateField/BTimeRangeField.vue.d.mts +4 -4
- package/dist/components/BDateField/BTimeRangeField.vue.d.ts +4 -4
- package/dist/components/BDatePicker/BDatePicker.vue.d.mts +4 -4
- package/dist/components/BDatePicker/BDatePicker.vue.d.ts +4 -4
- package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +4 -4
- package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +4 -4
- package/dist/components/BDropdown/BDropdown.vue.d.mts +2 -2
- package/dist/components/BDropdown/BDropdown.vue.d.ts +2 -2
- package/dist/components/BForm/BFormDatalistBase.vue.d.mts +5 -5
- package/dist/components/BForm/BFormDatalistBase.vue.d.ts +5 -5
- 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/BFormSelect/BFormSelectBase.vue.d.mts +4 -4
- package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +4 -4
- 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/BModal/BModal.vue.d.mts +1 -1
- package/dist/components/BModal/BModal.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/BOtpInput/BOtpInput.vue.d.mts +32 -0
- package/dist/components/BOtpInput/BOtpInput.vue.d.ts +32 -0
- package/dist/components/BOtpInput/index.d.mts +1 -0
- package/dist/components/BOtpInput/index.d.ts +1 -0
- 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/BTable/BTable.vue.d.mts +3 -3
- package/dist/components/BTable/BTable.vue.d.ts +3 -3
- package/dist/components/BTabs/BTabs.vue.d.mts +1 -1
- package/dist/components/BTabs/BTabs.vue.d.ts +1 -1
- package/dist/components/BTimeField/BTimeField.vue.d.mts +1 -1
- package/dist/components/BTimeField/BTimeField.vue.d.ts +1 -1
- package/dist/components/index.d.mts +3 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/composables/useFormSelect.d.mts +10 -4
- package/dist/composables/useFormSelect.d.ts +10 -4
- 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-C-5Oukxb.js} +2 -2
- package/dist/{debounce-BfDJWP7y.js.map → debounce-C-5Oukxb.js.map} +1 -1
- package/dist/{debounce-BIVtU5ek.mjs → debounce-C_wjWVGH.mjs} +2 -2
- package/dist/{debounce-BIVtU5ek.mjs.map → debounce-C_wjWVGH.mjs.map} +1 -1
- package/dist/{dist-Dn5blevd.mjs → dist-B10a-gZ8.mjs} +34 -2
- package/dist/{dist-Dn5blevd.mjs.map → dist-B10a-gZ8.mjs.map} +1 -1
- package/dist/{dist-B_c893QG.js → dist-BJ15ThEs.js} +45 -1
- package/dist/{dist-B_c893QG.js.map → dist-BJ15ThEs.js.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-CcfLuVCZ.mjs → floating-ui.vue-CAMaNcqI.mjs} +1 -1
- package/dist/{floating-ui.vue-CcfLuVCZ.mjs.map → floating-ui.vue-CAMaNcqI.mjs.map} +1 -1
- package/dist/{floating-ui.vue-B09oeNTW.js → floating-ui.vue-GXIS2sFG.js} +1 -1
- package/dist/{floating-ui.vue-B09oeNTW.js.map → floating-ui.vue-GXIS2sFG.js.map} +1 -1
- package/dist/{floatingUi-BLlCKrbj.js → floatingUi-Cs4rDXmO.js} +8 -8
- package/dist/{floatingUi-BLlCKrbj.js.map → floatingUi-Cs4rDXmO.js.map} +1 -1
- package/dist/{floatingUi-9NcUa5r7.mjs → floatingUi-DHMrP__c.mjs} +8 -8
- package/dist/{floatingUi-9NcUa5r7.mjs.map → floatingUi-DHMrP__c.mjs.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-_sZDgS-l.mjs → getClasses-DaWzwT2S.mjs} +1 -1
- package/dist/{getClasses-_sZDgS-l.mjs.map → getClasses-DaWzwT2S.mjs.map} +1 -1
- package/dist/{getClasses-BQLj0MHF.js → getClasses-qqI6x4f4.js} +1 -1
- package/dist/{getClasses-BQLj0MHF.js.map → getClasses-qqI6x4f4.js.map} +1 -1
- package/dist/{getElement-D5DvkPzw.mjs → getElement-0_htvrFw.mjs} +1 -1
- package/dist/{getElement-D5DvkPzw.mjs.map → getElement-0_htvrFw.mjs.map} +1 -1
- package/dist/{getElement-BXXYfxYW.js → getElement-CxWWOx3K.js} +1 -1
- package/dist/{getElement-BXXYfxYW.js.map → getElement-CxWWOx3K.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-C1Ti_nxW.mjs} +1 -1
- package/dist/{registryAccess-B4xlltdn.mjs.map → registryAccess-C1Ti_nxW.mjs.map} +1 -1
- package/dist/{registryAccess-Be_uJ4EV.js → registryAccess-D-YxwQJq.js} +1 -1
- package/dist/{registryAccess-Be_uJ4EV.js.map → registryAccess-D-YxwQJq.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/BAutocomplete/index.mjs +2 -0
- package/dist/src/components/BAutocomplete/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 +3 -3
- package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
- package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
- package/dist/src/components/BFormTags/index.mjs +2 -1
- package/dist/src/components/BFormTags/index.umd.js +3 -2
- package/dist/src/components/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BFormTextarea/index.umd.js +1 -1
- package/dist/src/components/BImg/index.mjs +1 -1
- package/dist/src/components/BImg/index.umd.js +1 -1
- package/dist/src/components/BInputGroup/index.mjs +2 -1
- package/dist/src/components/BInputGroup/index.umd.js +3 -2
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BLink/index.umd.js +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.umd.js +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BNavbar/index.umd.js +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.umd.js +1 -1
- package/dist/src/components/BOtpInput/index.mjs +2 -0
- package/dist/src/components/BOtpInput/index.umd.js +3 -0
- 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 +64 -55
- package/dist/src/components/index.mjs.map +1 -1
- package/dist/src/components/index.umd.js +72 -60
- package/dist/src/components/index.umd.js.map +1 -1
- package/dist/src/composables/useColorMode/index.mjs +1 -1
- package/dist/src/composables/useColorMode/index.umd.js +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/useScrollLock/index.mjs +1 -1
- package/dist/src/composables/useScrollLock/index.umd.js +1 -1
- package/dist/src/composables/useScrollspy/index.mjs +2 -2
- package/dist/src/composables/useScrollspy/index.umd.js +2 -2
- 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 +7 -1
- package/dist/types/BootstrapVueOptions.d.ts +7 -1
- package/dist/types/ComponentProps.d.mts +63 -3
- package/dist/types/ComponentProps.d.ts +63 -3
- package/dist/types/ComponentSlots.d.mts +17 -0
- package/dist/types/ComponentSlots.d.ts +17 -0
- package/dist/{useAlignment-CwuLc9mf.mjs → useAlignment-BiCREohQ.mjs} +1 -1
- package/dist/{useAlignment-CwuLc9mf.mjs.map → useAlignment-BiCREohQ.mjs.map} +1 -1
- package/dist/{useAlignment-CY-mnB2p.js → useAlignment-D5xKBRez.js} +1 -1
- package/dist/{useAlignment-CY-mnB2p.js.map → useAlignment-D5xKBRez.js.map} +1 -1
- package/dist/{useAriaInvalid-BYMq9BBX.js → useAriaInvalid-CHHPHNLU.js} +1 -1
- package/dist/{useAriaInvalid-BYMq9BBX.js.map → useAriaInvalid-CHHPHNLU.js.map} +1 -1
- package/dist/{useAriaInvalid-01Dd60GC.mjs → useAriaInvalid-apOwgexm.mjs} +1 -1
- package/dist/{useAriaInvalid-01Dd60GC.mjs.map → useAriaInvalid-apOwgexm.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-8bwLWYoN.js} +2 -2
- package/dist/{useCountdownHover-CaF8_TRT.js.map → useCountdownHover-8bwLWYoN.js.map} +1 -1
- package/dist/{useCountdownHover-CTM7QEJ-.mjs → useCountdownHover-t9O7DHoK.mjs} +2 -2
- package/dist/{useCountdownHover-CTM7QEJ-.mjs.map → useCountdownHover-t9O7DHoK.mjs.map} +1 -1
- package/dist/{useDateField-qsRHISMn.js → useDateField-COTiu3aN.js} +8 -321
- package/dist/useDateField-COTiu3aN.js.map +1 -0
- package/dist/{useDateField-PQjSLAVI.mjs → useDateField-DmmXa0_5.mjs} +5 -258
- package/dist/useDateField-DmmXa0_5.mjs.map +1 -0
- 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-CJvIDxcO.mjs} +3 -3
- package/dist/{useFormCheck-TOhpqkZ9.mjs.map → useFormCheck-CJvIDxcO.mjs.map} +1 -1
- package/dist/{useFormCheck-DXM9Wj2i.js → useFormCheck-UHNy_iZ0.js} +3 -3
- package/dist/{useFormCheck-DXM9Wj2i.js.map → useFormCheck-UHNy_iZ0.js.map} +1 -1
- package/dist/{useFormInput-DeJGz9t9.mjs → useFormInput-BgJCT9k_.mjs} +6 -6
- package/dist/{useFormInput-DeJGz9t9.mjs.map → useFormInput-BgJCT9k_.mjs.map} +1 -1
- package/dist/{useFormInput-AX7ikSmn.js → useFormInput-CsR38QR6.js} +6 -6
- package/dist/{useFormInput-AX7ikSmn.js.map → useFormInput-CsR38QR6.js.map} +1 -1
- package/dist/useFormSelect-CANw3ZJG.mjs +45 -0
- package/dist/useFormSelect-CANw3ZJG.mjs.map +1 -0
- package/dist/useFormSelect-nQbGZSi8.js +51 -0
- package/dist/useFormSelect-nQbGZSi8.js.map +1 -0
- package/dist/useForwardExpose-4OUimdPL.mjs +68 -0
- package/dist/useForwardExpose-4OUimdPL.mjs.map +1 -0
- package/dist/useForwardExpose-DrJOy0jY.js +80 -0
- package/dist/useForwardExpose-DrJOy0jY.js.map +1 -0
- 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/useKbd-IZRktImL.mjs +88 -0
- package/dist/useKbd-IZRktImL.mjs.map +1 -0
- package/dist/useKbd-ZZushx7D.js +105 -0
- package/dist/useKbd-ZZushx7D.js.map +1 -0
- package/dist/{useNumberishToStyle-uj-NwKpF.mjs → useNumberishToStyle-DEqGK1UH.mjs} +2 -2
- package/dist/{useNumberishToStyle-uj-NwKpF.mjs.map → useNumberishToStyle-DEqGK1UH.mjs.map} +1 -1
- package/dist/{useNumberishToStyle-CluQ-WT4.js → useNumberishToStyle-DFf9fokb.js} +2 -2
- package/dist/{useNumberishToStyle-CluQ-WT4.js.map → useNumberishToStyle-DFf9fokb.js.map} +1 -1
- package/dist/{useRadiusElementClasses-CyDq8RO7.mjs → useRadiusElementClasses-BlrN-T6U.mjs} +1 -1
- package/dist/{useRadiusElementClasses-CyDq8RO7.mjs.map → useRadiusElementClasses-BlrN-T6U.mjs.map} +1 -1
- package/dist/{useRadiusElementClasses-D6FwziNh.js → useRadiusElementClasses-C13_PhPM.js} +1 -1
- package/dist/{useRadiusElementClasses-D6FwziNh.js.map → useRadiusElementClasses-C13_PhPM.js.map} +1 -1
- package/dist/{useRtl-BlPLBmTe.js → useRtl-DXAooTrl.js} +1 -1
- package/dist/{useRtl-BlPLBmTe.js.map → useRtl-DXAooTrl.js.map} +1 -1
- package/dist/{useRtl-DQ5v5L9s.mjs → useRtl-DpwU_RM8.mjs} +1 -1
- package/dist/{useRtl-DQ5v5L9s.mjs.map → useRtl-DpwU_RM8.mjs.map} +1 -1
- package/dist/{useSafeScrollLock-CP2B7aXF.js → useSafeScrollLock-Bm9RxDoY.js} +2 -2
- package/dist/{useSafeScrollLock-CP2B7aXF.js.map → useSafeScrollLock-Bm9RxDoY.js.map} +1 -1
- package/dist/{useSafeScrollLock-C9UxwgUo.mjs → useSafeScrollLock-D62o8jto.mjs} +2 -2
- package/dist/{useSafeScrollLock-C9UxwgUo.mjs.map → useSafeScrollLock-D62o8jto.mjs.map} +1 -1
- package/dist/{useShowHide-BFr32vgn.js → useShowHide-BTCaeU5j.js} +5 -5
- package/dist/useShowHide-BTCaeU5j.js.map +1 -0
- package/dist/{useShowHide-wBe7O9iE.mjs → useShowHide-yAK5dhPT.mjs} +5 -5
- package/dist/useShowHide-yAK5dhPT.mjs.map +1 -0
- package/dist/{useStateClass-Cnvy2Hnm.js → useStateClass-CJ24hpkn.js} +1 -1
- package/dist/{useStateClass-Cnvy2Hnm.js.map → useStateClass-CJ24hpkn.js.map} +1 -1
- package/dist/{useStateClass-DKjpw1Pn.mjs → useStateClass-CdmlbrGn.mjs} +1 -1
- package/dist/{useStateClass-DKjpw1Pn.mjs.map → useStateClass-CdmlbrGn.mjs.map} +1 -1
- package/dist/{utils-CY6CnVNO.js → utils-CaC78Zdk.js} +2 -2
- package/dist/{utils-CY6CnVNO.js.map → utils-CaC78Zdk.js.map} +1 -1
- package/dist/{utils-C-oJqlar.mjs → utils-CgwCsk6U.mjs} +2 -2
- package/dist/{utils-C-oJqlar.mjs.map → utils-CgwCsk6U.mjs.map} +1 -1
- package/package.json +9 -1
- package/src/components/BAutocomplete/_autocomplete.scss +136 -0
- package/src/components/BOtpInput/_otp-input.scss +29 -0
- package/src/styles/styles.scss +2 -0
- package/dist/BCarousel-BH6WIvJx.js.map +0 -1
- package/dist/BCarousel-C3CA_wGV.mjs.map +0 -1
- package/dist/BDatePicker-DPtAqGyV.mjs.map +0 -1
- package/dist/BDatePicker-rdtRZlra.js.map +0 -1
- package/dist/BDropdown-C2L69dLN.js.map +0 -1
- package/dist/BDropdown-CKnx6hUH.mjs.map +0 -1
- package/dist/BFormTags-Cobh04P9.mjs.map +0 -1
- package/dist/BFormTags-pK9i3cOB.js.map +0 -1
- package/dist/BInputGroup-B8fKBtip.mjs.map +0 -1
- package/dist/BInputGroup-Cr0qLUds.js.map +0 -1
- package/dist/BModal-TCXrZEZk.mjs.map +0 -1
- package/dist/BModal-d3FKaKhA.js.map +0 -1
- package/dist/BOffcanvas-BklEA-4x.mjs.map +0 -1
- package/dist/BOffcanvas-YsVap-9w.js.map +0 -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
- package/dist/useDateField-PQjSLAVI.mjs.map +0 -1
- package/dist/useDateField-qsRHISMn.js.map +0 -1
- package/dist/useFormSelect-DCThI8EA.js +0 -92
- package/dist/useFormSelect-DCThI8EA.js.map +0 -1
- package/dist/useFormSelect-_-ln6FKQ.mjs +0 -80
- package/dist/useFormSelect-_-ln6FKQ.mjs.map +0 -1
- package/dist/useShowHide-BFr32vgn.js.map +0 -1
- package/dist/useShowHide-wBe7O9iE.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BPagination-B868NBmG.mjs","names":[],"sources":["../src/components/BPagination/BPagination.vue","../src/components/BPagination/BPagination.vue"],"sourcesContent":["<template>\n <ul\n class=\"pagination\"\n :class=\"computedWrapperClasses\"\n role=\"menubar\"\n :aria-disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel || undefined\"\n @keydown=\"handleKeyNav\"\n >\n <li\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page.id}`\"\n v-bind=\"page.li\"\n ref=\"_pageElements\"\n :displayIndex=\"index\"\n >\n <span\n v-if=\"page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS\"\n v-bind=\"ellipsisProps.span\"\n >\n <slot name=\"ellipsis-text\">\n {{ props.ellipsisText || '...' }}\n </slot>\n </span>\n <component\n v-bind=\"page.button\"\n :is=\"page.button.is\"\n v-else-if=\"'button' in page\"\n @click=\"page.clickHandler\"\n >\n <slot\n :name=\"page.text.name\"\n :disabled=\"page.text.disabled\"\n :page=\"page.text.page\"\n :index=\"page.text.index\"\n :active=\"page.text.active ?? false\"\n :content=\"page.text.value\"\n >\n {{ page.text.value }}\n </slot>\n </component>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvEvent} from '../../utils'\nimport {computed, nextTick, useTemplateRef, watch} from 'vue'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ClassValue} from '../../types/AnyValuedAttributes'\nimport {CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement} from '../../utils/dom'\nimport {type BPaginationEmits, type BPaginationSlots, type BPaginationProps} from '../../types'\n\n// Threshold of limit size when we start/stop showing ellipsis\nconst ELLIPSIS_THRESHOLD = 3\n\nconst FIRST_BUTTON = -1\nconst PREV_BUTTON = -2\nconst NEXT_BUTTON = -3\nconst LAST_BUTTON = -4\nconst FIRST_ELLIPSIS = -5\nconst LAST_ELLIPSIS = -6\n\nconst _props = withDefaults(defineProps<Omit<BPaginationProps, 'modelValue'>>(), {\n align: 'start',\n ariaControls: undefined,\n ariaLabel: 'Pagination',\n disabled: false,\n ellipsisClass: undefined,\n ellipsisText: '\\u2026',\n firstClass: undefined,\n firstNumber: false,\n firstText: '\\u00AB',\n noEllipsis: false,\n noGotoEndButtons: false,\n labelFirstPage: 'Go to first page',\n labelLastPage: 'Go to last page',\n labelNextPage: 'Go to next page',\n labelPage: 'Go to page',\n labelPrevPage: 'Go to previous page',\n lastClass: undefined,\n lastNumber: false,\n lastText: '\\u00BB',\n limit: 5,\n nextClass: undefined,\n nextText: '\\u203A',\n pageClass: undefined,\n perPage: DEFAULT_PER_PAGE,\n pills: false,\n prevClass: undefined,\n prevText: '\\u2039',\n size: undefined,\n totalRows: DEFAULT_TOTAL_ROWS,\n})\nconst props = useDefaults(_props, 'BPagination')\nconst emit = defineEmits<BPaginationEmits>()\ndefineSlots<BPaginationSlots>()\n\nconst modelValue = defineModel<Exclude<BPaginationProps['modelValue'], undefined>>({\n default: 1,\n})\n\nconst pageElements = useTemplateRef('_pageElements')\n\nconst limitNumber = useToNumber(() => props.limit, {nanToZero: true, method: 'parseInt'})\nconst perPageNumber = useToNumber(() => props.perPage, {nanToZero: true, method: 'parseInt'})\nconst totalRowsNumber = useToNumber(() => props.totalRows, {nanToZero: true, method: 'parseInt'})\nconst modelValueNumber = useToNumber(modelValue, {nanToZero: true, method: 'parseInt'})\n\nconst perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1))\nconst totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0))\n// Use Active to on page-item to denote active tab\nconst numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value))\nconst computedFill = computed(() => props.align === 'fill')\n// This doesn't use the computedFill util because TS cannot infer that it would never be 'fill'\nconst justifyAlign = computed(() => (props.align === 'fill' ? 'start' : props.align))\n\nconst alignment = useAlignment(justifyAlign)\n\nconst isActivePage = (pageNumber: number) => pageNumber === computedModelValue.value\nconst getTabIndex = (num: number) => (props.disabled ? null : isActivePage(num) ? '0' : '-1')\n\nconst checkDisabled = (num: number) =>\n props.disabled ||\n isActivePage(num) ||\n computedModelValue.value < 1 ||\n // Check if the number is out of bounds\n num < 1 ||\n num > numberOfPages.value\n\nconst firstDisabled = computed(() => checkDisabled(1))\nconst prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1))\nconst lastDisabled = computed(() => checkDisabled(numberOfPages.value))\nconst nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1))\n\nconst getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n tabIndex?: string\n label?: string\n position?: number\n isActive?: boolean\n hidden?: boolean\n isSmHidden?: boolean\n}) => ({\n li: {\n 'class': [\n 'page-item',\n {\n 'active': isActive,\n disabled,\n 'bv-d-sm-down-none': isSmHidden,\n 'flex-fill': computedFill.value,\n 'd-flex': computedFill.value && !disabled,\n },\n classVal,\n ],\n 'role': 'presentation',\n 'aria-hidden': hidden,\n },\n button: {\n 'is': disabled ? 'span' : 'button',\n 'class': ['page-link', 'text-center', {'flex-grow-1': !disabled && computedFill.value}],\n 'aria-label': label,\n 'aria-controls': props.ariaControls || undefined,\n 'aria-disabled': disabled ? true : undefined,\n 'aria-posinset': position,\n 'aria-setsize': position ? numberOfPages.value : undefined,\n 'role': 'menuitem',\n 'type': disabled ? undefined : 'button',\n 'tabindex': disabled ? undefined : tabIndex,\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? undefined : String(page),\n },\n clickHandler: (e: Readonly<MouseEvent>) => pageClick(e, page),\n})\n\nconst getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n label: string\n}) => getBaseButtonProps({page, classVal, disabled, slotName, textValue, label, tabIndex: '-1'})\n\nconst getPageButtonProps = (page: number, isSmHidden?: boolean) =>\n getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: 'page',\n label: props.labelPage ? `${props.labelPage} ${page}` : undefined,\n tabIndex: getTabIndex(page) ?? undefined,\n position: page,\n isActive: isActivePage(page),\n isSmHidden,\n })\n\nconst firstButtonProps = computed(() =>\n getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: 'first-text',\n textValue: props.firstText,\n label: props.labelFirstPage,\n })\n)\nconst prevButtonProps = computed(() =>\n getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: 'prev-text',\n textValue: props.prevText,\n label: props.labelPrevPage,\n })\n)\nconst nextButtonProps = computed(() =>\n getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: 'next-text',\n textValue: props.nextText,\n label: props.labelNextPage,\n })\n)\nconst lastButtonProps = computed(() =>\n getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: 'last-text',\n textValue: props.lastText,\n label: props.labelLastPage,\n })\n)\n\nconst ellipsisProps = computed(() => ({\n li: {\n class: [\n 'page-item',\n 'disabled',\n 'text-center',\n 'bv-d-sm-down-none',\n computedFill.value ? 'flex-fill' : '',\n props.ellipsisClass,\n ],\n role: 'separator',\n },\n span: {\n class: ['page-link'],\n },\n}))\n\nconst computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== undefined,\n 'b-pagination-pills': props.pills,\n },\n])\n\nconst pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value,\n}))\n\nconst pageClick = (event: Readonly<MouseEvent>, pageNumber: number) => {\n if (pageNumber === computedModelValue.value) return\n const clickEvent = new BvEvent('page-click', {\n cancelable: true,\n target: event.target,\n })\n emit('page-click', clickEvent, pageNumber)\n\n if (clickEvent.defaultPrevented) return\n\n modelValue.value = pageNumber\n\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst()\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast()\n }\n })\n // nextTick(() => {\n // if (isVisible(target) && un_element.contains(target)) {\n // attemptFocus(target)\n //} else {\n //this.focusCurrent()\n //}\n // })\n}\n\nconst isDisabled = (el: HTMLButtonElement) => {\n const isElement = el && el.nodeType === Node.ELEMENT_NODE\n const hasAttr = isElement ? el.hasAttribute('disabled') : null\n const hasClass = isElement && el.classList ? el.classList.contains('disabled') : false\n\n return !isElement || el.disabled || hasAttr || hasClass\n}\n\nconst getButtons = (): HTMLButtonElement[] =>\n [...(pageElements.value ?? [])]\n .sort(\n (a, b) =>\n Number.parseInt(a.getAttribute('displayIndex') || '0') -\n Number.parseInt(b.getAttribute('displayIndex') || '0')\n )\n .map((page) => page.children[0])\n .filter((el) => {\n if (el?.getAttribute('display') === 'none' || el?.tagName.toUpperCase() !== 'BUTTON') {\n return false\n }\n\n const bcr = el?.getBoundingClientRect()\n\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n })\n .map((el) => el as HTMLButtonElement)\n\nconst focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n\n const button = buttons[index - 1]\n if (index > 0 && button !== undefined && !isDisabled(button)) {\n buttons[index - 1]?.focus()\n }\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const btn = getButtons()\n .reverse()\n .find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n const button = buttons[index + 1]\n if (index < buttons.length - 1 && button !== undefined && !isDisabled(button)) {\n buttons[index + 1]?.focus()\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n const {code, shiftKey} = event\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n }\n}\n\nconst computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page\n})\n\nwatch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n modelValue.value = 1\n }\n})\n\nconst noFirstButton = computed(() => (props.noGotoEndButtons && !props.firstNumber ? 1 : 0))\nconst noLastButton = computed(() => (props.noGotoEndButtons && !props.lastNumber ? 1 : 0))\nconst showFirstButton = computed(() => (noFirstButton.value ? 0 : 1))\nconst showLastButton = computed(() => (noLastButton.value ? 0 : 1))\nconst firstPage = computed(() => (props.firstNumber ? 1 : 0))\nconst lastPage = computed(() => (props.lastNumber ? 1 : 0))\nconst halfLimit = computed(() => Math.floor(limitNumber.value / 2))\n\nconst pages = computed(() => {\n const {value} = computedModelValue\n\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return {id: p, ...firstButtonProps.value}\n case PREV_BUTTON:\n return {id: p, ...prevButtonProps.value}\n case NEXT_BUTTON:\n return {id: p, ...nextButtonProps.value}\n case LAST_BUTTON:\n return {id: p, ...lastButtonProps.value}\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return {id: p, ...ellipsisProps.value}\n default:\n return {id: p, ...getPageButtonProps(p)}\n }\n })\n\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value)\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n }\n\n return els\n})\n\nconst elements = computed(() => {\n // The idea here is to create an array of all the buttons on the page control.\n // This way we can keep the invariants in one place and the template code just\n // iterates over the array.\n\n const pages = numberOfPages.value\n const {value} = computedModelValue\n const limit = limitNumber.value\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD\n\n // The first case is when all of the page buttons fit on the control, this is\n // the simplest case and the only one that will create an array smaller than\n // Limit + 4 - noEndButtons * 2 (the [first, last,] prev, next buttons)\n\n if (pages < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({length: pages}, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null,\n ].filter((x) => x !== null) as number[]\n }\n\n // All of the remaining cases result in an array that is exactly limit + 4 - noEndButtons * 2 in length, so create\n // the array upfront and set up the beginning and end buttons, then fill the rest for each case\n\n const buttons = Array.from({length: limit + 4 - (noFirstButton.value + noLastButton.value)})\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON\n buttons[1] = PREV_BUTTON\n } else {\n buttons[0] = PREV_BUTTON\n buttons[1] = 1\n }\n } else {\n buttons[0] = PREV_BUTTON\n }\n\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON\n buttons[buttons.length - 2] = NEXT_BUTTON\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n buttons[buttons.length - 2] = pages\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n }\n\n // The next case is where the page buttons start at the begginning, with\n // no ellipsis at the beginning, but one at the end\n\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value\n }\n\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n // And then we have the case where the page buttons go up to the end, with no\n // ellipsis at the end, but one at the beginning\n\n if (value > pages - halfLimit.value - lastPage.value) {\n const start = pages - (limit - 1) - lastPage.value\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n }\n }\n\n // Finally we have the case where we have ellipsis at both ends\n if (!buttons[2]) {\n // Is there a more elegant way to ceck that we're in the final case?\n const start = value - Math.floor(limit / 2)\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n //Enable sanity check for debugging purposes\n // for (let i = 0; i < buttons.length; i++) {\n // if (!buttons[i]) {\n // // eslint-disable-next-line no-console\n // console.log(\n // `Failed: button == ${i}, limit=${limit}, pages=${pages}, firstPage=${firstPage}, lastPage=${lastPage}, value=${value}`\n // )\n // }\n // }\n\n return buttons.filter((x) => x !== null) as number[]\n})\n</script>\n\n<script lang=\"ts\">\nconst DEFAULT_PER_PAGE = 20\nconst DEFAULT_TOTAL_ROWS = 0\n</script>\n","<template>\n <ul\n class=\"pagination\"\n :class=\"computedWrapperClasses\"\n role=\"menubar\"\n :aria-disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel || undefined\"\n @keydown=\"handleKeyNav\"\n >\n <li\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page.id}`\"\n v-bind=\"page.li\"\n ref=\"_pageElements\"\n :displayIndex=\"index\"\n >\n <span\n v-if=\"page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS\"\n v-bind=\"ellipsisProps.span\"\n >\n <slot name=\"ellipsis-text\">\n {{ props.ellipsisText || '...' }}\n </slot>\n </span>\n <component\n v-bind=\"page.button\"\n :is=\"page.button.is\"\n v-else-if=\"'button' in page\"\n @click=\"page.clickHandler\"\n >\n <slot\n :name=\"page.text.name\"\n :disabled=\"page.text.disabled\"\n :page=\"page.text.page\"\n :index=\"page.text.index\"\n :active=\"page.text.active ?? false\"\n :content=\"page.text.value\"\n >\n {{ page.text.value }}\n </slot>\n </component>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvEvent} from '../../utils'\nimport {computed, nextTick, useTemplateRef, watch} from 'vue'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ClassValue} from '../../types/AnyValuedAttributes'\nimport {CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement} from '../../utils/dom'\nimport {type BPaginationEmits, type BPaginationSlots, type BPaginationProps} from '../../types'\n\n// Threshold of limit size when we start/stop showing ellipsis\nconst ELLIPSIS_THRESHOLD = 3\n\nconst FIRST_BUTTON = -1\nconst PREV_BUTTON = -2\nconst NEXT_BUTTON = -3\nconst LAST_BUTTON = -4\nconst FIRST_ELLIPSIS = -5\nconst LAST_ELLIPSIS = -6\n\nconst _props = withDefaults(defineProps<Omit<BPaginationProps, 'modelValue'>>(), {\n align: 'start',\n ariaControls: undefined,\n ariaLabel: 'Pagination',\n disabled: false,\n ellipsisClass: undefined,\n ellipsisText: '\\u2026',\n firstClass: undefined,\n firstNumber: false,\n firstText: '\\u00AB',\n noEllipsis: false,\n noGotoEndButtons: false,\n labelFirstPage: 'Go to first page',\n labelLastPage: 'Go to last page',\n labelNextPage: 'Go to next page',\n labelPage: 'Go to page',\n labelPrevPage: 'Go to previous page',\n lastClass: undefined,\n lastNumber: false,\n lastText: '\\u00BB',\n limit: 5,\n nextClass: undefined,\n nextText: '\\u203A',\n pageClass: undefined,\n perPage: DEFAULT_PER_PAGE,\n pills: false,\n prevClass: undefined,\n prevText: '\\u2039',\n size: undefined,\n totalRows: DEFAULT_TOTAL_ROWS,\n})\nconst props = useDefaults(_props, 'BPagination')\nconst emit = defineEmits<BPaginationEmits>()\ndefineSlots<BPaginationSlots>()\n\nconst modelValue = defineModel<Exclude<BPaginationProps['modelValue'], undefined>>({\n default: 1,\n})\n\nconst pageElements = useTemplateRef('_pageElements')\n\nconst limitNumber = useToNumber(() => props.limit, {nanToZero: true, method: 'parseInt'})\nconst perPageNumber = useToNumber(() => props.perPage, {nanToZero: true, method: 'parseInt'})\nconst totalRowsNumber = useToNumber(() => props.totalRows, {nanToZero: true, method: 'parseInt'})\nconst modelValueNumber = useToNumber(modelValue, {nanToZero: true, method: 'parseInt'})\n\nconst perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1))\nconst totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0))\n// Use Active to on page-item to denote active tab\nconst numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value))\nconst computedFill = computed(() => props.align === 'fill')\n// This doesn't use the computedFill util because TS cannot infer that it would never be 'fill'\nconst justifyAlign = computed(() => (props.align === 'fill' ? 'start' : props.align))\n\nconst alignment = useAlignment(justifyAlign)\n\nconst isActivePage = (pageNumber: number) => pageNumber === computedModelValue.value\nconst getTabIndex = (num: number) => (props.disabled ? null : isActivePage(num) ? '0' : '-1')\n\nconst checkDisabled = (num: number) =>\n props.disabled ||\n isActivePage(num) ||\n computedModelValue.value < 1 ||\n // Check if the number is out of bounds\n num < 1 ||\n num > numberOfPages.value\n\nconst firstDisabled = computed(() => checkDisabled(1))\nconst prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1))\nconst lastDisabled = computed(() => checkDisabled(numberOfPages.value))\nconst nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1))\n\nconst getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n tabIndex?: string\n label?: string\n position?: number\n isActive?: boolean\n hidden?: boolean\n isSmHidden?: boolean\n}) => ({\n li: {\n 'class': [\n 'page-item',\n {\n 'active': isActive,\n disabled,\n 'bv-d-sm-down-none': isSmHidden,\n 'flex-fill': computedFill.value,\n 'd-flex': computedFill.value && !disabled,\n },\n classVal,\n ],\n 'role': 'presentation',\n 'aria-hidden': hidden,\n },\n button: {\n 'is': disabled ? 'span' : 'button',\n 'class': ['page-link', 'text-center', {'flex-grow-1': !disabled && computedFill.value}],\n 'aria-label': label,\n 'aria-controls': props.ariaControls || undefined,\n 'aria-disabled': disabled ? true : undefined,\n 'aria-posinset': position,\n 'aria-setsize': position ? numberOfPages.value : undefined,\n 'role': 'menuitem',\n 'type': disabled ? undefined : 'button',\n 'tabindex': disabled ? undefined : tabIndex,\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? undefined : String(page),\n },\n clickHandler: (e: Readonly<MouseEvent>) => pageClick(e, page),\n})\n\nconst getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n label: string\n}) => getBaseButtonProps({page, classVal, disabled, slotName, textValue, label, tabIndex: '-1'})\n\nconst getPageButtonProps = (page: number, isSmHidden?: boolean) =>\n getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: 'page',\n label: props.labelPage ? `${props.labelPage} ${page}` : undefined,\n tabIndex: getTabIndex(page) ?? undefined,\n position: page,\n isActive: isActivePage(page),\n isSmHidden,\n })\n\nconst firstButtonProps = computed(() =>\n getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: 'first-text',\n textValue: props.firstText,\n label: props.labelFirstPage,\n })\n)\nconst prevButtonProps = computed(() =>\n getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: 'prev-text',\n textValue: props.prevText,\n label: props.labelPrevPage,\n })\n)\nconst nextButtonProps = computed(() =>\n getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: 'next-text',\n textValue: props.nextText,\n label: props.labelNextPage,\n })\n)\nconst lastButtonProps = computed(() =>\n getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: 'last-text',\n textValue: props.lastText,\n label: props.labelLastPage,\n })\n)\n\nconst ellipsisProps = computed(() => ({\n li: {\n class: [\n 'page-item',\n 'disabled',\n 'text-center',\n 'bv-d-sm-down-none',\n computedFill.value ? 'flex-fill' : '',\n props.ellipsisClass,\n ],\n role: 'separator',\n },\n span: {\n class: ['page-link'],\n },\n}))\n\nconst computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== undefined,\n 'b-pagination-pills': props.pills,\n },\n])\n\nconst pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value,\n}))\n\nconst pageClick = (event: Readonly<MouseEvent>, pageNumber: number) => {\n if (pageNumber === computedModelValue.value) return\n const clickEvent = new BvEvent('page-click', {\n cancelable: true,\n target: event.target,\n })\n emit('page-click', clickEvent, pageNumber)\n\n if (clickEvent.defaultPrevented) return\n\n modelValue.value = pageNumber\n\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst()\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast()\n }\n })\n // nextTick(() => {\n // if (isVisible(target) && un_element.contains(target)) {\n // attemptFocus(target)\n //} else {\n //this.focusCurrent()\n //}\n // })\n}\n\nconst isDisabled = (el: HTMLButtonElement) => {\n const isElement = el && el.nodeType === Node.ELEMENT_NODE\n const hasAttr = isElement ? el.hasAttribute('disabled') : null\n const hasClass = isElement && el.classList ? el.classList.contains('disabled') : false\n\n return !isElement || el.disabled || hasAttr || hasClass\n}\n\nconst getButtons = (): HTMLButtonElement[] =>\n [...(pageElements.value ?? [])]\n .sort(\n (a, b) =>\n Number.parseInt(a.getAttribute('displayIndex') || '0') -\n Number.parseInt(b.getAttribute('displayIndex') || '0')\n )\n .map((page) => page.children[0])\n .filter((el) => {\n if (el?.getAttribute('display') === 'none' || el?.tagName.toUpperCase() !== 'BUTTON') {\n return false\n }\n\n const bcr = el?.getBoundingClientRect()\n\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n })\n .map((el) => el as HTMLButtonElement)\n\nconst focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n\n const button = buttons[index - 1]\n if (index > 0 && button !== undefined && !isDisabled(button)) {\n buttons[index - 1]?.focus()\n }\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const btn = getButtons()\n .reverse()\n .find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n const button = buttons[index + 1]\n if (index < buttons.length - 1 && button !== undefined && !isDisabled(button)) {\n buttons[index + 1]?.focus()\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n const {code, shiftKey} = event\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n }\n}\n\nconst computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page\n})\n\nwatch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n modelValue.value = 1\n }\n})\n\nconst noFirstButton = computed(() => (props.noGotoEndButtons && !props.firstNumber ? 1 : 0))\nconst noLastButton = computed(() => (props.noGotoEndButtons && !props.lastNumber ? 1 : 0))\nconst showFirstButton = computed(() => (noFirstButton.value ? 0 : 1))\nconst showLastButton = computed(() => (noLastButton.value ? 0 : 1))\nconst firstPage = computed(() => (props.firstNumber ? 1 : 0))\nconst lastPage = computed(() => (props.lastNumber ? 1 : 0))\nconst halfLimit = computed(() => Math.floor(limitNumber.value / 2))\n\nconst pages = computed(() => {\n const {value} = computedModelValue\n\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return {id: p, ...firstButtonProps.value}\n case PREV_BUTTON:\n return {id: p, ...prevButtonProps.value}\n case NEXT_BUTTON:\n return {id: p, ...nextButtonProps.value}\n case LAST_BUTTON:\n return {id: p, ...lastButtonProps.value}\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return {id: p, ...ellipsisProps.value}\n default:\n return {id: p, ...getPageButtonProps(p)}\n }\n })\n\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value)\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n }\n\n return els\n})\n\nconst elements = computed(() => {\n // The idea here is to create an array of all the buttons on the page control.\n // This way we can keep the invariants in one place and the template code just\n // iterates over the array.\n\n const pages = numberOfPages.value\n const {value} = computedModelValue\n const limit = limitNumber.value\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD\n\n // The first case is when all of the page buttons fit on the control, this is\n // the simplest case and the only one that will create an array smaller than\n // Limit + 4 - noEndButtons * 2 (the [first, last,] prev, next buttons)\n\n if (pages < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({length: pages}, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null,\n ].filter((x) => x !== null) as number[]\n }\n\n // All of the remaining cases result in an array that is exactly limit + 4 - noEndButtons * 2 in length, so create\n // the array upfront and set up the beginning and end buttons, then fill the rest for each case\n\n const buttons = Array.from({length: limit + 4 - (noFirstButton.value + noLastButton.value)})\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON\n buttons[1] = PREV_BUTTON\n } else {\n buttons[0] = PREV_BUTTON\n buttons[1] = 1\n }\n } else {\n buttons[0] = PREV_BUTTON\n }\n\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON\n buttons[buttons.length - 2] = NEXT_BUTTON\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n buttons[buttons.length - 2] = pages\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n }\n\n // The next case is where the page buttons start at the begginning, with\n // no ellipsis at the beginning, but one at the end\n\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value\n }\n\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n // And then we have the case where the page buttons go up to the end, with no\n // ellipsis at the end, but one at the beginning\n\n if (value > pages - halfLimit.value - lastPage.value) {\n const start = pages - (limit - 1) - lastPage.value\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n }\n }\n\n // Finally we have the case where we have ellipsis at both ends\n if (!buttons[2]) {\n // Is there a more elegant way to ceck that we're in the final case?\n const start = value - Math.floor(limit / 2)\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n //Enable sanity check for debugging purposes\n // for (let i = 0; i < buttons.length; i++) {\n // if (!buttons[i]) {\n // // eslint-disable-next-line no-console\n // console.log(\n // `Failed: button == ${i}, limit=${limit}, pages=${pages}, firstPage=${firstPage}, lastPage=${lastPage}, value=${value}`\n // )\n // }\n // }\n\n return buttons.filter((x) => x !== null) as number[]\n})\n</script>\n\n<script lang=\"ts\">\nconst DEFAULT_PER_PAGE = 20\nconst DEFAULT_TOTAL_ROWS = 0\n</script>\n"],"mappings":";;;;;;;;;;;AA0kBA,IAAM,mBAAmB;AACzB,IAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAlhB3B,MAAM,qBAAqB;EAE3B,MAAM,eAAe;EACrB,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,iBAAiB;EACvB,MAAM,gBAAgB;EAiCtB,MAAM,QAAQ,YA/BC,SA+BmB,cAAa;EAC/C,MAAM,OAAO;EAGb,MAAM,aAAa,SAA+D,SAAA,aAEjF;EAED,MAAM,eAAe,eAAe,gBAAe;EAEnD,MAAM,cAAc,kBAAkB,MAAM,OAAO;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EACxF,MAAM,gBAAgB,kBAAkB,MAAM,SAAS;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAC5F,MAAM,kBAAkB,kBAAkB,MAAM,WAAW;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAChG,MAAM,mBAAmB,YAAY,YAAY;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAEtF,MAAM,mBAAmB,eAAe,KAAK,IAAI,cAAc,SAAS,kBAAkB,EAAE,CAAA;EAC5F,MAAM,qBAAqB,eAAe,KAAK,IAAI,gBAAgB,SAAS,oBAAoB,EAAE,CAAA;EAElG,MAAM,gBAAgB,eAAe,KAAK,KAAK,mBAAmB,QAAQ,iBAAiB,MAAM,CAAA;EACjG,MAAM,eAAe,eAAe,MAAM,UAAU,OAAM;EAI1D,MAAM,YAAY,aAFG,eAAgB,MAAM,UAAU,SAAS,UAAU,MAAM,MAAM,CAEzC;EAE3C,MAAM,gBAAgB,eAAuB,eAAe,mBAAmB;EAC/E,MAAM,eAAe,QAAiB,MAAM,WAAW,OAAO,aAAa,IAAI,GAAG,MAAM;EAExF,MAAM,iBAAiB,QACrB,MAAM,YACN,aAAa,IAAI,IACjB,mBAAmB,QAAQ,KAE3B,MAAM,KACN,MAAM,cAAc;EAEtB,MAAM,gBAAgB,eAAe,cAAc,EAAE,CAAA;EACrD,MAAM,eAAe,eAAe,cAAc,mBAAmB,QAAQ,EAAE,CAAA;EAC/E,MAAM,eAAe,eAAe,cAAc,cAAc,MAAM,CAAA;EACtE,MAAM,eAAe,eAAe,cAAc,mBAAmB,QAAQ,EAAE,CAAA;EAE/E,MAAM,sBAAsB,EAC1B,MACA,UACA,UACA,UACA,WACA,UACA,OACA,UACA,UACA,QACA,kBAaK;GACL,IAAI;IACF,SAAS;KACP;KACA;MACE,UAAU;MACV;MACA,qBAAqB;MACrB,aAAa,aAAa;MAC1B,UAAU,aAAa,SAAS,CAAC;MAClC;KACD;KACD;IACD,QAAQ;IACR,eAAe;IAChB;GACD,QAAQ;IACN,MAAM,WAAW,SAAS;IAC1B,SAAS;KAAC;KAAa;KAAe,EAAC,eAAe,CAAC,YAAY,aAAa,OAAA;KAAO;IACvF,cAAc;IACd,iBAAiB,MAAM,gBAAgB,KAAA;IACvC,iBAAiB,WAAW,OAAO,KAAA;IACnC,iBAAiB;IACjB,gBAAgB,WAAW,cAAc,QAAQ,KAAA;IACjD,QAAQ;IACR,QAAQ,WAAW,KAAA,IAAY;IAC/B,YAAY,WAAW,KAAA,IAAY;IACpC;GACD,MAAM;IACJ,MAAM;IACN,QAAQ;IACR,OAAO,aAAa;IACpB;IACA;IACA,OAAO,OAAO;IACd,SAAS,YAAY,KAAA,IAAY,OAAO,KAAA;IACzC;GACD,eAAe,MAA4B,UAAU,GAAG,KAAA;GACzD;EAED,MAAM,kBAAkB,EACtB,MACA,UACA,UACA,UACA,WACA,YAQI,mBAAmB;GAAC;GAAM;GAAU;GAAU;GAAU;GAAW;GAAO,UAAU;GAAK,CAAA;EAE/F,MAAM,sBAAsB,MAAc,eACxC,mBAAmB;GACjB;GACA,UAAU,MAAM;GAChB,UAAU,MAAM;GAChB,UAAU;GACV,OAAO,MAAM,YAAY,GAAG,MAAM,UAAU,GAAG,SAAS,KAAA;GACxD,UAAU,YAAY,KAAK,IAAI,KAAA;GAC/B,UAAU;GACV,UAAU,aAAa,KAAK;GAC5B;GACD,CAAA;EAEH,MAAM,mBAAmB,eACvB,eAAe;GACb,MAAM;GACN,UAAU,cAAc;GACxB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,KAAK,IAAI,mBAAmB,QAAQ,GAAG,EAAE;GAC/C,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,KAAK,IAAI,mBAAmB,QAAQ,GAAG,cAAc,MAAM;GACjE,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,cAAc;GACpB,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EAEA,MAAM,gBAAgB,gBAAgB;GACpC,IAAI;IACF,OAAO;KACL;KACA;KACA;KACA;KACA,aAAa,QAAQ,cAAc;KACnC,MAAM;KACP;IACD,MAAM;IACP;GACD,MAAM,EACJ,OAAO,CAAC,YAAY,EAAA;GAEvB,EAAC;EAEF,MAAM,yBAAyB,eAAe,CAC5C,UAAU,OACV;IACG,cAAc,MAAM,SAAS,MAAM,SAAS,KAAA;GAC7C,sBAAsB,MAAM;GAC7B,CACF,CAAA;EAED,MAAM,aAAa,gBAAgB;GACjC,UAAU,iBAAiB;GAC3B,WAAW,gBAAgB;GAC3B,eAAe,cAAc;GAC9B,EAAC;EAEF,MAAM,aAAa,OAA6B,eAAuB;AACrE,OAAI,eAAe,mBAAmB,MAAO;GAC7C,MAAM,aAAa,IAAI,QAAQ,cAAc;IAC3C,YAAY;IACZ,QAAQ,MAAM;IACf,CAAA;AACD,QAAK,cAAc,YAAY,WAAU;AAEzC,OAAI,WAAW,iBAAkB;AAEjC,cAAW,QAAQ;AAEnB,kBAAe;AACb,QAAI,eAAe,EACjB,aAAW;aACF,eAAe,WAAW,MAAM,cACzC,YAAU;KAEb;;EAUH,MAAM,cAAc,OAA0B;GAC5C,MAAM,YAAY,MAAM,GAAG,aAAa,KAAK;GAC7C,MAAM,UAAU,YAAY,GAAG,aAAa,WAAW,GAAG;GAC1D,MAAM,WAAW,aAAa,GAAG,YAAY,GAAG,UAAU,SAAS,WAAW,GAAG;AAEjF,UAAO,CAAC,aAAa,GAAG,YAAY,WAAW;;EAGjD,MAAM,mBACJ,CAAC,GAAI,aAAa,SAAS,EAAE,CAAC,CAC3B,MACE,GAAG,MACF,OAAO,SAAS,EAAE,aAAa,eAAe,IAAI,IAAI,GACtD,OAAO,SAAS,EAAE,aAAa,eAAe,IAAI,IAAG,CACzD,CACC,KAAK,SAAS,KAAK,SAAS,GAAE,CAC9B,QAAQ,OAAO;AACd,OAAI,IAAI,aAAa,UAAU,KAAK,UAAU,IAAI,QAAQ,aAAa,KAAK,SAC1E,QAAO;GAGT,MAAM,MAAM,IAAI,uBAAsB;AAEtC,UAAO,CAAC,EAAE,OAAO,IAAI,SAAS,KAAK,IAAI,QAAQ;IAChD,CACA,KAAK,OAAO,GAAuB;EAExC,MAAM,mBAAmB;AACvB,kBAAe;AACD,gBAAY,CAAC,MAAM,OAAO,CAAC,WAAW,GAAG,CAAA,EAChD,OAAM;KACZ;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;IACb,MAAM,UAAU,YAAW;IAC3B,MAAM,QAAQ,QAAQ,QAAQ,kBAAkB,CAAqB;IAErE,MAAM,SAAS,QAAQ,QAAQ;AAC/B,QAAI,QAAQ,KAAK,WAAW,KAAA,KAAa,CAAC,WAAW,OAAO,CAC1D,SAAQ,QAAQ,IAAI,OAAM;KAE7B;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;AACD,gBAAW,CACpB,SAAQ,CACR,MAAM,OAAO,CAAC,WAAW,GAAG,CAAA,EAC1B,OAAM;KACZ;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;IACb,MAAM,UAAU,YAAW;IAC3B,MAAM,QAAQ,QAAQ,QAAQ,kBAAkB,CAAqB;IACrE,MAAM,SAAS,QAAQ,QAAQ;AAC/B,QAAI,QAAQ,QAAQ,SAAS,KAAK,WAAW,KAAA,KAAa,CAAC,WAAW,OAAO,CAC3E,SAAQ,QAAQ,IAAI,OAAM;KAE7B;;EAGH,MAAM,gBAAgB,UAAyB;GAC7C,MAAM,EAAC,MAAM,aAAY;AACzB,OAAI,SAAA,eAAsB,SAAA,WAAkB;AAC1C,UAAM,gBAAe;AACrB,QAAI,SACF,aAAW;QAEX,YAAU;cAEH,SAAA,gBAAuB,SAAA,aAAoB;AACpD,UAAM,gBAAe;AACrB,QAAI,SACF,YAAU;QAEV,YAAU;;;EAKhB,MAAM,qBAAqB,eAAe;GACxC,MAAM,OAAO,iBAAiB,SAAS;AACvC,UAAO,OAAO,cAAc,QAAQ,cAAc,QAAQ,OAAO,IAAI,IAAI;IAC1E;AAED,QAAM,aAAa,UAAU,aAAa;AACxC,OAAI,SAAS,aAAa,SAAS,YAAY,SAAS,cAAc,SAAS,UAE7E,YAAW,QAAQ;IAEtB;EAED,MAAM,gBAAgB,eAAgB,MAAM,oBAAoB,CAAC,MAAM,cAAc,IAAI,EAAE;EAC3F,MAAM,eAAe,eAAgB,MAAM,oBAAoB,CAAC,MAAM,aAAa,IAAI,EAAE;EACzF,MAAM,kBAAkB,eAAgB,cAAc,QAAQ,IAAI,EAAE;EACpE,MAAM,iBAAiB,eAAgB,aAAa,QAAQ,IAAI,EAAE;EAClE,MAAM,YAAY,eAAgB,MAAM,cAAc,IAAI,EAAE;EAC5D,MAAM,WAAW,eAAgB,MAAM,aAAa,IAAI,EAAE;EAC1D,MAAM,YAAY,eAAe,KAAK,MAAM,YAAY,QAAQ,EAAE,CAAA;EAElE,MAAM,QAAQ,eAAe;GAC3B,MAAM,EAAC,UAAS;GAEhB,MAAM,MAAM,SAAS,MAAM,KAAK,MAAM;AACpC,YAAQ,GAAR;KACE,KAAK,aACH,QAAO;MAAC,IAAI;MAAG,GAAG,iBAAiB;MAAK;KAC1C,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK;KACL,KAAK,cACH,QAAO;MAAC,IAAI;MAAG,GAAG,cAAc;MAAK;KACvC,QACE,QAAO;MAAC,IAAI;MAAG,GAAG,mBAAmB,EAAA;MAAE;;KAE5C;AAED,OAAI,cAAc,QAAQ,GAAG;AAC3B,QAAI,QAAQ,cAAc,QAAQ,UAAU,QAAQ,SAAS,OAAO;KAClE,MAAM,MAAM,IAAI,gBAAgB;KAChC,MAAM,KAAK,IAAI;AACf,SAAI,OAAO,KAAA,EACT,KAAI,OAAO;MAAC,IAAI,GAAG;MAAI,GAAG,mBAAmB,GAAG,IAAI,KAAA;MAAK;;AAI7D,QAAI,SAAS,UAAU,QAAQ,UAAU,OAAO;KAC9C,MAAM,MAAM,IAAI,UAAU,IAAI,eAAe;KAC7C,MAAM,KAAK,IAAI;AACf,SAAI,OAAO,KAAA,EACT,KAAI,OAAO;MAAC,IAAI,GAAG;MAAI,GAAG,mBAAmB,GAAG,IAAI,KAAA;MAAK;;;AAK/D,UAAO;IACR;EAED,MAAM,WAAW,eAAe;GAK9B,MAAM,QAAQ,cAAc;GAC5B,MAAM,EAAC,UAAS;GAChB,MAAM,QAAQ,YAAY;GAC1B,MAAM,aAAa,MAAM,cAAc,SAAS;AAMhD,OAAI,QAAQ,QAAQ,UAAU,QAAQ,SAAS,MAC7C,QAAO;IACL,CAAC,UAAU,SAAS,CAAC,cAAc,QAAQ,eAAe;IAC1D;IACA,GAAG,MAAM,KAAK,EAAC,QAAQ,OAAM,GAAG,GAAG,UAAU,QAAQ,EAAE;IACvD;IACA,CAAC,SAAS,SAAS,CAAC,aAAa,QAAQ,cAAc;IACxD,CAAC,QAAQ,MAAM,MAAM,KAAK;GAM7B,MAAM,UAAU,MAAM,KAAK,EAAC,QAAQ,QAAQ,KAAK,cAAc,QAAQ,aAAa,QAAO,CAAA;AAC3F,OAAI,CAAC,cAAc,MACjB,KAAI,CAAC,UAAU,OAAO;AACpB,YAAQ,KAAK;AACb,YAAQ,KAAK;UACR;AACL,YAAQ,KAAK;AACb,YAAQ,KAAK;;OAGf,SAAQ,KAAK;AAGf,OAAI,CAAC,aAAa,MAChB,KAAI,CAAC,SAAS,OAAO;AACnB,YAAQ,QAAQ,SAAS,KAAK;AAC9B,YAAQ,QAAQ,SAAS,KAAK;UACzB;AACL,YAAQ,QAAQ,SAAS,KAAK;AAC9B,YAAQ,QAAQ,SAAS,KAAK;;OAGhC,SAAQ,QAAQ,SAAS,KAAK;AAMhC,OAAI,SAAS,UAAU,QAAQ,UAAU,OAAO;AAC9C,SAAK,IAAI,QAAQ,GAAG,SAAS,OAAO,QAClC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ,UAAU;AAG/D,QAAI,CAAC,WACH,SAAQ,QAAQ,UAAU,IAAI,eAAe,UAAU;;AAO3D,OAAI,QAAQ,QAAQ,UAAU,QAAQ,SAAS,OAAO;IACpD,MAAM,QAAQ,SAAS,QAAQ,KAAK,SAAS;AAC7C,SAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,QACjC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ;AAGrD,QAAI,CAAC,WACH,SAAQ,IAAI,gBAAgB,SAAS;;AAKzC,OAAI,CAAC,QAAQ,IAAI;IAEf,MAAM,QAAQ,QAAQ,KAAK,MAAM,QAAQ,EAAC;AAC1C,SAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,QACjC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ;AAGrD,QAAI,CAAC,YAAY;AACf,aAAQ,IAAI,gBAAgB,SAAS;AACrC,aAAQ,QAAQ,UAAU,IAAI,eAAe,UAAU;;;AAc3D,UAAO,QAAQ,QAAQ,MAAM,MAAM,KAAK;IACzC;;uBArkBC,mBAyCK,MAAA;IAxCH,OAAK,eAAA,CAAC,cACE,uBAAA,MAAsB,CAAA;IAC9B,MAAK;IACJ,iBAAe,MAAA,MAAK,CAAC;IACrB,cAAY,MAAA,MAAK,CAAC,aAAa,KAAA;IAC/B,WAAS;yBAEV,mBAgCK,UAAA,MAAA,WA/BqB,MAAA,QAAhB,MAAM,UAAK;wBADrB,mBAgCK,MAhCL,WAgCK,EA9BF,KAAG,QAAU,KAAK,MAAA,EAAA,EAAA,SAAA,MAAA,EACX,KAAK,IAAE;;KACf,KAAI;KACH,cAAc;SAGP,KAAK,OAAO,kBAAkB,KAAK,OAAO,iBAAA,WAAA,EADlD,mBAOO,QAPP,WAOO;;;OALG,cAAA,MAAc,KAAI,EAAA,CAE1B,WAEO,KAAA,QAAA,iBAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,gBAAY,MAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,IAAA,YAMA,QAAA,WAAA,EAHzB,YAgBY,wBAdL,KAAK,OAAO,GAAE,EAFrB,WAgBY;;;OAfF,KAAK,QAAM,EAGlB,SAAO,KAAK,cAAA,CAAA,EAAA;4BAWN,CATP,WASO,KAAA,QARE,KAAK,KAAK,MAAI;MACpB,UAAU,KAAK,KAAK;MACpB,MAAM,KAAK,KAAK;MAChB,OAAO,KAAK,KAAK;MACjB,QAAQ,KAAK,KAAK,UAAM;MACxB,SAAS,KAAK,KAAK;cAGf,CAAA,gBAAA,gBADF,KAAK,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BPagination-CvoSN1He.mjs","names":[],"sources":["../src/components/BPagination/BPagination.vue","../src/components/BPagination/BPagination.vue"],"sourcesContent":["<template>\n <ul\n class=\"pagination\"\n :class=\"computedWrapperClasses\"\n role=\"menubar\"\n :aria-disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel || undefined\"\n @keydown=\"handleKeyNav\"\n >\n <li\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page.id}`\"\n v-bind=\"page.li\"\n ref=\"_pageElements\"\n :displayIndex=\"index\"\n >\n <span\n v-if=\"page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS\"\n v-bind=\"ellipsisProps.span\"\n >\n <slot name=\"ellipsis-text\">\n {{ props.ellipsisText || '...' }}\n </slot>\n </span>\n <component\n v-bind=\"page.button\"\n :is=\"page.button.is\"\n v-else-if=\"'button' in page\"\n @click=\"page.clickHandler\"\n >\n <slot\n :name=\"page.text.name\"\n :disabled=\"page.text.disabled\"\n :page=\"page.text.page\"\n :index=\"page.text.index\"\n :active=\"page.text.active ?? false\"\n :content=\"page.text.value\"\n >\n {{ page.text.value }}\n </slot>\n </component>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvEvent} from '../../utils'\nimport {computed, nextTick, useTemplateRef, watch} from 'vue'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ClassValue} from '../../types/AnyValuedAttributes'\nimport {CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement} from '../../utils/dom'\nimport {type BPaginationEmits, type BPaginationSlots, type BPaginationProps} from '../../types'\n\n// Threshold of limit size when we start/stop showing ellipsis\nconst ELLIPSIS_THRESHOLD = 3\n\nconst FIRST_BUTTON = -1\nconst PREV_BUTTON = -2\nconst NEXT_BUTTON = -3\nconst LAST_BUTTON = -4\nconst FIRST_ELLIPSIS = -5\nconst LAST_ELLIPSIS = -6\n\nconst _props = withDefaults(defineProps<Omit<BPaginationProps, 'modelValue'>>(), {\n align: 'start',\n ariaControls: undefined,\n ariaLabel: 'Pagination',\n disabled: false,\n ellipsisClass: undefined,\n ellipsisText: '\\u2026',\n firstClass: undefined,\n firstNumber: false,\n firstText: '\\u00AB',\n noEllipsis: false,\n noGotoEndButtons: false,\n labelFirstPage: 'Go to first page',\n labelLastPage: 'Go to last page',\n labelNextPage: 'Go to next page',\n labelPage: 'Go to page',\n labelPrevPage: 'Go to previous page',\n lastClass: undefined,\n lastNumber: false,\n lastText: '\\u00BB',\n limit: 5,\n nextClass: undefined,\n nextText: '\\u203A',\n pageClass: undefined,\n perPage: DEFAULT_PER_PAGE,\n pills: false,\n prevClass: undefined,\n prevText: '\\u2039',\n size: undefined,\n totalRows: DEFAULT_TOTAL_ROWS,\n})\nconst props = useDefaults(_props, 'BPagination')\nconst emit = defineEmits<BPaginationEmits>()\ndefineSlots<BPaginationSlots>()\n\nconst modelValue = defineModel<Exclude<BPaginationProps['modelValue'], undefined>>({\n default: 1,\n})\n\nconst pageElements = useTemplateRef('_pageElements')\n\nconst limitNumber = useToNumber(() => props.limit, {nanToZero: true, method: 'parseInt'})\nconst perPageNumber = useToNumber(() => props.perPage, {nanToZero: true, method: 'parseInt'})\nconst totalRowsNumber = useToNumber(() => props.totalRows, {nanToZero: true, method: 'parseInt'})\nconst modelValueNumber = useToNumber(modelValue, {nanToZero: true, method: 'parseInt'})\n\nconst perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1))\nconst totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0))\n// Use Active to on page-item to denote active tab\nconst numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value))\nconst computedFill = computed(() => props.align === 'fill')\n// This doesn't use the computedFill util because TS cannot infer that it would never be 'fill'\nconst justifyAlign = computed(() => (props.align === 'fill' ? 'start' : props.align))\n\nconst alignment = useAlignment(justifyAlign)\n\nconst isActivePage = (pageNumber: number) => pageNumber === computedModelValue.value\nconst getTabIndex = (num: number) => (props.disabled ? null : isActivePage(num) ? '0' : '-1')\n\nconst checkDisabled = (num: number) =>\n props.disabled ||\n isActivePage(num) ||\n computedModelValue.value < 1 ||\n // Check if the number is out of bounds\n num < 1 ||\n num > numberOfPages.value\n\nconst firstDisabled = computed(() => checkDisabled(1))\nconst prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1))\nconst lastDisabled = computed(() => checkDisabled(numberOfPages.value))\nconst nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1))\n\nconst getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n tabIndex?: string\n label?: string\n position?: number\n isActive?: boolean\n hidden?: boolean\n isSmHidden?: boolean\n}) => ({\n li: {\n 'class': [\n 'page-item',\n {\n 'active': isActive,\n disabled,\n 'bv-d-sm-down-none': isSmHidden,\n 'flex-fill': computedFill.value,\n 'd-flex': computedFill.value && !disabled,\n },\n classVal,\n ],\n 'role': 'presentation',\n 'aria-hidden': hidden,\n },\n button: {\n 'is': disabled ? 'span' : 'button',\n 'class': ['page-link', 'text-center', {'flex-grow-1': !disabled && computedFill.value}],\n 'aria-label': label,\n 'aria-controls': props.ariaControls || undefined,\n 'aria-disabled': disabled ? true : undefined,\n 'aria-posinset': position,\n 'aria-setsize': position ? numberOfPages.value : undefined,\n 'role': 'menuitem',\n 'type': disabled ? undefined : 'button',\n 'tabindex': disabled ? undefined : tabIndex,\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? undefined : String(page),\n },\n clickHandler: (e: Readonly<MouseEvent>) => pageClick(e, page),\n})\n\nconst getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n label: string\n}) => getBaseButtonProps({page, classVal, disabled, slotName, textValue, label, tabIndex: '-1'})\n\nconst getPageButtonProps = (page: number, isSmHidden?: boolean) =>\n getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: 'page',\n label: props.labelPage ? `${props.labelPage} ${page}` : undefined,\n tabIndex: getTabIndex(page) ?? undefined,\n position: page,\n isActive: isActivePage(page),\n isSmHidden,\n })\n\nconst firstButtonProps = computed(() =>\n getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: 'first-text',\n textValue: props.firstText,\n label: props.labelFirstPage,\n })\n)\nconst prevButtonProps = computed(() =>\n getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: 'prev-text',\n textValue: props.prevText,\n label: props.labelPrevPage,\n })\n)\nconst nextButtonProps = computed(() =>\n getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: 'next-text',\n textValue: props.nextText,\n label: props.labelNextPage,\n })\n)\nconst lastButtonProps = computed(() =>\n getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: 'last-text',\n textValue: props.lastText,\n label: props.labelLastPage,\n })\n)\n\nconst ellipsisProps = computed(() => ({\n li: {\n class: [\n 'page-item',\n 'disabled',\n 'text-center',\n 'bv-d-sm-down-none',\n computedFill.value ? 'flex-fill' : '',\n props.ellipsisClass,\n ],\n role: 'separator',\n },\n span: {\n class: ['page-link'],\n },\n}))\n\nconst computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== undefined,\n 'b-pagination-pills': props.pills,\n },\n])\n\nconst pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value,\n}))\n\nconst pageClick = (event: Readonly<MouseEvent>, pageNumber: number) => {\n if (pageNumber === computedModelValue.value) return\n const clickEvent = new BvEvent('page-click', {\n cancelable: true,\n target: event.target,\n })\n emit('page-click', clickEvent, pageNumber)\n\n if (clickEvent.defaultPrevented) return\n\n modelValue.value = pageNumber\n\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst()\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast()\n }\n })\n // nextTick(() => {\n // if (isVisible(target) && un_element.contains(target)) {\n // attemptFocus(target)\n //} else {\n //this.focusCurrent()\n //}\n // })\n}\n\nconst isDisabled = (el: HTMLButtonElement) => {\n const isElement = el && el.nodeType === Node.ELEMENT_NODE\n const hasAttr = isElement ? el.hasAttribute('disabled') : null\n const hasClass = isElement && el.classList ? el.classList.contains('disabled') : false\n\n return !isElement || el.disabled || hasAttr || hasClass\n}\n\nconst getButtons = (): HTMLButtonElement[] =>\n [...(pageElements.value ?? [])]\n .sort(\n (a, b) =>\n Number.parseInt(a.getAttribute('displayIndex') || '0') -\n Number.parseInt(b.getAttribute('displayIndex') || '0')\n )\n .map((page) => page.children[0])\n .filter((el) => {\n if (el?.getAttribute('display') === 'none' || el?.tagName.toUpperCase() !== 'BUTTON') {\n return false\n }\n\n const bcr = el?.getBoundingClientRect()\n\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n })\n .map((el) => el as HTMLButtonElement)\n\nconst focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n\n const button = buttons[index - 1]\n if (index > 0 && button !== undefined && !isDisabled(button)) {\n buttons[index - 1]?.focus()\n }\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const btn = getButtons()\n .reverse()\n .find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n const button = buttons[index + 1]\n if (index < buttons.length - 1 && button !== undefined && !isDisabled(button)) {\n buttons[index + 1]?.focus()\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n const {code, shiftKey} = event\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n }\n}\n\nconst computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page\n})\n\nwatch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n modelValue.value = 1\n }\n})\n\nconst noFirstButton = computed(() => (props.noGotoEndButtons && !props.firstNumber ? 1 : 0))\nconst noLastButton = computed(() => (props.noGotoEndButtons && !props.lastNumber ? 1 : 0))\nconst showFirstButton = computed(() => (noFirstButton.value ? 0 : 1))\nconst showLastButton = computed(() => (noLastButton.value ? 0 : 1))\nconst firstPage = computed(() => (props.firstNumber ? 1 : 0))\nconst lastPage = computed(() => (props.lastNumber ? 1 : 0))\nconst halfLimit = computed(() => Math.floor(limitNumber.value / 2))\n\nconst pages = computed(() => {\n const {value} = computedModelValue\n\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return {id: p, ...firstButtonProps.value}\n case PREV_BUTTON:\n return {id: p, ...prevButtonProps.value}\n case NEXT_BUTTON:\n return {id: p, ...nextButtonProps.value}\n case LAST_BUTTON:\n return {id: p, ...lastButtonProps.value}\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return {id: p, ...ellipsisProps.value}\n default:\n return {id: p, ...getPageButtonProps(p)}\n }\n })\n\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value)\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n }\n\n return els\n})\n\nconst elements = computed(() => {\n // The idea here is to create an array of all the buttons on the page control.\n // This way we can keep the invariants in one place and the template code just\n // iterates over the array.\n\n const pages = numberOfPages.value\n const {value} = computedModelValue\n const limit = limitNumber.value\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD\n\n // The first case is when all of the page buttons fit on the control, this is\n // the simplest case and the only one that will create an array smaller than\n // Limit + 4 - noEndButtons * 2 (the [first, last,] prev, next buttons)\n\n if (pages < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({length: pages}, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null,\n ].filter((x) => x !== null) as number[]\n }\n\n // All of the remaining cases result in an array that is exactly limit + 4 - noEndButtons * 2 in length, so create\n // the array upfront and set up the beginning and end buttons, then fill the rest for each case\n\n const buttons = Array.from({length: limit + 4 - (noFirstButton.value + noLastButton.value)})\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON\n buttons[1] = PREV_BUTTON\n } else {\n buttons[0] = PREV_BUTTON\n buttons[1] = 1\n }\n } else {\n buttons[0] = PREV_BUTTON\n }\n\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON\n buttons[buttons.length - 2] = NEXT_BUTTON\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n buttons[buttons.length - 2] = pages\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n }\n\n // The next case is where the page buttons start at the begginning, with\n // no ellipsis at the beginning, but one at the end\n\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value\n }\n\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n // And then we have the case where the page buttons go up to the end, with no\n // ellipsis at the end, but one at the beginning\n\n if (value > pages - halfLimit.value - lastPage.value) {\n const start = pages - (limit - 1) - lastPage.value\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n }\n }\n\n // Finally we have the case where we have ellipsis at both ends\n if (!buttons[2]) {\n // Is there a more elegant way to ceck that we're in the final case?\n const start = value - Math.floor(limit / 2)\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n //Enable sanity check for debugging purposes\n // for (let i = 0; i < buttons.length; i++) {\n // if (!buttons[i]) {\n // // eslint-disable-next-line no-console\n // console.log(\n // `Failed: button == ${i}, limit=${limit}, pages=${pages}, firstPage=${firstPage}, lastPage=${lastPage}, value=${value}`\n // )\n // }\n // }\n\n return buttons.filter((x) => x !== null) as number[]\n})\n</script>\n\n<script lang=\"ts\">\nconst DEFAULT_PER_PAGE = 20\nconst DEFAULT_TOTAL_ROWS = 0\n</script>\n","<template>\n <ul\n class=\"pagination\"\n :class=\"computedWrapperClasses\"\n role=\"menubar\"\n :aria-disabled=\"props.disabled\"\n :aria-label=\"props.ariaLabel || undefined\"\n @keydown=\"handleKeyNav\"\n >\n <li\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page.id}`\"\n v-bind=\"page.li\"\n ref=\"_pageElements\"\n :displayIndex=\"index\"\n >\n <span\n v-if=\"page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS\"\n v-bind=\"ellipsisProps.span\"\n >\n <slot name=\"ellipsis-text\">\n {{ props.ellipsisText || '...' }}\n </slot>\n </span>\n <component\n v-bind=\"page.button\"\n :is=\"page.button.is\"\n v-else-if=\"'button' in page\"\n @click=\"page.clickHandler\"\n >\n <slot\n :name=\"page.text.name\"\n :disabled=\"page.text.disabled\"\n :page=\"page.text.page\"\n :index=\"page.text.index\"\n :active=\"page.text.active ?? false\"\n :content=\"page.text.value\"\n >\n {{ page.text.value }}\n </slot>\n </component>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\nimport {BvEvent} from '../../utils'\nimport {computed, nextTick, useTemplateRef, watch} from 'vue'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {ClassValue} from '../../types/AnyValuedAttributes'\nimport {CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement} from '../../utils/dom'\nimport {type BPaginationEmits, type BPaginationSlots, type BPaginationProps} from '../../types'\n\n// Threshold of limit size when we start/stop showing ellipsis\nconst ELLIPSIS_THRESHOLD = 3\n\nconst FIRST_BUTTON = -1\nconst PREV_BUTTON = -2\nconst NEXT_BUTTON = -3\nconst LAST_BUTTON = -4\nconst FIRST_ELLIPSIS = -5\nconst LAST_ELLIPSIS = -6\n\nconst _props = withDefaults(defineProps<Omit<BPaginationProps, 'modelValue'>>(), {\n align: 'start',\n ariaControls: undefined,\n ariaLabel: 'Pagination',\n disabled: false,\n ellipsisClass: undefined,\n ellipsisText: '\\u2026',\n firstClass: undefined,\n firstNumber: false,\n firstText: '\\u00AB',\n noEllipsis: false,\n noGotoEndButtons: false,\n labelFirstPage: 'Go to first page',\n labelLastPage: 'Go to last page',\n labelNextPage: 'Go to next page',\n labelPage: 'Go to page',\n labelPrevPage: 'Go to previous page',\n lastClass: undefined,\n lastNumber: false,\n lastText: '\\u00BB',\n limit: 5,\n nextClass: undefined,\n nextText: '\\u203A',\n pageClass: undefined,\n perPage: DEFAULT_PER_PAGE,\n pills: false,\n prevClass: undefined,\n prevText: '\\u2039',\n size: undefined,\n totalRows: DEFAULT_TOTAL_ROWS,\n})\nconst props = useDefaults(_props, 'BPagination')\nconst emit = defineEmits<BPaginationEmits>()\ndefineSlots<BPaginationSlots>()\n\nconst modelValue = defineModel<Exclude<BPaginationProps['modelValue'], undefined>>({\n default: 1,\n})\n\nconst pageElements = useTemplateRef('_pageElements')\n\nconst limitNumber = useToNumber(() => props.limit, {nanToZero: true, method: 'parseInt'})\nconst perPageNumber = useToNumber(() => props.perPage, {nanToZero: true, method: 'parseInt'})\nconst totalRowsNumber = useToNumber(() => props.totalRows, {nanToZero: true, method: 'parseInt'})\nconst modelValueNumber = useToNumber(modelValue, {nanToZero: true, method: 'parseInt'})\n\nconst perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1))\nconst totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0))\n// Use Active to on page-item to denote active tab\nconst numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value))\nconst computedFill = computed(() => props.align === 'fill')\n// This doesn't use the computedFill util because TS cannot infer that it would never be 'fill'\nconst justifyAlign = computed(() => (props.align === 'fill' ? 'start' : props.align))\n\nconst alignment = useAlignment(justifyAlign)\n\nconst isActivePage = (pageNumber: number) => pageNumber === computedModelValue.value\nconst getTabIndex = (num: number) => (props.disabled ? null : isActivePage(num) ? '0' : '-1')\n\nconst checkDisabled = (num: number) =>\n props.disabled ||\n isActivePage(num) ||\n computedModelValue.value < 1 ||\n // Check if the number is out of bounds\n num < 1 ||\n num > numberOfPages.value\n\nconst firstDisabled = computed(() => checkDisabled(1))\nconst prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1))\nconst lastDisabled = computed(() => checkDisabled(numberOfPages.value))\nconst nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1))\n\nconst getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n tabIndex?: string\n label?: string\n position?: number\n isActive?: boolean\n hidden?: boolean\n isSmHidden?: boolean\n}) => ({\n li: {\n 'class': [\n 'page-item',\n {\n 'active': isActive,\n disabled,\n 'bv-d-sm-down-none': isSmHidden,\n 'flex-fill': computedFill.value,\n 'd-flex': computedFill.value && !disabled,\n },\n classVal,\n ],\n 'role': 'presentation',\n 'aria-hidden': hidden,\n },\n button: {\n 'is': disabled ? 'span' : 'button',\n 'class': ['page-link', 'text-center', {'flex-grow-1': !disabled && computedFill.value}],\n 'aria-label': label,\n 'aria-controls': props.ariaControls || undefined,\n 'aria-disabled': disabled ? true : undefined,\n 'aria-posinset': position,\n 'aria-setsize': position ? numberOfPages.value : undefined,\n 'role': 'menuitem',\n 'type': disabled ? undefined : 'button',\n 'tabindex': disabled ? undefined : tabIndex,\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? undefined : String(page),\n },\n clickHandler: (e: Readonly<MouseEvent>) => pageClick(e, page),\n})\n\nconst getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label,\n}: {\n page: number\n disabled: boolean\n classVal: ClassValue\n slotName: 'first-text' | 'prev-text' | 'next-text' | 'last-text' | 'page'\n textValue?: string\n label: string\n}) => getBaseButtonProps({page, classVal, disabled, slotName, textValue, label, tabIndex: '-1'})\n\nconst getPageButtonProps = (page: number, isSmHidden?: boolean) =>\n getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: 'page',\n label: props.labelPage ? `${props.labelPage} ${page}` : undefined,\n tabIndex: getTabIndex(page) ?? undefined,\n position: page,\n isActive: isActivePage(page),\n isSmHidden,\n })\n\nconst firstButtonProps = computed(() =>\n getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: 'first-text',\n textValue: props.firstText,\n label: props.labelFirstPage,\n })\n)\nconst prevButtonProps = computed(() =>\n getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: 'prev-text',\n textValue: props.prevText,\n label: props.labelPrevPage,\n })\n)\nconst nextButtonProps = computed(() =>\n getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: 'next-text',\n textValue: props.nextText,\n label: props.labelNextPage,\n })\n)\nconst lastButtonProps = computed(() =>\n getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: 'last-text',\n textValue: props.lastText,\n label: props.labelLastPage,\n })\n)\n\nconst ellipsisProps = computed(() => ({\n li: {\n class: [\n 'page-item',\n 'disabled',\n 'text-center',\n 'bv-d-sm-down-none',\n computedFill.value ? 'flex-fill' : '',\n props.ellipsisClass,\n ],\n role: 'separator',\n },\n span: {\n class: ['page-link'],\n },\n}))\n\nconst computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== undefined,\n 'b-pagination-pills': props.pills,\n },\n])\n\nconst pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value,\n}))\n\nconst pageClick = (event: Readonly<MouseEvent>, pageNumber: number) => {\n if (pageNumber === computedModelValue.value) return\n const clickEvent = new BvEvent('page-click', {\n cancelable: true,\n target: event.target,\n })\n emit('page-click', clickEvent, pageNumber)\n\n if (clickEvent.defaultPrevented) return\n\n modelValue.value = pageNumber\n\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst()\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast()\n }\n })\n // nextTick(() => {\n // if (isVisible(target) && un_element.contains(target)) {\n // attemptFocus(target)\n //} else {\n //this.focusCurrent()\n //}\n // })\n}\n\nconst isDisabled = (el: HTMLButtonElement) => {\n const isElement = el && el.nodeType === Node.ELEMENT_NODE\n const hasAttr = isElement ? el.hasAttribute('disabled') : null\n const hasClass = isElement && el.classList ? el.classList.contains('disabled') : false\n\n return !isElement || el.disabled || hasAttr || hasClass\n}\n\nconst getButtons = (): HTMLButtonElement[] =>\n [...(pageElements.value ?? [])]\n .sort(\n (a, b) =>\n Number.parseInt(a.getAttribute('displayIndex') || '0') -\n Number.parseInt(b.getAttribute('displayIndex') || '0')\n )\n .map((page) => page.children[0])\n .filter((el) => {\n if (el?.getAttribute('display') === 'none' || el?.tagName.toUpperCase() !== 'BUTTON') {\n return false\n }\n\n const bcr = el?.getBoundingClientRect()\n\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n })\n .map((el) => el as HTMLButtonElement)\n\nconst focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n\n const button = buttons[index - 1]\n if (index > 0 && button !== undefined && !isDisabled(button)) {\n buttons[index - 1]?.focus()\n }\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const btn = getButtons()\n .reverse()\n .find((el) => !isDisabled(el))\n btn?.focus()\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const buttons = getButtons()\n const index = buttons.indexOf(getActiveElement() as HTMLButtonElement)\n const button = buttons[index + 1]\n if (index < buttons.length - 1 && button !== undefined && !isDisabled(button)) {\n buttons[index + 1]?.focus()\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n const {code, shiftKey} = event\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n }\n}\n\nconst computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page\n})\n\nwatch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n modelValue.value = 1\n }\n})\n\nconst noFirstButton = computed(() => (props.noGotoEndButtons && !props.firstNumber ? 1 : 0))\nconst noLastButton = computed(() => (props.noGotoEndButtons && !props.lastNumber ? 1 : 0))\nconst showFirstButton = computed(() => (noFirstButton.value ? 0 : 1))\nconst showLastButton = computed(() => (noLastButton.value ? 0 : 1))\nconst firstPage = computed(() => (props.firstNumber ? 1 : 0))\nconst lastPage = computed(() => (props.lastNumber ? 1 : 0))\nconst halfLimit = computed(() => Math.floor(limitNumber.value / 2))\n\nconst pages = computed(() => {\n const {value} = computedModelValue\n\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return {id: p, ...firstButtonProps.value}\n case PREV_BUTTON:\n return {id: p, ...prevButtonProps.value}\n case NEXT_BUTTON:\n return {id: p, ...nextButtonProps.value}\n case LAST_BUTTON:\n return {id: p, ...lastButtonProps.value}\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return {id: p, ...ellipsisProps.value}\n default:\n return {id: p, ...getPageButtonProps(p)}\n }\n })\n\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value)\n const el = els[idx]\n if (el !== undefined) {\n els[idx] = {id: el.id, ...getPageButtonProps(el.id, true)}\n }\n }\n }\n\n return els\n})\n\nconst elements = computed(() => {\n // The idea here is to create an array of all the buttons on the page control.\n // This way we can keep the invariants in one place and the template code just\n // iterates over the array.\n\n const pages = numberOfPages.value\n const {value} = computedModelValue\n const limit = limitNumber.value\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD\n\n // The first case is when all of the page buttons fit on the control, this is\n // the simplest case and the only one that will create an array smaller than\n // Limit + 4 - noEndButtons * 2 (the [first, last,] prev, next buttons)\n\n if (pages < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({length: pages}, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null,\n ].filter((x) => x !== null) as number[]\n }\n\n // All of the remaining cases result in an array that is exactly limit + 4 - noEndButtons * 2 in length, so create\n // the array upfront and set up the beginning and end buttons, then fill the rest for each case\n\n const buttons = Array.from({length: limit + 4 - (noFirstButton.value + noLastButton.value)})\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON\n buttons[1] = PREV_BUTTON\n } else {\n buttons[0] = PREV_BUTTON\n buttons[1] = 1\n }\n } else {\n buttons[0] = PREV_BUTTON\n }\n\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON\n buttons[buttons.length - 2] = NEXT_BUTTON\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n buttons[buttons.length - 2] = pages\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON\n }\n\n // The next case is where the page buttons start at the begginning, with\n // no ellipsis at the beginning, but one at the end\n\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value\n }\n\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n // And then we have the case where the page buttons go up to the end, with no\n // ellipsis at the end, but one at the beginning\n\n if (value > pages - halfLimit.value - lastPage.value) {\n const start = pages - (limit - 1) - lastPage.value\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n }\n }\n\n // Finally we have the case where we have ellipsis at both ends\n if (!buttons[2]) {\n // Is there a more elegant way to ceck that we're in the final case?\n const start = value - Math.floor(limit / 2)\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index\n }\n\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS\n }\n }\n\n //Enable sanity check for debugging purposes\n // for (let i = 0; i < buttons.length; i++) {\n // if (!buttons[i]) {\n // // eslint-disable-next-line no-console\n // console.log(\n // `Failed: button == ${i}, limit=${limit}, pages=${pages}, firstPage=${firstPage}, lastPage=${lastPage}, value=${value}`\n // )\n // }\n // }\n\n return buttons.filter((x) => x !== null) as number[]\n})\n</script>\n\n<script lang=\"ts\">\nconst DEFAULT_PER_PAGE = 20\nconst DEFAULT_TOTAL_ROWS = 0\n</script>\n"],"mappings":";;;;;;;;;;;AA0kBA,IAAM,mBAAmB;AACzB,IAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAlhB3B,MAAM,qBAAqB;EAE3B,MAAM,eAAe;EACrB,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,iBAAiB;EACvB,MAAM,gBAAgB;EAiCtB,MAAM,QAAQ,YA/BC,SA+BmB,cAAa;EAC/C,MAAM,OAAO;EAGb,MAAM,aAAa,SAA+D,SAAA,aAEjF;EAED,MAAM,eAAe,eAAe,gBAAe;EAEnD,MAAM,cAAc,kBAAkB,MAAM,OAAO;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EACxF,MAAM,gBAAgB,kBAAkB,MAAM,SAAS;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAC5F,MAAM,kBAAkB,kBAAkB,MAAM,WAAW;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAChG,MAAM,mBAAmB,YAAY,YAAY;GAAC,WAAW;GAAM,QAAQ;GAAW,CAAA;EAEtF,MAAM,mBAAmB,eAAe,KAAK,IAAI,cAAc,SAAS,kBAAkB,EAAE,CAAA;EAC5F,MAAM,qBAAqB,eAAe,KAAK,IAAI,gBAAgB,SAAS,oBAAoB,EAAE,CAAA;EAElG,MAAM,gBAAgB,eAAe,KAAK,KAAK,mBAAmB,QAAQ,iBAAiB,MAAM,CAAA;EACjG,MAAM,eAAe,eAAe,MAAM,UAAU,OAAM;EAI1D,MAAM,YAAY,aAFG,eAAgB,MAAM,UAAU,SAAS,UAAU,MAAM,MAAM,CAEzC;EAE3C,MAAM,gBAAgB,eAAuB,eAAe,mBAAmB;EAC/E,MAAM,eAAe,QAAiB,MAAM,WAAW,OAAO,aAAa,IAAI,GAAG,MAAM;EAExF,MAAM,iBAAiB,QACrB,MAAM,YACN,aAAa,IAAI,IACjB,mBAAmB,QAAQ,KAE3B,MAAM,KACN,MAAM,cAAc;EAEtB,MAAM,gBAAgB,eAAe,cAAc,EAAE,CAAA;EACrD,MAAM,eAAe,eAAe,cAAc,mBAAmB,QAAQ,EAAE,CAAA;EAC/E,MAAM,eAAe,eAAe,cAAc,cAAc,MAAM,CAAA;EACtE,MAAM,eAAe,eAAe,cAAc,mBAAmB,QAAQ,EAAE,CAAA;EAE/E,MAAM,sBAAsB,EAC1B,MACA,UACA,UACA,UACA,WACA,UACA,OACA,UACA,UACA,QACA,kBAaK;GACL,IAAI;IACF,SAAS;KACP;KACA;MACE,UAAU;MACV;MACA,qBAAqB;MACrB,aAAa,aAAa;MAC1B,UAAU,aAAa,SAAS,CAAC;MAClC;KACD;KACD;IACD,QAAQ;IACR,eAAe;IAChB;GACD,QAAQ;IACN,MAAM,WAAW,SAAS;IAC1B,SAAS;KAAC;KAAa;KAAe,EAAC,eAAe,CAAC,YAAY,aAAa,OAAA;KAAO;IACvF,cAAc;IACd,iBAAiB,MAAM,gBAAgB,KAAA;IACvC,iBAAiB,WAAW,OAAO,KAAA;IACnC,iBAAiB;IACjB,gBAAgB,WAAW,cAAc,QAAQ,KAAA;IACjD,QAAQ;IACR,QAAQ,WAAW,KAAA,IAAY;IAC/B,YAAY,WAAW,KAAA,IAAY;IACpC;GACD,MAAM;IACJ,MAAM;IACN,QAAQ;IACR,OAAO,aAAa;IACpB;IACA;IACA,OAAO,OAAO;IACd,SAAS,YAAY,KAAA,IAAY,OAAO,KAAA;IACzC;GACD,eAAe,MAA4B,UAAU,GAAG,KAAA;GACzD;EAED,MAAM,kBAAkB,EACtB,MACA,UACA,UACA,UACA,WACA,YAQI,mBAAmB;GAAC;GAAM;GAAU;GAAU;GAAU;GAAW;GAAO,UAAU;GAAK,CAAA;EAE/F,MAAM,sBAAsB,MAAc,eACxC,mBAAmB;GACjB;GACA,UAAU,MAAM;GAChB,UAAU,MAAM;GAChB,UAAU;GACV,OAAO,MAAM,YAAY,GAAG,MAAM,UAAU,GAAG,SAAS,KAAA;GACxD,UAAU,YAAY,KAAK,IAAI,KAAA;GAC/B,UAAU;GACV,UAAU,aAAa,KAAK;GAC5B;GACD,CAAA;EAEH,MAAM,mBAAmB,eACvB,eAAe;GACb,MAAM;GACN,UAAU,cAAc;GACxB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,KAAK,IAAI,mBAAmB,QAAQ,GAAG,EAAE;GAC/C,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,KAAK,IAAI,mBAAmB,QAAQ,GAAG,cAAc,MAAM;GACjE,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EACA,MAAM,kBAAkB,eACtB,eAAe;GACb,MAAM,cAAc;GACpB,UAAU,aAAa;GACvB,UAAU,MAAM;GAChB,UAAU;GACV,WAAW,MAAM;GACjB,OAAO,MAAM;GACd,CAAA,CACH;EAEA,MAAM,gBAAgB,gBAAgB;GACpC,IAAI;IACF,OAAO;KACL;KACA;KACA;KACA;KACA,aAAa,QAAQ,cAAc;KACnC,MAAM;KACP;IACD,MAAM;IACP;GACD,MAAM,EACJ,OAAO,CAAC,YAAY,EAAA;GAEvB,EAAC;EAEF,MAAM,yBAAyB,eAAe,CAC5C,UAAU,OACV;IACG,cAAc,MAAM,SAAS,MAAM,SAAS,KAAA;GAC7C,sBAAsB,MAAM;GAC7B,CACF,CAAA;EAED,MAAM,aAAa,gBAAgB;GACjC,UAAU,iBAAiB;GAC3B,WAAW,gBAAgB;GAC3B,eAAe,cAAc;GAC9B,EAAC;EAEF,MAAM,aAAa,OAA6B,eAAuB;AACrE,OAAI,eAAe,mBAAmB,MAAO;GAC7C,MAAM,aAAa,IAAI,QAAQ,cAAc;IAC3C,YAAY;IACZ,QAAQ,MAAM;IACf,CAAA;AACD,QAAK,cAAc,YAAY,WAAU;AAEzC,OAAI,WAAW,iBAAkB;AAEjC,cAAW,QAAQ;AAEnB,kBAAe;AACb,QAAI,eAAe,EACjB,aAAW;aACF,eAAe,WAAW,MAAM,cACzC,YAAU;KAEb;;EAUH,MAAM,cAAc,OAA0B;GAC5C,MAAM,YAAY,MAAM,GAAG,aAAa,KAAK;GAC7C,MAAM,UAAU,YAAY,GAAG,aAAa,WAAW,GAAG;GAC1D,MAAM,WAAW,aAAa,GAAG,YAAY,GAAG,UAAU,SAAS,WAAW,GAAG;AAEjF,UAAO,CAAC,aAAa,GAAG,YAAY,WAAW;;EAGjD,MAAM,mBACJ,CAAC,GAAI,aAAa,SAAS,EAAE,CAAC,CAC3B,MACE,GAAG,MACF,OAAO,SAAS,EAAE,aAAa,eAAe,IAAI,IAAI,GACtD,OAAO,SAAS,EAAE,aAAa,eAAe,IAAI,IAAG,CACzD,CACC,KAAK,SAAS,KAAK,SAAS,GAAE,CAC9B,QAAQ,OAAO;AACd,OAAI,IAAI,aAAa,UAAU,KAAK,UAAU,IAAI,QAAQ,aAAa,KAAK,SAC1E,QAAO;GAGT,MAAM,MAAM,IAAI,uBAAsB;AAEtC,UAAO,CAAC,EAAE,OAAO,IAAI,SAAS,KAAK,IAAI,QAAQ;IAChD,CACA,KAAK,OAAO,GAAuB;EAExC,MAAM,mBAAmB;AACvB,kBAAe;AACD,gBAAY,CAAC,MAAM,OAAO,CAAC,WAAW,GAAG,CAAA,EAChD,OAAM;KACZ;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;IACb,MAAM,UAAU,YAAW;IAC3B,MAAM,QAAQ,QAAQ,QAAQ,kBAAkB,CAAqB;IAErE,MAAM,SAAS,QAAQ,QAAQ;AAC/B,QAAI,QAAQ,KAAK,WAAW,KAAA,KAAa,CAAC,WAAW,OAAO,CAC1D,SAAQ,QAAQ,IAAI,OAAM;KAE7B;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;AACD,gBAAW,CACpB,SAAQ,CACR,MAAM,OAAO,CAAC,WAAW,GAAG,CAAA,EAC1B,OAAM;KACZ;;EAGH,MAAM,kBAAkB;AACtB,kBAAe;IACb,MAAM,UAAU,YAAW;IAC3B,MAAM,QAAQ,QAAQ,QAAQ,kBAAkB,CAAqB;IACrE,MAAM,SAAS,QAAQ,QAAQ;AAC/B,QAAI,QAAQ,QAAQ,SAAS,KAAK,WAAW,KAAA,KAAa,CAAC,WAAW,OAAO,CAC3E,SAAQ,QAAQ,IAAI,OAAM;KAE7B;;EAGH,MAAM,gBAAgB,UAAyB;GAC7C,MAAM,EAAC,MAAM,aAAY;AACzB,OAAI,SAAA,eAAsB,SAAA,WAAkB;AAC1C,UAAM,gBAAe;AACrB,QAAI,SACF,aAAW;QAEX,YAAU;cAEH,SAAA,gBAAuB,SAAA,aAAoB;AACpD,UAAM,gBAAe;AACrB,QAAI,SACF,YAAU;QAEV,YAAU;;;EAKhB,MAAM,qBAAqB,eAAe;GACxC,MAAM,OAAO,iBAAiB,SAAS;AACvC,UAAO,OAAO,cAAc,QAAQ,cAAc,QAAQ,OAAO,IAAI,IAAI;IAC1E;AAED,QAAM,aAAa,UAAU,aAAa;AACxC,OAAI,SAAS,aAAa,SAAS,YAAY,SAAS,cAAc,SAAS,UAE7E,YAAW,QAAQ;IAEtB;EAED,MAAM,gBAAgB,eAAgB,MAAM,oBAAoB,CAAC,MAAM,cAAc,IAAI,EAAE;EAC3F,MAAM,eAAe,eAAgB,MAAM,oBAAoB,CAAC,MAAM,aAAa,IAAI,EAAE;EACzF,MAAM,kBAAkB,eAAgB,cAAc,QAAQ,IAAI,EAAE;EACpE,MAAM,iBAAiB,eAAgB,aAAa,QAAQ,IAAI,EAAE;EAClE,MAAM,YAAY,eAAgB,MAAM,cAAc,IAAI,EAAE;EAC5D,MAAM,WAAW,eAAgB,MAAM,aAAa,IAAI,EAAE;EAC1D,MAAM,YAAY,eAAe,KAAK,MAAM,YAAY,QAAQ,EAAE,CAAA;EAElE,MAAM,QAAQ,eAAe;GAC3B,MAAM,EAAC,UAAS;GAEhB,MAAM,MAAM,SAAS,MAAM,KAAK,MAAM;AACpC,YAAQ,GAAR;KACE,KAAK,aACH,QAAO;MAAC,IAAI;MAAG,GAAG,iBAAiB;MAAK;KAC1C,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK,YACH,QAAO;MAAC,IAAI;MAAG,GAAG,gBAAgB;MAAK;KACzC,KAAK;KACL,KAAK,cACH,QAAO;MAAC,IAAI;MAAG,GAAG,cAAc;MAAK;KACvC,QACE,QAAO;MAAC,IAAI;MAAG,GAAG,mBAAmB,EAAA;MAAE;;KAE5C;AAED,OAAI,cAAc,QAAQ,GAAG;AAC3B,QAAI,QAAQ,cAAc,QAAQ,UAAU,QAAQ,SAAS,OAAO;KAClE,MAAM,MAAM,IAAI,gBAAgB;KAChC,MAAM,KAAK,IAAI;AACf,SAAI,OAAO,KAAA,EACT,KAAI,OAAO;MAAC,IAAI,GAAG;MAAI,GAAG,mBAAmB,GAAG,IAAI,KAAA;MAAK;;AAI7D,QAAI,SAAS,UAAU,QAAQ,UAAU,OAAO;KAC9C,MAAM,MAAM,IAAI,UAAU,IAAI,eAAe;KAC7C,MAAM,KAAK,IAAI;AACf,SAAI,OAAO,KAAA,EACT,KAAI,OAAO;MAAC,IAAI,GAAG;MAAI,GAAG,mBAAmB,GAAG,IAAI,KAAA;MAAK;;;AAK/D,UAAO;IACR;EAED,MAAM,WAAW,eAAe;GAK9B,MAAM,QAAQ,cAAc;GAC5B,MAAM,EAAC,UAAS;GAChB,MAAM,QAAQ,YAAY;GAC1B,MAAM,aAAa,MAAM,cAAc,SAAS;AAMhD,OAAI,QAAQ,QAAQ,UAAU,QAAQ,SAAS,MAC7C,QAAO;IACL,CAAC,UAAU,SAAS,CAAC,cAAc,QAAQ,eAAe;IAC1D;IACA,GAAG,MAAM,KAAK,EAAC,QAAQ,OAAM,GAAG,GAAG,UAAU,QAAQ,EAAE;IACvD;IACA,CAAC,SAAS,SAAS,CAAC,aAAa,QAAQ,cAAc;IACxD,CAAC,QAAQ,MAAM,MAAM,KAAK;GAM7B,MAAM,UAAU,MAAM,KAAK,EAAC,QAAQ,QAAQ,KAAK,cAAc,QAAQ,aAAa,QAAO,CAAA;AAC3F,OAAI,CAAC,cAAc,MACjB,KAAI,CAAC,UAAU,OAAO;AACpB,YAAQ,KAAK;AACb,YAAQ,KAAK;UACR;AACL,YAAQ,KAAK;AACb,YAAQ,KAAK;;OAGf,SAAQ,KAAK;AAGf,OAAI,CAAC,aAAa,MAChB,KAAI,CAAC,SAAS,OAAO;AACnB,YAAQ,QAAQ,SAAS,KAAK;AAC9B,YAAQ,QAAQ,SAAS,KAAK;UACzB;AACL,YAAQ,QAAQ,SAAS,KAAK;AAC9B,YAAQ,QAAQ,SAAS,KAAK;;OAGhC,SAAQ,QAAQ,SAAS,KAAK;AAMhC,OAAI,SAAS,UAAU,QAAQ,UAAU,OAAO;AAC9C,SAAK,IAAI,QAAQ,GAAG,SAAS,OAAO,QAClC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ,UAAU;AAG/D,QAAI,CAAC,WACH,SAAQ,QAAQ,UAAU,IAAI,eAAe,UAAU;;AAO3D,OAAI,QAAQ,QAAQ,UAAU,QAAQ,SAAS,OAAO;IACpD,MAAM,QAAQ,SAAS,QAAQ,KAAK,SAAS;AAC7C,SAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,QACjC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ;AAGrD,QAAI,CAAC,WACH,SAAQ,IAAI,gBAAgB,SAAS;;AAKzC,OAAI,CAAC,QAAQ,IAAI;IAEf,MAAM,QAAQ,QAAQ,KAAK,MAAM,QAAQ,EAAC;AAC1C,SAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,QACjC,SAAQ,QAAQ,IAAI,cAAc,SAAS,QAAQ;AAGrD,QAAI,CAAC,YAAY;AACf,aAAQ,IAAI,gBAAgB,SAAS;AACrC,aAAQ,QAAQ,UAAU,IAAI,eAAe,UAAU;;;AAc3D,UAAO,QAAQ,QAAQ,MAAM,MAAM,KAAK;IACzC;;uBArkBC,mBAyCK,MAAA;IAxCH,OAAK,eAAA,CAAC,cACE,uBAAA,MAAsB,CAAA;IAC9B,MAAK;IACJ,iBAAe,MAAA,MAAK,CAAC;IACrB,cAAY,MAAA,MAAK,CAAC,aAAa,KAAA;IAC/B,WAAS;yBAEV,mBAgCK,UAAA,MAAA,WA/BqB,MAAA,QAAhB,MAAM,UAAK;wBADrB,mBAgCK,MAhCL,WAgCK,EA9BF,KAAG,QAAU,KAAK,MAAA,EAAA,EAAA,SAAA,MAAA,EACX,KAAK,IAAE;;KACf,KAAI;KACH,cAAc;SAGP,KAAK,OAAO,kBAAkB,KAAK,OAAO,iBAAA,WAAA,EADlD,mBAOO,QAPP,WAOO;;;OALG,cAAA,MAAc,KAAI,EAAA,CAE1B,WAEO,KAAA,QAAA,iBAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,gBAAY,MAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,IAAA,YAMA,QAAA,WAAA,EAHzB,YAgBY,wBAdL,KAAK,OAAO,GAAE,EAFrB,WAgBY;;;OAfF,KAAK,QAAM,EAGlB,SAAO,KAAK,cAAA,CAAA,EAAA;4BAWN,CATP,WASO,KAAA,QARE,KAAK,KAAK,MAAI;MACpB,UAAU,KAAK,KAAK;MACpB,MAAM,KAAK,KAAK;MAChB,OAAO,KAAK,KAAK;MACjB,QAAQ,KAAK,KAAK,UAAM;MACxB,SAAS,KAAK,KAAK;cAGf,CAAA,gBAAA,gBADF,KAAK,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
-
import { t as useColorVariantClasses } from "./useColorVariantClasses-
|
|
4
|
-
import { s as BCardImg_default, t as BCard_default } from "./BCard-
|
|
5
|
-
import { t as BTableSimple_default } from "./BTableSimple-
|
|
1
|
+
import { z as useToNumber } from "./dist-B10a-gZ8.mjs";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
3
|
+
import { t as useColorVariantClasses } from "./useColorVariantClasses-B6Me_Kx6.mjs";
|
|
4
|
+
import { s as BCardImg_default, t as BCard_default } from "./BCard-C1G8PO5k.mjs";
|
|
5
|
+
import { t as BTableSimple_default } from "./BTableSimple-C901Z5V9.mjs";
|
|
6
6
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/components/BPlaceholder/BPlaceholder.vue
|
|
@@ -293,4 +293,4 @@ var BPlaceholderWrapper_default = /* @__PURE__ */ defineComponent({
|
|
|
293
293
|
//#endregion
|
|
294
294
|
export { BPlaceholder_default as a, BPlaceholderButton_default as i, BPlaceholderTable_default as n, BPlaceholderCard_default as r, BPlaceholderWrapper_default as t };
|
|
295
295
|
|
|
296
|
-
//# sourceMappingURL=BPlaceholder-
|
|
296
|
+
//# sourceMappingURL=BPlaceholder-C4AOg29f.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BPlaceholder-7UJ3Nyb3.mjs","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BPlaceholder-C4AOg29f.mjs","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
3
|
-
const require_useDefaults = require("./useDefaults-
|
|
4
|
-
const require_useColorVariantClasses = require("./useColorVariantClasses-
|
|
5
|
-
const require_BCard = require("./BCard-
|
|
6
|
-
const require_BTableSimple = require("./BTableSimple-
|
|
2
|
+
const require_dist = require("./dist-BJ15ThEs.js");
|
|
3
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
4
|
+
const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js");
|
|
5
|
+
const require_BCard = require("./BCard-CgbTFn3S.js");
|
|
6
|
+
const require_BTableSimple = require("./BTableSimple-BcdizuDm.js");
|
|
7
7
|
let vue = require("vue");
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/components/BPlaceholder/BPlaceholder.vue
|
|
@@ -323,4 +323,4 @@ Object.defineProperty(exports, "BPlaceholder_default", {
|
|
|
323
323
|
}
|
|
324
324
|
});
|
|
325
325
|
|
|
326
|
-
//# sourceMappingURL=BPlaceholder-
|
|
326
|
+
//# sourceMappingURL=BPlaceholder-DYYYuNgR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BPlaceholder-DPEVmogO.js","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BPlaceholder-DYYYuNgR.js","names":["$attrs"],"sources":["../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholder.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderButton.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderCard.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderTable.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue","../src/components/BPlaceholder/BPlaceholderWrapper.vue"],"sourcesContent":["<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <component :is=\"props.wrapperTag\" :class=\"wrapperClasses\">\n <component\n v-bind=\"$attrs\"\n :is=\"tag\"\n class=\"placeholder\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type CSSProperties} from 'vue'\nimport type {BPlaceholderProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BPlaceholderProps>(), {\n animation: undefined,\n cols: 12,\n size: 'md',\n tag: 'span',\n variant: null,\n width: undefined,\n wrapperTag: 'span',\n})\nconst props = useDefaults(_props, 'BPlaceholder')\n\nconst widthString = computed(() =>\n props.width === undefined\n ? undefined\n : typeof props.width === 'number'\n ? props.width.toString()\n : props.width.replace('%', '')\n)\n\nconst colsString = computed(() =>\n props.cols === undefined\n ? undefined\n : typeof props.cols === 'number'\n ? props.cols.toString()\n : props.cols\n)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== undefined && widthString.value === undefined,\n [`placeholder-${props.size}`]: props.size !== 'md',\n },\n])\n\nconst wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== undefined,\n}))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n width: widthString.value === undefined ? undefined : `${widthString.value}%`,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BPlaceholder\n class=\"btn disabled\"\n :class=\"computedClasses\"\n :animation=\"props.animation\"\n :width=\"props.width\"\n :cols=\"props.cols\"\n :tag=\"props.tag\"\n :style=\"{'cursor': 'wait', 'pointer-events': 'auto'}\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport BPlaceholder from './BPlaceholder.vue'\nimport type {BPlaceholderButtonProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BPlaceholderButtonProps>(), {\n animation: undefined,\n cols: undefined,\n tag: 'div',\n variant: 'primary',\n width: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderButton')\n\nconst computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null,\n}))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BCard :img-placement=\"props.imgPlacement\">\n <template v-if=\"!props.noImg\" #img>\n <slot name=\"img\">\n <BCardImg\n :blank=\"!props.imgSrc ? true : false\"\n :blank-color=\"props.imgBlankColor\"\n :height=\"!props.imgSrc ? props.imgHeight : undefined\"\n :src=\"props.imgSrc\"\n :img-placement=\"props.imgPlacement\"\n :style=\"{cursor: 'wait'}\"\n />\n </slot>\n </template>\n\n <template v-if=\"!props.noHeader\" #header>\n <slot name=\"header\">\n <BPlaceholder\n :width=\"props.headerWidth\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :size=\"props.headerSize\"\n />\n </slot>\n </template>\n <slot>\n <BPlaceholder cols=\"7\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"4\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"6\" v-bind=\"defaultAttrs\" />\n <BPlaceholder cols=\"8\" v-bind=\"defaultAttrs\" />\n </slot>\n <template v-if=\"!props.noFooter\" #footer>\n <slot name=\"footer\">\n <component\n :is=\"footerComponent\"\n :width=\"props.footerWidth\"\n :animation=\"props.footerAnimation\"\n :size=\"props.noButton ? props.footerSize : undefined\"\n :variant=\"props.footerVariant\"\n />\n </slot>\n </template>\n </BCard>\n</template>\n\n<script setup lang=\"ts\">\nimport BCard from '../BCard/BCard.vue'\nimport BCardImg from '../BCard/BCardImg.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport BPlaceholderButton from './BPlaceholderButton.vue'\nimport type {BPlaceholderCardProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderCardSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BPlaceholderCardProps>(), {\n animation: undefined,\n footerAnimation: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n footerWidth: 100,\n headerAnimation: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n headerWidth: 100,\n imgBlankColor: '#868e96',\n imgPlacement: 'top',\n imgHeight: 100,\n imgSrc: undefined,\n noButton: false,\n noFooter: false,\n noHeader: false,\n noImg: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderCard')\ndefineSlots<BPlaceholderCardSlots>()\n\nconst defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant,\n}))\n\nconst footerComponent = computed(() => (!props.noButton ? BPlaceholderButton : BPlaceholder))\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <BTableSimple>\n <slot v-if=\"!props.noHeader\" name=\"thead\">\n <thead>\n <tr>\n <th v-for=\"(_, i) in computedHeaderColumnsLength\" :key=\"i\">\n <BPlaceholder\n :size=\"props.headerSize\"\n :variant=\"props.headerVariant\"\n :animation=\"props.headerAnimation\"\n :width=\"props.headerCellWidth\"\n />\n </th>\n </tr>\n </thead>\n </slot>\n <slot>\n <tbody>\n <tr v-for=\"(_, j) in rowsNumber\" :key=\"j\">\n <td v-for=\"(__, k) in columnsNumber\" :key=\"k\">\n <BPlaceholder\n :size=\"props.size\"\n :variant=\"props.variant\"\n :animation=\"props.animation\"\n :width=\"props.cellWidth\"\n />\n </td>\n </tr>\n </tbody>\n </slot>\n <slot v-if=\"props.showFooter\" name=\"tfoot\">\n <tfoot>\n <tr>\n <th v-for=\"(_, l) in computedFooterColumnsLength\" :key=\"l\">\n <BPlaceholder\n :size=\"props.footerSize\"\n :variant=\"props.footerVariant\"\n :animation=\"props.footerAnimation\"\n :width=\"props.footerCellWidth\"\n />\n </th>\n </tr>\n </tfoot>\n </slot>\n </BTableSimple>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderTableProps} from '../../types/ComponentProps'\nimport BTableSimple from '../BTable/BTableSimple.vue'\nimport BPlaceholder from './BPlaceholder.vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BPlaceholderTableSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BPlaceholderTableProps>(), {\n animation: undefined,\n cellWidth: 100,\n columns: 5,\n footerAnimation: undefined,\n footerCellWidth: 100,\n footerColumns: undefined,\n footerSize: 'md',\n footerVariant: undefined,\n headerAnimation: undefined,\n headerCellWidth: 100,\n headerColumns: undefined,\n headerSize: 'md',\n headerVariant: undefined,\n noHeader: false,\n rows: 3,\n showFooter: false,\n size: 'md',\n variant: undefined,\n})\nconst props = useDefaults(_props, 'BPlaceholderTable')\ndefineSlots<BPlaceholderTableSlots>()\n\nconst columnsToNumber = useToNumber(() => props.columns)\nconst rowsToNumber = useToNumber(() => props.rows)\nconst computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN)\nconst computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN)\nconst headerColumnsNumber = useToNumber(computedHeaderColumns)\nconst footerColumnsNumber = useToNumber(computedFooterColumns)\n\nconst columnsNumber = computed(() => columnsToNumber.value || 5)\nconst rowsNumber = computed(() => rowsToNumber.value || 3)\n\nconst computedHeaderColumnsLength = computed(() =>\n props.headerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(headerColumnsNumber.value)\n ? columnsNumber.value\n : headerColumnsNumber.value\n)\nconst computedFooterColumnsLength = computed(() =>\n props.footerColumns === undefined\n ? columnsNumber.value\n : Number.isNaN(footerColumnsNumber.value)\n ? columnsNumber.value\n : footerColumnsNumber.value\n)\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n","<template>\n <slot v-if=\"props.loading\" name=\"loading\" />\n <slot v-else />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BPlaceholderWrapperSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BPlaceholderWrapperProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BPlaceholderWrapperProps>(), {\n loading: false,\n})\nconst props = useDefaults(_props, 'BPlaceholderWrapper')\ndefineSlots<BPlaceholderWrapperSlots>()\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { v as progressInjectionKey } from "./keys-CQKrwmvN.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { t as useDefaults } from "./useDefaults-
|
|
4
|
-
import { t as useColorVariantClasses } from "./useColorVariantClasses-
|
|
2
|
+
import { z as useToNumber } from "./dist-B10a-gZ8.mjs";
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
4
|
+
import { t as useColorVariantClasses } from "./useColorVariantClasses-B6Me_Kx6.mjs";
|
|
5
5
|
import { computed, createElementBlock, createTextVNode, createVNode, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, provide, renderSlot, toDisplayString, toRef, unref } from "vue";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/components/BProgress/BProgressBar.vue
|
|
@@ -132,4 +132,4 @@ var BProgress_default = /* @__PURE__ */ defineComponent({
|
|
|
132
132
|
//#endregion
|
|
133
133
|
export { BProgressBar_default as n, BProgress_default as t };
|
|
134
134
|
|
|
135
|
-
//# sourceMappingURL=BProgress-
|
|
135
|
+
//# sourceMappingURL=BProgress-BIqo6vLh.mjs.map
|