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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BDropdown-DAHnN54Z.mjs","names":[],"sources":["../src/components/BDropdown/BDropdown.vue","../src/components/BDropdown/BDropdown.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n :skip=\"inInputGroup || props.noWrapper\"\n :class=\"computedClasses\"\n :role=\"inButtonGroupAttributes?.role\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"_splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : showRef\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :icon=\"props.icon\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\"> {{ props.text }} </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n :id=\"computedId + '-split'\"\n ref=\"_button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: showRef}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"showRef\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <ul\n v-show=\"showRef\"\n :id=\"computedId + '-menu'\"\n ref=\"_floating\"\n :style=\"[floatingStyles, sizeStyles, {display: showRef || isActive ? 'block' : 'none'}]\"\n class=\"dropdown-menu overflow-auto b-floating-size\"\n :class=\"[props.menuClass, computedMenuClasses]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot\n v-if=\"contentShowing\"\n :id=\"computedId\"\n :hide=\"hide\"\n :show=\"show\"\n :visible=\"showRef\"\n :click=\"onClickInside\"\n :toggle=\"onButtonClick\"\n :active=\"showRef\"\n />\n </ul>\n </Transition>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type ReferenceElement,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {\n computed,\n type ComputedRef,\n type CSSProperties,\n type EmitFn,\n inject,\n nextTick,\n provide,\n readonly,\n ref,\n toRef,\n useTemplateRef,\n watch,\n} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveBootstrapCaret} from '../../utils/floatingUi'\nimport {getElement} from '../../utils/getElement'\nimport {buttonGroupKey, dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\nimport {useShowHide} from '../../composables/useShowHide'\nimport type {BDropdownEmits, BDropdownProps, BDropdownSlots} from '../../types'\nimport {getSafeDocument} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n floatingMiddleware: undefined,\n icon: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFade: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n unmountLazy: false,\n role: 'menu',\n size: 'md',\n noWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n placement: 'bottom-start',\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n show: false,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n transProps: undefined,\n variant: 'secondary',\n visible: false,\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\nconst emit = defineEmits<BDropdownEmits>()\ndefineSlots<BDropdownSlots>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\nconst inButtonGroup = inject(buttonGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : Number.NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floatingElement = useTemplateRef<HTMLUListElement | null>('_floating')\nconst button = useTemplateRef<HTMLElement | null>('_button')\nconst splitButton = useTemplateRef<HTMLElement | null>('_splitButton')\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referenceElement = computed(() => (!props.split ? splitButton.value : button.value))\nlet cleanup: ReturnType<typeof autoUpdate> | undefined\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible,\n isActive,\n} = useShowHide(modelValue, props, emit as EmitFn, referenceElement, computedId, {\n showFn: () => {\n update()\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value as ReferenceElement,\n floatingElement.value as HTMLElement,\n update,\n {\n animationFrame: false,\n }\n )\n })\n },\n hideFn: () => {\n if (cleanup) {\n cleanup()\n cleanup = undefined\n }\n },\n})\n\nconst computedMenuClasses = computed(() => [\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value,\n },\n])\n\nonKeyStroke(\n 'Escape',\n () => {\n hide()\n getElement(referenceElement.value)?.focus()\n },\n {target: referenceElement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n hide()\n getElement(referenceElement.value)?.focus()\n },\n {target: floatingElement, passive: true}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floatingElement.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!showRef.value) {\n show()\n const loop = setInterval(() => {\n if (isVisible.value) {\n clearInterval(loop)\n nextTick(() => keynav(e, v))\n }\n }, 16)\n return\n }\n const list = floatingElement.value?.querySelectorAll(\n '.dropdown-item:not(.disabled):not(:disabled)'\n )\n const doc = getSafeDocument()\n if (!list || !doc) return\n if (floatingElement.value?.contains(doc.activeElement)) {\n const active = floatingElement.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referenceElement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referenceElement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floatingElement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floatingElement})\n\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<readonly Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n '--bv-floating-max-height':\n availableHeight >= (floatingElement.value?.scrollHeight ?? 0)\n ? undefined\n : availableHeight\n ? `${Math.max(0, availableHeight)}px`\n : undefined,\n '--bv-floating-max-width':\n availableWidth >= (floatingElement.value?.scrollWidth ?? 0)\n ? undefined\n : availableWidth\n ? `${Math.max(0, availableWidth)}px`\n : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referenceElement, floatingElement, {\n placement: () => props.placement,\n middleware: floatingMiddleware as ComputedRef<Middleware[]>,\n strategy: toRef(() => props.strategy),\n})\n\nconst inButtonGroupAttributes = inButtonGroup\n ? {\n class: 'btn-group',\n role: 'group',\n }\n : undefined\n\nconst computedClasses = computed(() => [\n inButtonGroupAttributes?.class,\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n [`drop${resolveBootstrapCaret(props.placement)}`]: !props.wrapperClass,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : showRef.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n if (props.split) {\n emit('split-click', event)\n return\n }\n onButtonClick()\n}\n\nonClickOutside(\n floatingElement,\n () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === 'outside')) {\n hide()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === 'inside')) {\n hide()\n }\n}\n\nwatch(isVisible, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n","<template>\n <ConditionalWrapper\n :skip=\"inInputGroup || props.noWrapper\"\n :class=\"computedClasses\"\n :role=\"inButtonGroupAttributes?.role\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"_splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : showRef\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :icon=\"props.icon\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\"> {{ props.text }} </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n :id=\"computedId + '-split'\"\n ref=\"_button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: showRef}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"showRef\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <ul\n v-show=\"showRef\"\n :id=\"computedId + '-menu'\"\n ref=\"_floating\"\n :style=\"[floatingStyles, sizeStyles, {display: showRef || isActive ? 'block' : 'none'}]\"\n class=\"dropdown-menu overflow-auto b-floating-size\"\n :class=\"[props.menuClass, computedMenuClasses]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot\n v-if=\"contentShowing\"\n :id=\"computedId\"\n :hide=\"hide\"\n :show=\"show\"\n :visible=\"showRef\"\n :click=\"onClickInside\"\n :toggle=\"onButtonClick\"\n :active=\"showRef\"\n />\n </ul>\n </Transition>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type ReferenceElement,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {\n computed,\n type ComputedRef,\n type CSSProperties,\n type EmitFn,\n inject,\n nextTick,\n provide,\n readonly,\n ref,\n toRef,\n useTemplateRef,\n watch,\n} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveBootstrapCaret} from '../../utils/floatingUi'\nimport {getElement} from '../../utils/getElement'\nimport {buttonGroupKey, dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\nimport {useShowHide} from '../../composables/useShowHide'\nimport type {BDropdownEmits, BDropdownProps, BDropdownSlots} from '../../types'\nimport {getSafeDocument} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n floatingMiddleware: undefined,\n icon: false,\n id: undefined,\n initialAnimation: false,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFade: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n unmountLazy: false,\n role: 'menu',\n size: 'md',\n noWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n placement: 'bottom-start',\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n show: false,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n transProps: undefined,\n variant: 'secondary',\n visible: false,\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\nconst emit = defineEmits<BDropdownEmits>()\ndefineSlots<BDropdownSlots>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\nconst inButtonGroup = inject(buttonGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : Number.NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floatingElement = useTemplateRef<HTMLUListElement | null>('_floating')\nconst button = useTemplateRef<HTMLElement | null>('_button')\nconst splitButton = useTemplateRef<HTMLElement | null>('_splitButton')\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referenceElement = computed(() => (!props.split ? splitButton.value : button.value))\nlet cleanup: ReturnType<typeof autoUpdate> | undefined\n\nconst {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible,\n isActive,\n} = useShowHide(modelValue, props, emit as EmitFn, referenceElement, computedId, {\n showFn: () => {\n update()\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value as ReferenceElement,\n floatingElement.value as HTMLElement,\n update,\n {\n animationFrame: false,\n }\n )\n })\n },\n hideFn: () => {\n if (cleanup) {\n cleanup()\n cleanup = undefined\n }\n },\n})\n\nconst computedMenuClasses = computed(() => [\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value,\n },\n])\n\nonKeyStroke(\n 'Escape',\n () => {\n hide()\n getElement(referenceElement.value)?.focus()\n },\n {target: referenceElement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n hide()\n getElement(referenceElement.value)?.focus()\n },\n {target: floatingElement, passive: true}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floatingElement.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!showRef.value) {\n show()\n const loop = setInterval(() => {\n if (isVisible.value) {\n clearInterval(loop)\n nextTick(() => keynav(e, v))\n }\n }, 16)\n return\n }\n const list = floatingElement.value?.querySelectorAll(\n '.dropdown-item:not(.disabled):not(:disabled)'\n )\n const doc = getSafeDocument()\n if (!list || !doc) return\n if (floatingElement.value?.contains(doc.activeElement)) {\n const active = floatingElement.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referenceElement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referenceElement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floatingElement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floatingElement})\n\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<readonly Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n '--bv-floating-max-height':\n availableHeight >= (floatingElement.value?.scrollHeight ?? 0)\n ? undefined\n : availableHeight\n ? `${Math.max(0, availableHeight)}px`\n : undefined,\n '--bv-floating-max-width':\n availableWidth >= (floatingElement.value?.scrollWidth ?? 0)\n ? undefined\n : availableWidth\n ? `${Math.max(0, availableWidth)}px`\n : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referenceElement, floatingElement, {\n placement: () => props.placement,\n middleware: floatingMiddleware as ComputedRef<Middleware[]>,\n strategy: toRef(() => props.strategy),\n})\n\nconst inButtonGroupAttributes = inButtonGroup\n ? {\n class: 'btn-group',\n role: 'group',\n }\n : undefined\n\nconst computedClasses = computed(() => [\n inButtonGroupAttributes?.class,\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n [`drop${resolveBootstrapCaret(props.placement)}`]: !props.wrapperClass,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : showRef.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n if (props.split) {\n emit('split-click', event)\n return\n }\n onButtonClick()\n}\n\nonClickOutside(\n floatingElement,\n () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === 'outside')) {\n hide()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === 'inside')) {\n hide()\n }\n}\n\nwatch(isVisible, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_useDefaults = require("./useDefaults-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
3
3
|
let vue = require("vue");
|
|
4
4
|
//#region src/components/BForm/BForm.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = ["id", "novalidate"];
|
|
@@ -48,4 +48,4 @@ Object.defineProperty(exports, "BForm_default", {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=BForm-
|
|
51
|
+
//# sourceMappingURL=BForm-Bp7SFxiK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-
|
|
1
|
+
{"version":3,"file":"BForm-Bp7SFxiK.js","names":[],"sources":["../src/components/BForm/BForm.vue","../src/components/BForm/BForm.vue"],"sourcesContent":["<template>\n <form :id=\"props.id\" ref=\"_element\" :novalidate=\"props.novalidate\" :class=\"computedClasses\">\n <slot />\n </form>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef} from 'vue'\nimport type {BFormSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BFormProps>(), {\n id: undefined,\n floating: false,\n novalidate: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BForm')\ndefineSlots<BFormSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst computedClasses = computed(() => ({\n 'form-floating': props.floating,\n 'was-validated': props.validated,\n}))\n\ndefineExpose({\n element,\n})\n</script>\n","<template>\n <form :id=\"props.id\" ref=\"_element\" :novalidate=\"props.novalidate\" :class=\"computedClasses\">\n <slot />\n </form>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef} from 'vue'\nimport type {BFormSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BFormProps>(), {\n id: undefined,\n floating: false,\n novalidate: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BForm')\ndefineSlots<BFormSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst computedClasses = computed(() => ({\n 'form-floating': props.floating,\n 'was-validated': props.validated,\n}))\n\ndefineExpose({\n element,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ,oBAAA,YANC,SAMmB,QAAO;EAGzC,MAAM,WAAA,GAAA,IAAA,gBAAyB,WAAU;EAEzC,MAAM,mBAAA,GAAA,IAAA,iBAAkC;GACtC,iBAAiB,MAAM;GACvB,iBAAiB,MAAM;GACxB,EAAC;AAEF,WAAa,EACX,SACD,CAAA;;4DA3BQ,QAAA;IAFA,KAAA,GAAA,IAAA,OAAI,MAAK,CAAC;IAAI,KAAI;IAAY,aAAA,GAAA,IAAA,OAAY,MAAK,CAAC;IAAa,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAA;2BACjE,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
require("./
|
|
5
|
-
|
|
6
|
-
require("./
|
|
2
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
3
|
+
const require_useId = require("./useId-DHrBgM7P.js");
|
|
4
|
+
const require_useFormSelect = require("./useFormSelect-nQbGZSi8.js");
|
|
5
|
+
require("./BForm-Bp7SFxiK.js");
|
|
6
|
+
const require_BFormSelectOption = require("./BFormSelectOption-BY4P8HOf.js");
|
|
7
|
+
require("./BFormValidFeedback-DvTgwqSe.js");
|
|
7
8
|
let vue = require("vue");
|
|
8
9
|
//#region src/components/BForm/BFormDatalistBase.vue?vue&type=script&setup=true&lang.ts
|
|
9
10
|
var _hoisted_1$1 = ["id"];
|
|
@@ -35,7 +36,7 @@ var BFormDatalistBase_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
35
36
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("datalist", { id: (0, vue.unref)(computedId) }, [
|
|
36
37
|
(0, vue.renderSlot)(_ctx.$slots, "first"),
|
|
37
38
|
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(normalizedOptsWrapper.value, (option, index) => {
|
|
38
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)(
|
|
39
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)(require_BFormSelectOption.BFormSelectOption_default, (0, vue.mergeProps)({ key: index }, { ref_for: true }, option), {
|
|
39
40
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "option", (0, vue.mergeProps)({ ref_for: true }, option), () => [(0, vue.createTextVNode)((0, vue.toDisplayString)("text" in option ? option.text : ""), 1)])]),
|
|
40
41
|
_: 2
|
|
41
42
|
}, 1040);
|
|
@@ -119,4 +120,4 @@ Object.defineProperty(exports, "BFormFloatingLabel_default", {
|
|
|
119
120
|
}
|
|
120
121
|
});
|
|
121
122
|
|
|
122
|
-
//# sourceMappingURL=BForm-
|
|
123
|
+
//# sourceMappingURL=BForm-BqHUnHpU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-ppPvhIuu.js","names":[],"sources":["../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormFloatingLabel.vue","../src/components/BForm/BFormFloatingLabel.vue"],"sourcesContent":["<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,QAAQ,oBAAA,YARC,SAQmB,gBAAe;EAEjD,MAAM,aAAa,cAAA,YAAY,MAAM,IAAI,WAAU;EAEnD,MAAM,EAAC,mBAAmB,cAAa,sBAAA,oBAC/B,MAAM,UAAA,GAAA,IAAA,iBACI;GAAC,GAAG;GAAO,cAAc;GAAW,YAAY;GAAQ,EAAC,CAC3E;EAEA,MAAM,yBAAA,GAAA,IAAA,gBAEJ,kBAAkB,MAAM,QAAQ,QAAQ,CAAC,UAAU,IAAI,CAAA,CACzD;;4DApCa,YAAA,EAZA,KAAA,GAAA,IAAA,OAAI,WAAU,EAAA,EAAA;wBACF,KAAA,QAAA,QAAA;2DASD,IAAA,UAAA,OAAA,GAAA,IAAA,YAPQ,sBAAA,QAAlB,QAAQ,UAAK;uDAOH,sBAAA,4BAAA,GAAA,IAAA,YAAA,EANjB,KAAK,OAAK,EAAA,EAAA,SAAA,MAAA,EACH,OAAM,EAAA;sCAIP,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,GAAA,IAAA,YAAA,EAAA,SAAA,MAAA,EAFqB,OAAM,QAE3B,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,iBAAA,UADQ,SAAS,OAAO,OAAI,GAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;wBAG7B,KAAA,QAAA,UAAA;;;;;;;;;;;;;;;;;;;;;EEwBZ,MAAM,QAAQ;EAcd,MAAM,qBAAA,GAAA,IAAA,gBACJ,MAAM,QAAQ,KAAK,OAAO;AACxB,OAAI,OAAO,OAAO,SAChB,QAAO;AAET,OAAI,OAAO,OAAO,SAChB,QAAO,OAAO,GAAE;AAElB,OAAI,OAAO,OAAO,UAChB,QAAO,OAAO,GAAE;AAElB,UAAO;IACL,OAAQ,GAA+B,MAAM;IAC7C,MACI,GAA+B,MAAM,cAA+C;IACxF,UACI,GAA+B,MAAM,kBACvC;IACH;IACF,CACH;EAGA,MAAM,kBAAA,GAAA,IAAA,iBAAiC;GACrC,UAAU,MAAM;GAChB,IAAI,MAAM;GACX,EAAC;;qDAhEoB,4BAAA,GAAA,IAAA,YAXO,eAWP,OAXqB,EAAG,SAAS,kBAAA,OAAA,CAAA,EAAA;IAExC,QAAA,GAAA,IAAA,eACY,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,QAAA,CAAA,CAAA;IAGZ,SAAA,GAAA,IAAA,UAAQ,cAAS,EAAA,GAAA,IAAA,YACsB,KAAA,QAAA,WAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,oBAApB,UAAS,CAAA,CAAA,CAAA,CAAA;oCAG/B,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;EEUZ,MAAM,QAAQ,oBAAA,YALC,SAKmB,qBAAoB;;4DAb9C,OAPN,YAOM,EAAA,GAAA,IAAA,YANI,KAAA,QAAA,UAAA,GAAA,GAAA,IAAA,oBAKA,SAAA,EAJA,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC,UAAA,EAAA,EAAA,GAAA,IAAA,YAGV,KAAA,QAAA,SAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BForm-BqHUnHpU.js","names":[],"sources":["../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormFloatingLabel.vue","../src/components/BForm/BFormFloatingLabel.vue"],"sourcesContent":["<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,QAAQ,oBAAA,YARC,SAQmB,gBAAe;EAEjD,MAAM,aAAa,cAAA,YAAY,MAAM,IAAI,WAAU;EAEnD,MAAM,EAAC,mBAAmB,cAAa,sBAAA,oBAC/B,MAAM,UAAA,GAAA,IAAA,iBACI;GAAC,GAAG;GAAO,cAAc;GAAW,YAAY;GAAQ,EAAC,CAC3E;EAEA,MAAM,yBAAA,GAAA,IAAA,gBAEJ,kBAAkB,MAAM,QAAQ,QAAQ,CAAC,UAAU,IAAI,CAAA,CACzD;;4DApCa,YAAA,EAZA,KAAA,GAAA,IAAA,OAAI,WAAU,EAAA,EAAA;wBACF,KAAA,QAAA,QAAA;2DASD,IAAA,UAAA,OAAA,GAAA,IAAA,YAPQ,sBAAA,QAAlB,QAAQ,UAAK;uDAOH,0BAAA,4BAAA,GAAA,IAAA,YAAA,EANjB,KAAK,OAAK,EAAA,EAAA,SAAA,MAAA,EACH,OAAM,EAAA;sCAIP,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,GAAA,IAAA,YAAA,EAAA,SAAA,MAAA,EAFqB,OAAM,QAE3B,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,iBAAA,UADQ,SAAS,OAAO,OAAI,GAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;wBAG7B,KAAA,QAAA,UAAA;;;;;;;;;;;;;;;;;;;;;EEwBZ,MAAM,QAAQ;EAcd,MAAM,qBAAA,GAAA,IAAA,gBACJ,MAAM,QAAQ,KAAK,OAAO;AACxB,OAAI,OAAO,OAAO,SAChB,QAAO;AAET,OAAI,OAAO,OAAO,SAChB,QAAO,OAAO,GAAE;AAElB,OAAI,OAAO,OAAO,UAChB,QAAO,OAAO,GAAE;AAElB,UAAO;IACL,OAAQ,GAA+B,MAAM;IAC7C,MACI,GAA+B,MAAM,cAA+C;IACxF,UACI,GAA+B,MAAM,kBACvC;IACH;IACF,CACH;EAGA,MAAM,kBAAA,GAAA,IAAA,iBAAiC;GACrC,UAAU,MAAM;GAChB,IAAI,MAAM;GACX,EAAC;;qDAhEoB,4BAAA,GAAA,IAAA,YAXO,eAWP,OAXqB,EAAG,SAAS,kBAAA,OAAA,CAAA,EAAA;IAExC,QAAA,GAAA,IAAA,eACY,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,QAAA,CAAA,CAAA;IAGZ,SAAA,GAAA,IAAA,UAAQ,cAAS,EAAA,GAAA,IAAA,YACsB,KAAA,QAAA,WAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,oBAApB,UAAS,CAAA,CAAA,CAAA,CAAA;oCAG/B,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;EEUZ,MAAM,QAAQ,oBAAA,YALC,SAKmB,qBAAoB;;4DAb9C,OAPN,YAOM,EAAA,GAAA,IAAA,YANI,KAAA,QAAA,UAAA,GAAA,GAAA,IAAA,oBAKA,SAAA,EAJA,MAAA,GAAA,IAAA,OAAK,MAAK,CAAC,UAAA,EAAA,EAAA,GAAA,IAAA,YAGV,KAAA,QAAA,SAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,CAAA,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { t as
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
2
|
+
import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
|
|
3
|
+
import { t as useFormSelect } from "./useFormSelect-CANw3ZJG.mjs";
|
|
4
|
+
import "./BForm-Oh6PpdcD.mjs";
|
|
5
|
+
import { t as BFormSelectOption_default } from "./BFormSelectOption-O8cyyv3i.mjs";
|
|
6
|
+
import "./BFormValidFeedback-_Dgzm0Ag.mjs";
|
|
6
7
|
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderList, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
7
8
|
//#region src/components/BForm/BFormDatalistBase.vue?vue&type=script&setup=true&lang.ts
|
|
8
9
|
var _hoisted_1$1 = ["id"];
|
|
@@ -107,4 +108,4 @@ var BFormFloatingLabel_default = /* @__PURE__ */ defineComponent({
|
|
|
107
108
|
//#endregion
|
|
108
109
|
export { BFormDatalist_default as n, BFormFloatingLabel_default as t };
|
|
109
110
|
|
|
110
|
-
//# sourceMappingURL=BForm-
|
|
111
|
+
//# sourceMappingURL=BForm-IL7Rf_27.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-DZW1uWD-.mjs","names":[],"sources":["../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormFloatingLabel.vue","../src/components/BForm/BFormFloatingLabel.vue"],"sourcesContent":["<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,QAAQ,YARC,SAQmB,gBAAe;EAEjD,MAAM,aAAa,cAAY,MAAM,IAAI,WAAU;EAEnD,MAAM,EAAC,mBAAmB,cAAa,oBAC/B,MAAM,SACZ,gBAAgB;GAAC,GAAG;GAAO,cAAc;GAAW,YAAY;GAAQ,EAAC,CAC3E;EAEA,MAAM,wBAAwB,eAE5B,kBAAkB,MAAM,QAAQ,QAAQ,CAAC,UAAU,IAAI,CAAA,CACzD;;uBAhDE,mBAYW,YAAA,EAZA,IAAI,MAAA,WAAU,EAAA,EAAA;IACvB,WAAqB,KAAA,QAAA,QAAA;sBACrB,mBAQoB,UAAA,MAAA,WAPQ,sBAAA,QAAlB,QAAQ,UAAK;yBADvB,YAQoB,2BARpB,WAQoB,EANjB,KAAK,OAAK,EAAA,EAAA,SAAA,MAAA,EACH,OAAM,EAAA;6BAIP,CAFP,WAEO,KAAA,QAAA,UAFP,WAEO,EAAA,SAAA,MAAA,EAFqB,OAAM,QAE3B,CAAA,gBAAA,gBAAA,UADQ,SAAS,OAAO,OAAI,GAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;IAGrC,WAAQ,KAAA,QAAA,UAAA;;;;;;;;;;;;;;;;;;;;;EEwBZ,MAAM,QAAQ;EAcd,MAAM,oBAAoB,eACxB,MAAM,QAAQ,KAAK,OAAO;AACxB,OAAI,OAAO,OAAO,SAChB,QAAO;AAET,OAAI,OAAO,OAAO,SAChB,QAAO,OAAO,GAAE;AAElB,OAAI,OAAO,OAAO,UAChB,QAAO,OAAO,GAAE;AAElB,UAAO;IACL,OAAQ,GAA+B,MAAM;IAC7C,MACI,GAA+B,MAAM,cAA+C;IACxF,UACI,GAA+B,MAAM,kBACvC;IACH;IACF,CACH;EAGA,MAAM,iBAAiB,gBAAgB;GACrC,UAAU,MAAM;GAChB,IAAI,MAAM;GACX,EAAC;;uBA3EA,YAWoB,2BAXpB,WAA2B,eAWP,OAXqB,EAAG,SAAS,kBAAA,OAAA,CAAA,EAAA;IAExC,OAAK,cACO,CAArB,WAAqB,KAAA,QAAA,QAAA,CAAA,CAAA;IAGZ,QAAM,SAAE,cAAS,CAC1B,WAAgD,KAAA,QAAA,UAAA,eAAA,mBAApB,UAAS,CAAA,CAAA,CAAA,CAAA;2BAG/B,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;EEUZ,MAAM,QAAQ,YALC,SAKmB,qBAAoB;;uBApBpD,mBAOM,OAPN,YAOM,CANJ,WAAQ,KAAA,QAAA,UAAA,EACR,mBAIQ,SAAA,EAJA,KAAK,MAAA,MAAK,CAAC,UAAA,EAAA,CACjB,WAEO,KAAA,QAAA,SAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BForm-IL7Rf_27.mjs","names":[],"sources":["../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalistBase.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormDatalist.vue","../src/components/BForm/BFormFloatingLabel.vue","../src/components/BForm/BFormFloatingLabel.vue"],"sourcesContent":["<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <datalist :id=\"computedId\">\n <slot name=\"first\" />\n <BFormSelectOption\n v-for=\"(option, index) in normalizedOptsWrapper\"\n :key=\"index\"\n v-bind=\"option\"\n >\n <slot name=\"option\" v-bind=\"option\">\n {{ 'text' in option ? option.text : '' }}\n </slot>\n </BFormSelectOption>\n <slot />\n </datalist>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormDatalistBaseProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormSelectOption from '../BFormSelect/BFormSelectOption.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {useFormSelect} from '../../composables/useFormSelect'\n\n/**\n * Base component for BFormDatalist - non-generic implementation using useDefaults.\n * Renders a datalist element with normalized options.\n * Filters out complex/grouped options as datalist doesn't support them.\n */\nconst _props = withDefaults(defineProps<BFormDatalistBaseProps>(), {\n disabled: false,\n disabledField: 'disabled',\n id: undefined,\n options: () => [],\n textField: 'text',\n valueField: 'value',\n})\nconst props = useDefaults(_props, 'BFormDatalist')\n\nconst computedId = useId(() => props.id, 'datalist')\n\nconst {normalizedOptions, isComplex} = useFormSelect(\n () => props.options,\n computed(() => ({...props, optionsField: 'options', labelField: 'label'}))\n)\n\nconst normalizedOptsWrapper = computed(() =>\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n)\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <BFormDatalistBase v-bind=\"forwardedProps\" :options=\"normalizedOptions as any\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps as any\" />\n </template>\n\n <slot />\n </BFormDatalistBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Item = Record<string, unknown> | string | number | boolean,\n ValueKey extends Item extends Record<string, unknown> ? keyof Item : string =\n Item extends Record<string, unknown> ? keyof Item : never\n \"\n>\nimport type {BFormDatalistProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {SelectOption} from '../../types/SelectTypes'\nimport type {BFormDatalistSlots} from '../../types'\n\n/**\n * Type-safe wrapper component for BFormDatalist.\n * Provides generic type safety for options and field names.\n * Normalizes typed options and forwards to BFormDatalistBase for rendering.\n * Supports both complex objects and simple scalar types (string, number).\n */\nconst props = withDefaults(defineProps<BFormDatalistProps<Item, ValueKey>>(), {\n disabled: false,\n disabledField: 'disabled' as keyof Item & string,\n id: undefined,\n options: () => [],\n textField: 'text' as keyof Item & string,\n // @ts-expect-error - ValueKey default doesn't satisfy InferDefault but works at runtime\n valueField: 'value',\n})\ndefineSlots<\n BFormDatalistSlots<Item extends Record<string, unknown> ? Item[ValueKey & keyof Item] : Item>\n>()\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n props.options.map((el) => {\n if (typeof el === 'string') {\n return el\n }\n if (typeof el === 'number') {\n return String(el)\n }\n if (typeof el === 'boolean') {\n return String(el)\n }\n return {\n value: (el as Record<string, unknown>)[props.valueField as string],\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ?? '',\n disabled:\n ((el as Record<string, unknown>)[props.disabledField as string] as boolean | undefined) ??\n false,\n } as SelectOption\n })\n)\n\n// Forward all props except options (which we normalize) and field mappings (already used)\nconst forwardedProps = computed(() => ({\n disabled: props.disabled,\n id: props.id,\n}))\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n","<template>\n <div class=\"form-floating\">\n <slot />\n <label :for=\"props.labelFor\">\n <slot name=\"label\">\n {{ props.label }}\n </slot>\n </label>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormFloatingLabelProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,QAAQ,YARC,SAQmB,gBAAe;EAEjD,MAAM,aAAa,cAAY,MAAM,IAAI,WAAU;EAEnD,MAAM,EAAC,mBAAmB,cAAa,oBAC/B,MAAM,SACZ,gBAAgB;GAAC,GAAG;GAAO,cAAc;GAAW,YAAY;GAAQ,EAAC,CAC3E;EAEA,MAAM,wBAAwB,eAE5B,kBAAkB,MAAM,QAAQ,QAAQ,CAAC,UAAU,IAAI,CAAA,CACzD;;uBAhDE,mBAYW,YAAA,EAZA,IAAI,MAAA,WAAU,EAAA,EAAA;IACvB,WAAqB,KAAA,QAAA,QAAA;sBACrB,mBAQoB,UAAA,MAAA,WAPQ,sBAAA,QAAlB,QAAQ,UAAK;yBADvB,YAQoB,2BARpB,WAQoB,EANjB,KAAK,OAAK,EAAA,EAAA,SAAA,MAAA,EACH,OAAM,EAAA;6BAIP,CAFP,WAEO,KAAA,QAAA,UAFP,WAEO,EAAA,SAAA,MAAA,EAFqB,OAAM,QAE3B,CAAA,gBAAA,gBAAA,UADQ,SAAS,OAAO,OAAI,GAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;IAGrC,WAAQ,KAAA,QAAA,UAAA;;;;;;;;;;;;;;;;;;;;;EEwBZ,MAAM,QAAQ;EAcd,MAAM,oBAAoB,eACxB,MAAM,QAAQ,KAAK,OAAO;AACxB,OAAI,OAAO,OAAO,SAChB,QAAO;AAET,OAAI,OAAO,OAAO,SAChB,QAAO,OAAO,GAAE;AAElB,OAAI,OAAO,OAAO,UAChB,QAAO,OAAO,GAAE;AAElB,UAAO;IACL,OAAQ,GAA+B,MAAM;IAC7C,MACI,GAA+B,MAAM,cAA+C;IACxF,UACI,GAA+B,MAAM,kBACvC;IACH;IACF,CACH;EAGA,MAAM,iBAAiB,gBAAgB;GACrC,UAAU,MAAM;GAChB,IAAI,MAAM;GACX,EAAC;;uBA3EA,YAWoB,2BAXpB,WAA2B,eAWP,OAXqB,EAAG,SAAS,kBAAA,OAAA,CAAA,EAAA;IAExC,OAAK,cACO,CAArB,WAAqB,KAAA,QAAA,QAAA,CAAA,CAAA;IAGZ,QAAM,SAAE,cAAS,CAC1B,WAAgD,KAAA,QAAA,UAAA,eAAA,mBAApB,UAAS,CAAA,CAAA,CAAA,CAAA;2BAG/B,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;EEUZ,MAAM,QAAQ,YALC,SAKmB,qBAAoB;;uBApBpD,mBAOM,OAPN,YAOM,CANJ,WAAQ,KAAA,QAAA,UAAA,EACR,mBAIQ,SAAA,EAJA,KAAK,MAAA,MAAK,CAAC,UAAA,EAAA,CACjB,WAEO,KAAA,QAAA,SAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,CAAA,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
2
2
|
import { computed, createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref, useTemplateRef } from "vue";
|
|
3
3
|
//#region src/components/BForm/BForm.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var _hoisted_1 = ["id", "novalidate"];
|
|
@@ -42,4 +42,4 @@ var BForm_default = /* @__PURE__ */ defineComponent({
|
|
|
42
42
|
//#endregion
|
|
43
43
|
export { BForm_default as t };
|
|
44
44
|
|
|
45
|
-
//# sourceMappingURL=BForm-
|
|
45
|
+
//# sourceMappingURL=BForm-Oh6PpdcD.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-
|
|
1
|
+
{"version":3,"file":"BForm-Oh6PpdcD.mjs","names":[],"sources":["../src/components/BForm/BForm.vue","../src/components/BForm/BForm.vue"],"sourcesContent":["<template>\n <form :id=\"props.id\" ref=\"_element\" :novalidate=\"props.novalidate\" :class=\"computedClasses\">\n <slot />\n </form>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef} from 'vue'\nimport type {BFormSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BFormProps>(), {\n id: undefined,\n floating: false,\n novalidate: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BForm')\ndefineSlots<BFormSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst computedClasses = computed(() => ({\n 'form-floating': props.floating,\n 'was-validated': props.validated,\n}))\n\ndefineExpose({\n element,\n})\n</script>\n","<template>\n <form :id=\"props.id\" ref=\"_element\" :novalidate=\"props.novalidate\" :class=\"computedClasses\">\n <slot />\n </form>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef} from 'vue'\nimport type {BFormSlots} from '../../types/ComponentSlots'\n\nconst _props = withDefaults(defineProps<BFormProps>(), {\n id: undefined,\n floating: false,\n novalidate: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BForm')\ndefineSlots<BFormSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst computedClasses = computed(() => ({\n 'form-floating': props.floating,\n 'was-validated': props.validated,\n}))\n\ndefineExpose({\n element,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ,YANC,SAMmB,QAAO;EAGzC,MAAM,UAAU,eAAe,WAAU;EAEzC,MAAM,kBAAkB,gBAAgB;GACtC,iBAAiB,MAAM;GACvB,iBAAiB,MAAM;GACxB,EAAC;AAEF,WAAa,EACX,SACD,CAAA;;uBA7BC,mBAEO,QAAA;IAFA,IAAI,MAAA,MAAK,CAAC;IAAI,KAAI;IAAY,YAAY,MAAA,MAAK,CAAC;IAAa,OAAK,eAAE,gBAAA,MAAA;OACzE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
2
|
const require_keys = require("./keys-durSVUrO.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-BJ15ThEs.js");
|
|
4
4
|
const require_dom = require("./dom-Bs6DzM72.js");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const require_ConditionalWrapper = require("./ConditionalWrapper-
|
|
8
|
-
const require_useFormCheck = require("./useFormCheck-
|
|
5
|
+
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
|
|
6
|
+
const require_useId = require("./useId-DHrBgM7P.js");
|
|
7
|
+
const require_ConditionalWrapper = require("./ConditionalWrapper-Cc7EIszd.js");
|
|
8
|
+
const require_useFormCheck = require("./useFormCheck-UHNy_iZ0.js");
|
|
9
9
|
let vue = require("vue");
|
|
10
10
|
//#region src/components/BFormCheckbox/BFormCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
11
11
|
var _hoisted_1$1 = [
|
|
@@ -483,4 +483,4 @@ Object.defineProperty(exports, "BFormCheckbox_default", {
|
|
|
483
483
|
}
|
|
484
484
|
});
|
|
485
485
|
|
|
486
|
-
//# sourceMappingURL=BFormCheckbox-
|
|
486
|
+
//# sourceMappingURL=BFormCheckbox-Bdk2rgVe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BFormCheckbox-MEwee9Ij.js","names":[],"sources":["../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BFormCheckbox-Bdk2rgVe.js","names":[],"sources":["../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: 'md' as const,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: 'md',\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { d as formGroupKey, s as checkboxGroupKey } from "./keys-CQKrwmvN.mjs";
|
|
2
|
-
import { h as useFocus } from "./dist-
|
|
2
|
+
import { h as useFocus } from "./dist-B10a-gZ8.mjs";
|
|
3
3
|
import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as ConditionalWrapper_default } from "./ConditionalWrapper-
|
|
7
|
-
import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-
|
|
4
|
+
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
|
|
5
|
+
import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
|
|
6
|
+
import { t as ConditionalWrapper_default } from "./ConditionalWrapper-D9ovtbHB.mjs";
|
|
7
|
+
import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CJvIDxcO.mjs";
|
|
8
8
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, provide, renderList, renderSlot, toDisplayString, toRef, unref, useAttrs, useModel, useSlots, useTemplateRef, vModelCheckbox, withCtx, withDirectives } from "vue";
|
|
9
9
|
//#region src/components/BFormCheckbox/BFormCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var _hoisted_1$1 = [
|
|
@@ -471,4 +471,4 @@ var BFormCheckboxGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
471
471
|
//#endregion
|
|
472
472
|
export { BFormCheckbox_default as n, BFormCheckboxGroup_default as t };
|
|
473
473
|
|
|
474
|
-
//# sourceMappingURL=BFormCheckbox-
|
|
474
|
+
//# sourceMappingURL=BFormCheckbox-CcDK-lh1.mjs.map
|