bootstrap-vue-next 0.45.4 → 0.45.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BAccordion-Gz2SpRmq.mjs → BAccordion-D51b9HVD.mjs} +5 -5
- package/dist/{BAccordion-Gz2SpRmq.mjs.map → BAccordion-D51b9HVD.mjs.map} +1 -1
- package/dist/{BAccordion-DgXJMqdG.js → BAccordion-DYmuqZIG.js} +5 -5
- package/dist/{BAccordion-DgXJMqdG.js.map → BAccordion-DYmuqZIG.js.map} +1 -1
- package/dist/{BAlert-BFPBalmr.mjs → BAlert-Ce2uxrJi.mjs} +8 -8
- package/dist/{BAlert-BFPBalmr.mjs.map → BAlert-Ce2uxrJi.mjs.map} +1 -1
- package/dist/{BAlert-Dk3rgEOI.js → BAlert-croEtrQu.js} +8 -8
- package/dist/{BAlert-Dk3rgEOI.js.map → BAlert-croEtrQu.js.map} +1 -1
- package/dist/{BApp-CIu-zI8K.mjs → BApp-B-fUrnpK.mjs} +2 -2
- package/dist/{BApp-CIu-zI8K.mjs.map → BApp-B-fUrnpK.mjs.map} +1 -1
- package/dist/{BApp-cBKQc5Dd.js → BApp-DOvEe1jo.js} +2 -2
- package/dist/{BApp-cBKQc5Dd.js.map → BApp-DOvEe1jo.js.map} +1 -1
- package/dist/{BAspect-BULTO240.js → BAspect-CUIU48Ck.js} +2 -2
- package/dist/{BAspect-BULTO240.js.map → BAspect-CUIU48Ck.js.map} +1 -1
- package/dist/{BAspect-CwokVvvn.mjs → BAspect-wfiXM4KA.mjs} +2 -2
- package/dist/{BAspect-CwokVvvn.mjs.map → BAspect-wfiXM4KA.mjs.map} +1 -1
- package/dist/{BAutocomplete-j3KJbBFs.mjs → BAutocomplete-CH-bQzME.mjs} +9 -9
- package/dist/{BAutocomplete-j3KJbBFs.mjs.map → BAutocomplete-CH-bQzME.mjs.map} +1 -1
- package/dist/{BAutocomplete-BCOfyy8g.js → BAutocomplete-DLDFAV5_.js} +9 -9
- package/dist/{BAutocomplete-BCOfyy8g.js.map → BAutocomplete-DLDFAV5_.js.map} +1 -1
- package/dist/{BAvatar-CZn0MQHY.js → BAvatar-FGK0dK0x.js} +5 -5
- package/dist/{BAvatar-CZn0MQHY.js.map → BAvatar-FGK0dK0x.js.map} +1 -1
- package/dist/{BAvatar-DODGnQMY.mjs → BAvatar-iALHbqVk.mjs} +5 -5
- package/dist/{BAvatar-DODGnQMY.mjs.map → BAvatar-iALHbqVk.mjs.map} +1 -1
- package/dist/{BBadge-CZ219I7a.mjs → BBadge-Cx_CdauK.mjs} +3 -3
- package/dist/{BBadge-CZ219I7a.mjs.map → BBadge-Cx_CdauK.mjs.map} +1 -1
- package/dist/{BBadge-DTJcCo9u.js → BBadge-Db6SEnzy.js} +3 -3
- package/dist/{BBadge-DTJcCo9u.js.map → BBadge-Db6SEnzy.js.map} +1 -1
- package/dist/{BBreadcrumb-DFG2Qxl9.js → BBreadcrumb-B9ra7vg2.js} +3 -3
- package/dist/{BBreadcrumb-DFG2Qxl9.js.map → BBreadcrumb-B9ra7vg2.js.map} +1 -1
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs → BBreadcrumb-BxADbg0O.mjs} +3 -3
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs.map → BBreadcrumb-BxADbg0O.mjs.map} +1 -1
- package/dist/{BButton-C0Ylhonf.mjs → BButton-BSa7LfL5.mjs} +5 -5
- package/dist/{BButton-C0Ylhonf.mjs.map → BButton-BSa7LfL5.mjs.map} +1 -1
- package/dist/{BButton-BZ9eI3ZX.js → BButton-DRRlzkyK.js} +5 -5
- package/dist/{BButton-BZ9eI3ZX.js.map → BButton-DRRlzkyK.js.map} +1 -1
- package/dist/{BButton-D_sCrjpg.mjs → BButton-PY7AANXJ.mjs} +4 -4
- package/dist/{BButton-D_sCrjpg.mjs.map → BButton-PY7AANXJ.mjs.map} +1 -1
- package/dist/{BButton-Dr-RadYQ.js → BButton-aYtMnyHu.js} +4 -4
- package/dist/{BButton-Dr-RadYQ.js.map → BButton-aYtMnyHu.js.map} +1 -1
- package/dist/{BCard-cj8_dIcz.mjs → BCard-BWoruisp.mjs} +3 -3
- package/dist/{BCard-cj8_dIcz.mjs.map → BCard-BWoruisp.mjs.map} +1 -1
- package/dist/{BCard-BjQkY783.js → BCard-Bh8RLMo_.js} +3 -3
- package/dist/{BCard-BjQkY783.js.map → BCard-Bh8RLMo_.js.map} +1 -1
- package/dist/{BCard-TS8DtOwm.mjs → BCard-CHbKv2OR.mjs} +3 -3
- package/dist/{BCard-TS8DtOwm.mjs.map → BCard-CHbKv2OR.mjs.map} +1 -1
- package/dist/{BCard-BkvG5Zzw.js → BCard-DwNYhVmg.js} +3 -3
- package/dist/{BCard-BkvG5Zzw.js.map → BCard-DwNYhVmg.js.map} +1 -1
- package/dist/{BCarousel-D23rApAX.js → BCarousel-2JB21Pcu.js} +5 -5
- package/dist/{BCarousel-D23rApAX.js.map → BCarousel-2JB21Pcu.js.map} +1 -1
- package/dist/{BCarousel-VL1gVXpt.mjs → BCarousel-B6_bgQpl.mjs} +5 -5
- package/dist/{BCarousel-VL1gVXpt.mjs.map → BCarousel-B6_bgQpl.mjs.map} +1 -1
- package/dist/{BCloseButton-CCdRwLDo.mjs → BCloseButton-CKTKr4PS.mjs} +2 -2
- package/dist/{BCloseButton-CCdRwLDo.mjs.map → BCloseButton-CKTKr4PS.mjs.map} +1 -1
- package/dist/{BCloseButton-fw5ONnhr.js → BCloseButton-D42zHRLP.js} +2 -2
- package/dist/{BCloseButton-fw5ONnhr.js.map → BCloseButton-D42zHRLP.js.map} +1 -1
- package/dist/{BCol-VPaTVLsM.mjs → BCol-B3VeEk9z.mjs} +2 -2
- package/dist/{BCol-VPaTVLsM.mjs.map → BCol-B3VeEk9z.mjs.map} +1 -1
- package/dist/{BCol-CArTYHqb.js → BCol-Ck9VydHj.js} +2 -2
- package/dist/{BCol-CArTYHqb.js.map → BCol-Ck9VydHj.js.map} +1 -1
- package/dist/{BCollapse-CZlDVTpI.js → BCollapse-CDLYLSZo.js} +5 -5
- package/dist/{BCollapse-CZlDVTpI.js.map → BCollapse-CDLYLSZo.js.map} +1 -1
- package/dist/{BCollapse-CTvK48kB.mjs → BCollapse-kqhe4AmL.mjs} +5 -5
- package/dist/{BCollapse-CTvK48kB.mjs.map → BCollapse-kqhe4AmL.mjs.map} +1 -1
- package/dist/{BContainer-CeHyMYb_.mjs → BContainer-ATfhaxTc.mjs} +4 -4
- package/dist/{BContainer-CeHyMYb_.mjs.map → BContainer-ATfhaxTc.mjs.map} +1 -1
- package/dist/{BContainer-CNmEk2mi.js → BContainer-CcF6dgtI.js} +4 -4
- package/dist/{BContainer-CNmEk2mi.js.map → BContainer-CcF6dgtI.js.map} +1 -1
- package/dist/{BDateField-gRWIwMnA.mjs → BDateField-CccP3H1R.mjs} +3 -3
- package/dist/{BDateField-gRWIwMnA.mjs.map → BDateField-CccP3H1R.mjs.map} +1 -1
- package/dist/{BDateField-B4yL8Pju.js → BDateField-DzZw5FRX.js} +3 -3
- package/dist/{BDateField-B4yL8Pju.js.map → BDateField-DzZw5FRX.js.map} +1 -1
- package/dist/{BDatePicker-m2drV1fl.js → BDatePicker-BDkzkOcm.js} +3 -3
- package/dist/{BDatePicker-m2drV1fl.js.map → BDatePicker-BDkzkOcm.js.map} +1 -1
- package/dist/{BDatePicker-ZuMpgD91.mjs → BDatePicker-BnwnSkBg.mjs} +3 -3
- package/dist/{BDatePicker-ZuMpgD91.mjs.map → BDatePicker-BnwnSkBg.mjs.map} +1 -1
- package/dist/{BDropdown-D2ep4wKG.mjs → BDropdown-0E8x5kk6.mjs} +5 -5
- package/dist/{BDropdown-D2ep4wKG.mjs.map → BDropdown-0E8x5kk6.mjs.map} +1 -1
- package/dist/{BDropdown-B2vWJ-u0.mjs → BDropdown-B1DbvVzm.mjs} +7 -7
- package/dist/{BDropdown-B2vWJ-u0.mjs.map → BDropdown-B1DbvVzm.mjs.map} +1 -1
- package/dist/{BDropdown-BSCasYDc.js → BDropdown-BPFtkX3p.js} +7 -7
- package/dist/{BDropdown-BSCasYDc.js.map → BDropdown-BPFtkX3p.js.map} +1 -1
- package/dist/{BDropdown-CL-erjq8.js → BDropdown-DKCgBzYS.js} +5 -5
- package/dist/{BDropdown-CL-erjq8.js.map → BDropdown-DKCgBzYS.js.map} +1 -1
- package/dist/{BForm-CriVh5cC.js → BForm-6JlWdQMO.js} +10 -7
- package/dist/{BForm-CriVh5cC.js.map → BForm-6JlWdQMO.js.map} +1 -1
- package/dist/{BForm-CpNuvbIt.mjs → BForm-BVfW08s5.mjs} +2 -2
- package/dist/{BForm-CpNuvbIt.mjs.map → BForm-BVfW08s5.mjs.map} +1 -1
- package/dist/{BForm-__5Chigr.mjs → BForm-DJu2hDV_.mjs} +11 -8
- package/dist/{BForm-__5Chigr.mjs.map → BForm-DJu2hDV_.mjs.map} +1 -1
- package/dist/{BForm-K67Ciyza.js → BForm-cnRpggt9.js} +2 -2
- package/dist/{BForm-K67Ciyza.js.map → BForm-cnRpggt9.js.map} +1 -1
- package/dist/{BFormCheckbox-xN7AQw4O.mjs → BFormCheckbox-Baf_9BSc.mjs} +9 -6
- package/dist/BFormCheckbox-Baf_9BSc.mjs.map +1 -0
- package/dist/{BFormCheckbox-g7gtIrhy.js → BFormCheckbox-D5ySHMJ8.js} +9 -6
- package/dist/BFormCheckbox-D5ySHMJ8.js.map +1 -0
- package/dist/{BFormFile-DXdAyYmv.mjs → BFormFile-EXRrATZm.mjs} +3 -3
- package/dist/{BFormFile-DXdAyYmv.mjs.map → BFormFile-EXRrATZm.mjs.map} +1 -1
- package/dist/{BFormFile-DC-x9wQo.js → BFormFile-X-BQsYko.js} +3 -3
- package/dist/{BFormFile-DC-x9wQo.js.map → BFormFile-X-BQsYko.js.map} +1 -1
- package/dist/{BFormGroup-DZTiChgT.js → BFormGroup-Bk1t-D1N.js} +89 -104
- package/dist/BFormGroup-Bk1t-D1N.js.map +1 -0
- package/dist/{BFormGroup-ayltvQts.mjs → BFormGroup-vysRPb99.mjs} +90 -105
- package/dist/BFormGroup-vysRPb99.mjs.map +1 -0
- package/dist/{BFormInput-DNuvqbFQ.js → BFormInput-CBwwDjfC.js} +4 -4
- package/dist/{BFormInput-DNuvqbFQ.js.map → BFormInput-CBwwDjfC.js.map} +1 -1
- package/dist/{BFormInput-NKko58M2.mjs → BFormInput-sEfU3CuN.mjs} +4 -4
- package/dist/{BFormInput-NKko58M2.mjs.map → BFormInput-sEfU3CuN.mjs.map} +1 -1
- package/dist/{BFormOtp-B4al7MJf.mjs → BFormOtp-C8X3u1od.mjs} +4 -4
- package/dist/{BFormOtp-B4al7MJf.mjs.map → BFormOtp-C8X3u1od.mjs.map} +1 -1
- package/dist/{BFormOtp-UcLR9oFd.js → BFormOtp-CLrQJRPe.js} +4 -4
- package/dist/{BFormOtp-UcLR9oFd.js.map → BFormOtp-CLrQJRPe.js.map} +1 -1
- package/dist/{BFormRadio-DX-gM5Rc.js → BFormRadio-B2yu-o2v.js} +9 -6
- package/dist/BFormRadio-B2yu-o2v.js.map +1 -0
- package/dist/{BFormRadio-DHx68AdL.mjs → BFormRadio-COc_IbxC.mjs} +9 -6
- package/dist/BFormRadio-COc_IbxC.mjs.map +1 -0
- package/dist/{BFormRating-BR7RMvZG.mjs → BFormRating-CIgPVsH_.mjs} +4 -4
- package/dist/{BFormRating-BR7RMvZG.mjs.map → BFormRating-CIgPVsH_.mjs.map} +1 -1
- package/dist/{BFormRating-CF-x5qkB.js → BFormRating-CSdRxN5z.js} +4 -4
- package/dist/{BFormRating-CF-x5qkB.js.map → BFormRating-CSdRxN5z.js.map} +1 -1
- package/dist/{BFormSelect-CUkyKBNN.js → BFormSelect-CI92Dv27.js} +8 -7
- package/dist/BFormSelect-CI92Dv27.js.map +1 -0
- package/dist/{BFormSelect-Co-ZU8yY.mjs → BFormSelect-P-InkOm-.mjs} +8 -7
- package/dist/BFormSelect-P-InkOm-.mjs.map +1 -0
- package/dist/{BFormSelectOption-B3BO50XB.mjs → BFormSelectOption-DFN4lPRh.mjs} +3 -3
- package/dist/{BFormSelectOption-B3BO50XB.mjs.map → BFormSelectOption-DFN4lPRh.mjs.map} +1 -1
- package/dist/{BFormSelectOption-CQ3j1Q5j.js → BFormSelectOption-DrwJucNf.js} +3 -3
- package/dist/{BFormSelectOption-CQ3j1Q5j.js.map → BFormSelectOption-DrwJucNf.js.map} +1 -1
- package/dist/{BFormSpinbutton-DPCXum9q.js → BFormSpinbutton-1gTz4nTo.js} +4 -4
- package/dist/{BFormSpinbutton-DPCXum9q.js.map → BFormSpinbutton-1gTz4nTo.js.map} +1 -1
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs → BFormSpinbutton-6qkTBF_4.mjs} +4 -4
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs.map → BFormSpinbutton-6qkTBF_4.mjs.map} +1 -1
- package/dist/{BFormTag-Bsy6Znok.js → BFormTag-CeV0MSRC.js} +4 -4
- package/dist/{BFormTag-Bsy6Znok.js.map → BFormTag-CeV0MSRC.js.map} +1 -1
- package/dist/{BFormTag-Cjg1R-Lj.mjs → BFormTag-CnzI39y9.mjs} +4 -4
- package/dist/{BFormTag-Cjg1R-Lj.mjs.map → BFormTag-CnzI39y9.mjs.map} +1 -1
- package/dist/{BFormTags-D2Dk598Q.mjs → BFormTags-BMltSaKL.mjs} +4 -4
- package/dist/{BFormTags-D2Dk598Q.mjs.map → BFormTags-BMltSaKL.mjs.map} +1 -1
- package/dist/{BFormTags-BIZyBseI.js → BFormTags-BhO60uiL.js} +4 -4
- package/dist/{BFormTags-BIZyBseI.js.map → BFormTags-BhO60uiL.js.map} +1 -1
- package/dist/{BFormTextarea-CYh47SxL.js → BFormTextarea-C3Cj0DWj.js} +3 -3
- package/dist/{BFormTextarea-CYh47SxL.js.map → BFormTextarea-C3Cj0DWj.js.map} +1 -1
- package/dist/{BFormTextarea-M21mholw.mjs → BFormTextarea-DN1gAfSo.mjs} +3 -3
- package/dist/{BFormTextarea-M21mholw.mjs.map → BFormTextarea-DN1gAfSo.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-DWkakzVO.mjs → BFormValidFeedback-CBYxQLDz.mjs} +44 -4
- package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +1 -0
- package/dist/{BFormValidFeedback-BhkEhSa0.js → BFormValidFeedback-Kwxh798d.js} +48 -2
- package/dist/BFormValidFeedback-Kwxh798d.js.map +1 -0
- package/dist/{BImg-DFiJSy66.js → BImg-JKJLgYYT.js} +2 -2
- package/dist/{BImg-DFiJSy66.js.map → BImg-JKJLgYYT.js.map} +1 -1
- package/dist/{BImg-UUMOpbK0.mjs → BImg-QBS2ECBc.mjs} +2 -2
- package/dist/{BImg-UUMOpbK0.mjs.map → BImg-QBS2ECBc.mjs.map} +1 -1
- package/dist/{BInputGroup-BAC-B_UM.js → BInputGroup-Bvlfv6VD.js} +3 -3
- package/dist/{BInputGroup-BAC-B_UM.js.map → BInputGroup-Bvlfv6VD.js.map} +1 -1
- package/dist/{BInputGroup-CiKwWBSu.js → BInputGroup-D4fW324B.js} +3 -3
- package/dist/{BInputGroup-CiKwWBSu.js.map → BInputGroup-D4fW324B.js.map} +1 -1
- package/dist/{BInputGroup-CfELrPhK.mjs → BInputGroup-DiTSexkT.mjs} +3 -3
- package/dist/{BInputGroup-CfELrPhK.mjs.map → BInputGroup-DiTSexkT.mjs.map} +1 -1
- package/dist/{BInputGroup-3AVRA3U7.mjs → BInputGroup-X2Z53RJx.mjs} +3 -3
- package/dist/{BInputGroup-3AVRA3U7.mjs.map → BInputGroup-X2Z53RJx.mjs.map} +1 -1
- package/dist/{BLink-CNFWSz0D.mjs → BLink-Dfgte6dQ.mjs} +3 -3
- package/dist/{BLink-CNFWSz0D.mjs.map → BLink-Dfgte6dQ.mjs.map} +1 -1
- package/dist/{BLink-uLjtY3bY.js → BLink-kLEjleB1.js} +3 -3
- package/dist/{BLink-uLjtY3bY.js.map → BLink-kLEjleB1.js.map} +1 -1
- package/dist/{BListGroup-CeXKZio1.js → BListGroup-C8JOzHTz.js} +4 -4
- package/dist/{BListGroup-CeXKZio1.js.map → BListGroup-C8JOzHTz.js.map} +1 -1
- package/dist/{BListGroup-CGxa7ZEu.mjs → BListGroup-DwTLpNiD.mjs} +4 -4
- package/dist/{BListGroup-CGxa7ZEu.mjs.map → BListGroup-DwTLpNiD.mjs.map} +1 -1
- package/dist/{BModal-BEmloby5.mjs → BModal-C-ZCau2E.mjs} +7 -7
- package/dist/{BModal-BEmloby5.mjs.map → BModal-C-ZCau2E.mjs.map} +1 -1
- package/dist/{BModal-6hh-azT8.js → BModal-VstTwEq9.js} +7 -7
- package/dist/{BModal-6hh-azT8.js.map → BModal-VstTwEq9.js.map} +1 -1
- package/dist/{BNav-u9QwSGj3.js → BNav-DCLambmM.js} +5 -5
- package/dist/{BNav-u9QwSGj3.js.map → BNav-DCLambmM.js.map} +1 -1
- package/dist/{BNav-EHHlEg1E.mjs → BNav-DfYvjfRK.mjs} +5 -5
- package/dist/{BNav-EHHlEg1E.mjs.map → BNav-DfYvjfRK.mjs.map} +1 -1
- package/dist/{BNavbar-s8yvmhyz.js → BNavbar-BLWaZJRP.js} +4 -4
- package/dist/{BNavbar-s8yvmhyz.js.map → BNavbar-BLWaZJRP.js.map} +1 -1
- package/dist/{BNavbar-kgHIo_Gr.mjs → BNavbar-xYaikQVY.mjs} +4 -4
- package/dist/{BNavbar-kgHIo_Gr.mjs.map → BNavbar-xYaikQVY.mjs.map} +1 -1
- package/dist/{BOffcanvas-CwH0DqSG.mjs → BOffcanvas-CQb9XNvS.mjs} +6 -6
- package/dist/{BOffcanvas-CwH0DqSG.mjs.map → BOffcanvas-CQb9XNvS.mjs.map} +1 -1
- package/dist/{BOffcanvas-DdiP19Xz.js → BOffcanvas-DTRiZzwN.js} +6 -6
- package/dist/{BOffcanvas-DdiP19Xz.js.map → BOffcanvas-DTRiZzwN.js.map} +1 -1
- package/dist/{BOverlay-DSUoseNJ.mjs → BOverlay-Bh2PIN_q.mjs} +3 -3
- package/dist/{BOverlay-DSUoseNJ.mjs.map → BOverlay-Bh2PIN_q.mjs.map} +1 -1
- package/dist/{BOverlay--gZBEMlX.js → BOverlay-Bh4ldxgt.js} +3 -3
- package/dist/{BOverlay--gZBEMlX.js.map → BOverlay-Bh4ldxgt.js.map} +1 -1
- package/dist/{BPagination-C7MKOk8h.mjs → BPagination-D75q-ZNg.mjs} +2 -2
- package/dist/{BPagination-C7MKOk8h.mjs.map → BPagination-D75q-ZNg.mjs.map} +1 -1
- package/dist/{BPagination-D6W1LdgK.js → BPagination-fbjFAtxu.js} +2 -2
- package/dist/{BPagination-D6W1LdgK.js.map → BPagination-fbjFAtxu.js.map} +1 -1
- package/dist/{BPlaceholder-Ckvq3tMu.js → BPlaceholder-B3rs_39w.js} +4 -4
- package/dist/{BPlaceholder-Ckvq3tMu.js.map → BPlaceholder-B3rs_39w.js.map} +1 -1
- package/dist/{BPlaceholder-D__hNPyQ.mjs → BPlaceholder-DPQ6mCLN.mjs} +4 -4
- package/dist/{BPlaceholder-D__hNPyQ.mjs.map → BPlaceholder-DPQ6mCLN.mjs.map} +1 -1
- package/dist/{BProgress-I1ucNlpA.mjs → BProgress-BZlrPYhA.mjs} +3 -3
- package/dist/{BProgress-I1ucNlpA.mjs.map → BProgress-BZlrPYhA.mjs.map} +1 -1
- package/dist/{BProgress-ySlPjpRn.js → BProgress-th0-eZWo.js} +3 -3
- package/dist/{BProgress-ySlPjpRn.js.map → BProgress-th0-eZWo.js.map} +1 -1
- package/dist/{BRow-CmKiMcMZ.js → BRow-7AOuFiSy.js} +2 -2
- package/dist/{BRow-CmKiMcMZ.js.map → BRow-7AOuFiSy.js.map} +1 -1
- package/dist/{BRow-U3L8AcKV.mjs → BRow-eGSUYGCW.mjs} +2 -2
- package/dist/{BRow-U3L8AcKV.mjs.map → BRow-eGSUYGCW.mjs.map} +1 -1
- package/dist/{BSpinner-CAo-XD04.mjs → BSpinner-CUfGqviV.mjs} +2 -2
- package/dist/{BSpinner-CAo-XD04.mjs.map → BSpinner-CUfGqviV.mjs.map} +1 -1
- package/dist/{BSpinner-C1bm8U4-.js → BSpinner-DbYIp-C7.js} +2 -2
- package/dist/{BSpinner-C1bm8U4-.js.map → BSpinner-DbYIp-C7.js.map} +1 -1
- package/dist/{BTable-Bt75vbNu.mjs → BTable-CzMtFdt5.mjs} +5 -5
- package/dist/{BTable-Bt75vbNu.mjs.map → BTable-CzMtFdt5.mjs.map} +1 -1
- package/dist/{BTable-CXxJl2ps.js → BTable-DOpSWDaC.js} +5 -5
- package/dist/{BTable-CXxJl2ps.js.map → BTable-DOpSWDaC.js.map} +1 -1
- package/dist/{BTableSimple-pyz_6D4s.js → BTableSimple-BkdGAAKb.js} +3 -3
- package/dist/{BTableSimple-pyz_6D4s.js.map → BTableSimple-BkdGAAKb.js.map} +1 -1
- package/dist/{BTableSimple-CThwYBVl.mjs → BTableSimple-C-jn9Nwh.mjs} +3 -3
- package/dist/{BTableSimple-CThwYBVl.mjs.map → BTableSimple-C-jn9Nwh.mjs.map} +1 -1
- package/dist/{BTabs-C8rUY0Lx.js → BTabs-CvecFg5N.js} +4 -4
- package/dist/{BTabs-C8rUY0Lx.js.map → BTabs-CvecFg5N.js.map} +1 -1
- package/dist/{BTabs-Krs_Lv-R.mjs → BTabs-D_vWlBjT.mjs} +4 -4
- package/dist/{BTabs-Krs_Lv-R.mjs.map → BTabs-D_vWlBjT.mjs.map} +1 -1
- package/dist/{BTimeField-DSf4cMpN.mjs → BTimeField-BSDaZogC.mjs} +3 -3
- package/dist/{BTimeField-DSf4cMpN.mjs.map → BTimeField-BSDaZogC.mjs.map} +1 -1
- package/dist/{BTimeField-W2LqGCjB.js → BTimeField-BT5HXecp.js} +3 -3
- package/dist/{BTimeField-W2LqGCjB.js.map → BTimeField-BT5HXecp.js.map} +1 -1
- package/dist/{BToast-DZuxMDbe.js → BToast-DR0pek4W.js} +8 -8
- package/dist/{BToast-DZuxMDbe.js.map → BToast-DR0pek4W.js.map} +1 -1
- package/dist/{BToast-Dcfnqbxt.mjs → BToast-Y8BayxES.mjs} +8 -8
- package/dist/{BToast-Dcfnqbxt.mjs.map → BToast-Y8BayxES.mjs.map} +1 -1
- package/dist/{BTooltip-BWij0hjE.mjs → BTooltip-CVP8HdkU.mjs} +3 -3
- package/dist/{BTooltip-BWij0hjE.mjs.map → BTooltip-CVP8HdkU.mjs.map} +1 -1
- package/dist/{BTooltip-BGTjsV1z.js → BTooltip-DPLYtaL1.js} +3 -3
- package/dist/{BTooltip-BGTjsV1z.js.map → BTooltip-DPLYtaL1.js.map} +1 -1
- package/dist/bootstrap-vue-next.mjs +59 -59
- package/dist/bootstrap-vue-next.umd.js +59 -59
- package/dist/composables/useProvideFormGroupData.d.mts +15 -0
- package/dist/composables/useProvideFormGroupData.d.ts +15 -0
- package/dist/{floatingUi-8xXp54zf.mjs → floatingUi-62aeQtAb.mjs} +4 -4
- package/dist/{floatingUi-8xXp54zf.mjs.map → floatingUi-62aeQtAb.mjs.map} +1 -1
- package/dist/{floatingUi-9SWu8BgZ.js → floatingUi-DQ5bHmy3.js} +4 -4
- package/dist/{floatingUi-9SWu8BgZ.js.map → floatingUi-DQ5bHmy3.js.map} +1 -1
- package/dist/{keys-durSVUrO.js → keys-BMye8nSf.js} +10 -1
- package/dist/{keys-durSVUrO.js.map → keys-BMye8nSf.js.map} +1 -1
- package/dist/{keys-CQKrwmvN.mjs → keys-DU7sQgl3.mjs} +10 -1
- package/dist/{keys-CQKrwmvN.mjs.map → keys-DU7sQgl3.mjs.map} +1 -1
- package/dist/src/components/BAccordion/index.mjs +1 -1
- package/dist/src/components/BAccordion/index.umd.js +1 -1
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BAlert/index.umd.js +1 -1
- package/dist/src/components/BApp/index.mjs +1 -1
- package/dist/src/components/BApp/index.umd.js +1 -1
- package/dist/src/components/BAspect/index.mjs +1 -1
- package/dist/src/components/BAspect/index.umd.js +1 -1
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.umd.js +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBadge/index.umd.js +1 -1
- package/dist/src/components/BBreadcrumb/index.mjs +1 -1
- package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
- package/dist/src/components/BButton/index.mjs +3 -3
- package/dist/src/components/BButton/index.umd.js +3 -3
- package/dist/src/components/BCard/index.mjs +2 -2
- package/dist/src/components/BCard/index.umd.js +2 -2
- package/dist/src/components/BCarousel/index.mjs +1 -1
- package/dist/src/components/BCarousel/index.umd.js +1 -1
- package/dist/src/components/BCol/index.mjs +1 -1
- package/dist/src/components/BCol/index.umd.js +1 -1
- package/dist/src/components/BCollapse/index.mjs +1 -1
- package/dist/src/components/BCollapse/index.umd.js +1 -1
- package/dist/src/components/BContainer/index.mjs +3 -3
- package/dist/src/components/BContainer/index.umd.js +3 -3
- package/dist/src/components/BDateField/index.mjs +1 -1
- package/dist/src/components/BDateField/index.umd.js +1 -1
- package/dist/src/components/BDatePicker/index.mjs +1 -1
- package/dist/src/components/BDatePicker/index.umd.js +1 -1
- package/dist/src/components/BDropdown/index.mjs +2 -2
- package/dist/src/components/BDropdown/index.umd.js +2 -2
- package/dist/src/components/BForm/index.mjs +3 -3
- package/dist/src/components/BForm/index.umd.js +3 -3
- package/dist/src/components/BFormCheckbox/index.mjs +1 -1
- package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
- package/dist/src/components/BFormFile/index.mjs +1 -1
- package/dist/src/components/BFormFile/index.umd.js +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormGroup/index.umd.js +1 -1
- package/dist/src/components/BFormInput/index.mjs +1 -1
- package/dist/src/components/BFormInput/index.umd.js +1 -1
- package/dist/src/components/BFormOtp/index.mjs +1 -1
- package/dist/src/components/BFormOtp/index.umd.js +1 -1
- package/dist/src/components/BFormRadio/index.mjs +1 -1
- package/dist/src/components/BFormRadio/index.umd.js +1 -1
- package/dist/src/components/BFormRating/index.mjs +1 -1
- package/dist/src/components/BFormRating/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +2 -2
- package/dist/src/components/BFormSelect/index.umd.js +2 -2
- package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
- package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
- package/dist/src/components/BFormTags/index.mjs +2 -2
- package/dist/src/components/BFormTags/index.umd.js +2 -2
- package/dist/src/components/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BFormTextarea/index.umd.js +1 -1
- package/dist/src/components/BImg/index.mjs +1 -1
- package/dist/src/components/BImg/index.umd.js +1 -1
- package/dist/src/components/BInputGroup/index.mjs +2 -2
- package/dist/src/components/BInputGroup/index.umd.js +2 -2
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BLink/index.umd.js +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.umd.js +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BNavbar/index.umd.js +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.umd.js +1 -1
- package/dist/src/components/BOverlay/index.mjs +1 -1
- package/dist/src/components/BOverlay/index.umd.js +1 -1
- package/dist/src/components/BPagination/index.mjs +1 -1
- package/dist/src/components/BPagination/index.umd.js +1 -1
- package/dist/src/components/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.umd.js +1 -1
- package/dist/src/components/BPopover/index.mjs +1 -1
- package/dist/src/components/BPopover/index.umd.js +1 -1
- package/dist/src/components/BProgress/index.mjs +1 -1
- package/dist/src/components/BProgress/index.umd.js +1 -1
- package/dist/src/components/BRow/index.mjs +1 -1
- package/dist/src/components/BRow/index.umd.js +1 -1
- package/dist/src/components/BSpinner/index.mjs +1 -1
- package/dist/src/components/BSpinner/index.umd.js +1 -1
- package/dist/src/components/BTable/index.mjs +2 -2
- package/dist/src/components/BTable/index.umd.js +2 -2
- package/dist/src/components/BTabs/index.mjs +1 -1
- package/dist/src/components/BTabs/index.umd.js +1 -1
- package/dist/src/components/BTimeField/index.mjs +1 -1
- package/dist/src/components/BTimeField/index.umd.js +1 -1
- package/dist/src/components/BToast/index.mjs +1 -1
- package/dist/src/components/BToast/index.umd.js +1 -1
- package/dist/src/components/BTooltip/index.mjs +1 -1
- package/dist/src/components/BTooltip/index.umd.js +1 -1
- package/dist/src/components/index.mjs +59 -59
- package/dist/src/components/index.umd.js +59 -59
- package/dist/src/composables/orchestratorShared/index.mjs +1 -1
- package/dist/src/composables/orchestratorShared/index.umd.js +1 -1
- package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
- package/dist/src/composables/useBreadcrumb/index.umd.js +1 -1
- package/dist/src/composables/useModal/index.mjs +2 -2
- package/dist/src/composables/useModal/index.umd.js +2 -2
- package/dist/src/composables/usePopover/index.mjs +3 -3
- package/dist/src/composables/usePopover/index.umd.js +3 -3
- package/dist/src/composables/useProvideDefaults/index.mjs +1 -1
- package/dist/src/composables/useProvideDefaults/index.umd.js +1 -1
- package/dist/src/composables/useRegistry/index.mjs +1 -1
- package/dist/src/composables/useRegistry/index.umd.js +1 -1
- package/dist/src/composables/useToast/index.mjs +2 -2
- package/dist/src/composables/useToast/index.umd.js +2 -2
- package/dist/src/composables/useToggle/index.mjs +1 -1
- package/dist/src/composables/useToggle/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.mjs +2 -2
- package/dist/src/directives/BPopover/index.umd.js +2 -2
- package/dist/src/directives/BScrollspy/index.mjs +1 -1
- package/dist/src/directives/BScrollspy/index.umd.js +1 -1
- package/dist/src/directives/BToggle/index.mjs +2 -2
- package/dist/src/directives/BToggle/index.umd.js +2 -2
- package/dist/src/directives/BTooltip/index.mjs +2 -2
- package/dist/src/directives/BTooltip/index.umd.js +2 -2
- package/dist/src/plugins/createBootstrap/index.mjs +1 -1
- package/dist/src/plugins/createBootstrap/index.umd.js +1 -1
- package/dist/src/plugins/orchestrator/index.mjs +1 -1
- package/dist/src/plugins/orchestrator/index.umd.js +1 -1
- package/dist/src/plugins/registry/index.mjs +1 -1
- package/dist/src/plugins/registry/index.umd.js +1 -1
- package/dist/src/plugins/rtl/index.mjs +1 -1
- package/dist/src/plugins/rtl/index.umd.js +1 -1
- package/dist/{useDefaults-DsLf4iRY.js → useDefaults-C0CYry78.js} +2 -2
- package/dist/{useDefaults-DsLf4iRY.js.map → useDefaults-C0CYry78.js.map} +1 -1
- package/dist/{useDefaults-BKgBaqOV.mjs → useDefaults-DseelK6y.mjs} +2 -2
- package/dist/{useDefaults-BKgBaqOV.mjs.map → useDefaults-DseelK6y.mjs.map} +1 -1
- package/dist/{useFormInput-CA4FYoV7.mjs → useFormInput-CXl8rpD0.mjs} +5 -4
- package/dist/useFormInput-CXl8rpD0.mjs.map +1 -0
- package/dist/{useFormInput-D31FCDxr.js → useFormInput-ip9hN2AU.js} +5 -4
- package/dist/useFormInput-ip9hN2AU.js.map +1 -0
- package/dist/{useFormSelect-C0nvno12.mjs → useFormSelect-BM0rsjni.mjs} +9 -2
- package/dist/useFormSelect-BM0rsjni.mjs.map +1 -0
- package/dist/{useFormSelect-CjAziZpu.js → useFormSelect-ClmzGzOy.js} +9 -2
- package/dist/useFormSelect-ClmzGzOy.js.map +1 -0
- package/dist/{useId-DHrBgM7P.js → useId-BkAY2oh6.js} +2 -2
- package/dist/{useId-DHrBgM7P.js.map → useId-BkAY2oh6.js.map} +1 -1
- package/dist/{useId-BKZFSYm8.mjs → useId-D1sqXtwx.mjs} +2 -2
- package/dist/{useId-BKZFSYm8.mjs.map → useId-D1sqXtwx.mjs.map} +1 -1
- package/dist/{useRtl-DDPRnA7g.js → useRtl-BSgvbs5F.js} +2 -2
- package/dist/{useRtl-DDPRnA7g.js.map → useRtl-BSgvbs5F.js.map} +1 -1
- package/dist/{useRtl-VR3M2Txg.mjs → useRtl-CGoXBxNo.mjs} +2 -2
- package/dist/{useRtl-VR3M2Txg.mjs.map → useRtl-CGoXBxNo.mjs.map} +1 -1
- package/dist/{useShowHide-DKdljnpv.mjs → useShowHide-CBFt1_EW.mjs} +2 -2
- package/dist/{useShowHide-DKdljnpv.mjs.map → useShowHide-CBFt1_EW.mjs.map} +1 -1
- package/dist/{useShowHide-BhdrR1wG.js → useShowHide-CHm2uUep.js} +2 -2
- package/dist/{useShowHide-BhdrR1wG.js.map → useShowHide-CHm2uUep.js.map} +1 -1
- package/dist/utils/keys.d.mts +11 -1
- package/dist/utils/keys.d.ts +11 -1
- package/dist/{utils-BbYwYPyP.mjs → utils-CWvndqPg.mjs} +3 -3
- package/dist/{utils-BbYwYPyP.mjs.map → utils-CWvndqPg.mjs.map} +1 -1
- package/dist/{utils-ePxMJ7rd.js → utils-Dk9yAtbs.js} +3 -3
- package/dist/{utils-ePxMJ7rd.js.map → utils-Dk9yAtbs.js.map} +1 -1
- package/package.json +1 -1
- package/dist/BFormCheckbox-g7gtIrhy.js.map +0 -1
- package/dist/BFormCheckbox-xN7AQw4O.mjs.map +0 -1
- package/dist/BFormGroup-DZTiChgT.js.map +0 -1
- package/dist/BFormGroup-ayltvQts.mjs.map +0 -1
- package/dist/BFormRadio-DHx68AdL.mjs.map +0 -1
- package/dist/BFormRadio-DX-gM5Rc.js.map +0 -1
- package/dist/BFormSelect-CUkyKBNN.js.map +0 -1
- package/dist/BFormSelect-Co-ZU8yY.mjs.map +0 -1
- package/dist/BFormValidFeedback-BhkEhSa0.js.map +0 -1
- package/dist/BFormValidFeedback-DWkakzVO.mjs.map +0 -1
- package/dist/useFormInput-CA4FYoV7.mjs.map +0 -1
- package/dist/useFormInput-D31FCDxr.js.map +0 -1
- package/dist/useFormSelect-C0nvno12.mjs.map +0 -1
- package/dist/useFormSelect-CjAziZpu.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BDropdown-CL-erjq8.js","names":["$attrs"],"sources":["../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownText.vue","../src/components/BDropdown/BDropdownText.vue"],"sourcesContent":["<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps, BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps, BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BDropdownGroupProps, BDropdownGroupSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BDropdownGroupProps, BDropdownGroupSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderProps, BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderProps, BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemProps, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemProps, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {\n BDropdownItemButtonEmits,\n BDropdownItemButtonProps,\n BDropdownItemButtonSlots,\n} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {\n BDropdownItemButtonEmits,\n BDropdownItemButtonProps,\n BDropdownItemButtonSlots,\n} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextProps, BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextProps, BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BDropdown-DKCgBzYS.js","names":["$attrs"],"sources":["../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownText.vue","../src/components/BDropdown/BDropdownText.vue"],"sourcesContent":["<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps, BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps, BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BDropdownGroupProps, BDropdownGroupSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BDropdownGroupProps, BDropdownGroupSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderProps, BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderProps, BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemProps, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemProps, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {\n BDropdownItemButtonEmits,\n BDropdownItemButtonProps,\n BDropdownItemButtonSlots,\n} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {\n BDropdownItemButtonEmits,\n BDropdownItemButtonProps,\n BDropdownItemButtonSlots,\n} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextProps, BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextProps, BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n"],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
require("./
|
|
6
|
-
|
|
7
|
-
require("./
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
4
|
+
const require_useId = require("./useId-BkAY2oh6.js");
|
|
5
|
+
const require_useFormSelect = require("./useFormSelect-ClmzGzOy.js");
|
|
6
|
+
require("./BForm-cnRpggt9.js");
|
|
7
|
+
const require_BFormSelectOption = require("./BFormSelectOption-DrwJucNf.js");
|
|
8
|
+
const require_BFormValidFeedback = require("./BFormValidFeedback-Kwxh798d.js");
|
|
8
9
|
let vue = require("vue");
|
|
9
10
|
//#region src/components/BForm/BFormDatalistBase.vue?vue&type=script&setup=true&lang.ts
|
|
10
11
|
var _hoisted_1$1 = ["id"];
|
|
@@ -101,6 +102,8 @@ var BFormFloatingLabel_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
101
102
|
},
|
|
102
103
|
setup(__props) {
|
|
103
104
|
const props = require_useDefaults.useDefaults(__props, "BFormFloatingLabel");
|
|
105
|
+
const parentFormGroupData = (0, vue.inject)(require_keys.formGroupKey, null)?.();
|
|
106
|
+
if (parentFormGroupData) require_BFormValidFeedback.useProvideFormGroupData(parentFormGroupData);
|
|
104
107
|
return (_ctx, _cache) => {
|
|
105
108
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "default"), (0, vue.createElementVNode)("label", { for: (0, vue.unref)(props).labelFor }, [(0, vue.renderSlot)(_ctx.$slots, "label", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).label), 1)])], 8, _hoisted_2)]);
|
|
106
109
|
};
|
|
@@ -120,4 +123,4 @@ Object.defineProperty(exports, "BFormFloatingLabel_default", {
|
|
|
120
123
|
}
|
|
121
124
|
});
|
|
122
125
|
|
|
123
|
-
//# sourceMappingURL=BForm-
|
|
126
|
+
//# sourceMappingURL=BForm-6JlWdQMO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-CriVh5cC.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'\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'\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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\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;;;;;;;;;;;;;;;;;;;;;EEsBZ,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;;qDA9DoB,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;;;;;;;;;;;;;;;;;;;EESZ,MAAM,QAAQ,oBAAA,YALC,SAKmB,qBAAoB;;4DAZ9C,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-6JlWdQMO.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'\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'\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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {inject} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport {formGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n\n// Boundary: BFormFloatingLabel renders its own <label for>. State/disabled forward through\n// from the outer BFormGroup; the isolated label-target registry isn't read, so descendant\n// claims never reach the outer group.\nconst parentFormGroupData = inject(formGroupKey, null)?.()\nif (parentFormGroupData) useProvideFormGroupData(parentFormGroupData)\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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {inject} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport {formGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n\n// Boundary: BFormFloatingLabel renders its own <label for>. State/disabled forward through\n// from the outer BFormGroup; the isolated label-target registry isn't read, so descendant\n// claims never reach the outer group.\nconst parentFormGroupData = inject(formGroupKey, null)?.()\nif (parentFormGroupData) useProvideFormGroupData(parentFormGroupData)\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;;;;;;;;;;;;;;;;;;;;;EEsBZ,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;;qDA9DoB,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;;;;;;;;;;;;;;;;;;;EEYZ,MAAM,QAAQ,oBAAA,YALC,SAKmB,qBAAoB;EAMtD,MAAM,uBAAA,GAAA,IAAA,QAA6B,aAAA,cAAc,KAAK,IAAG;AACzD,MAAI,oBAAqB,4BAAA,wBAAwB,oBAAmB;;4DAtB5D,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,4 +1,4 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.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-BVfW08s5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-
|
|
1
|
+
{"version":3,"file":"BForm-BVfW08s5.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 {computed, useTemplateRef} from 'vue'\nimport type {BFormProps, BFormSlots} from '../../types'\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 {computed, useTemplateRef} from 'vue'\nimport type {BFormProps, BFormSlots} from '../../types'\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":";;;;;;;;;;;;;;;;;;;;;;;;EAiBA,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;;uBA5BC,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,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import "./
|
|
7
|
-
import {
|
|
1
|
+
import { d as formGroupKey } from "./keys-DU7sQgl3.mjs";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
|
+
import { t as useId$1 } from "./useId-D1sqXtwx.mjs";
|
|
4
|
+
import { t as useFormSelect } from "./useFormSelect-BM0rsjni.mjs";
|
|
5
|
+
import "./BForm-BVfW08s5.mjs";
|
|
6
|
+
import { t as BFormSelectOption_default } from "./BFormSelectOption-DFN4lPRh.mjs";
|
|
7
|
+
import { a as useProvideFormGroupData } from "./BFormValidFeedback-CBYxQLDz.mjs";
|
|
8
|
+
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeProps, normalizeProps, openBlock, renderList, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
8
9
|
//#region src/components/BForm/BFormDatalistBase.vue?vue&type=script&setup=true&lang.ts
|
|
9
10
|
var _hoisted_1$1 = ["id"];
|
|
10
11
|
//#endregion
|
|
@@ -100,6 +101,8 @@ var BFormFloatingLabel_default = /* @__PURE__ */ defineComponent({
|
|
|
100
101
|
},
|
|
101
102
|
setup(__props) {
|
|
102
103
|
const props = useDefaults(__props, "BFormFloatingLabel");
|
|
104
|
+
const parentFormGroupData = inject(formGroupKey, null)?.();
|
|
105
|
+
if (parentFormGroupData) useProvideFormGroupData(parentFormGroupData);
|
|
103
106
|
return (_ctx, _cache) => {
|
|
104
107
|
return openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "default"), createElementVNode("label", { for: unref(props).labelFor }, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(unref(props).label), 1)])], 8, _hoisted_2)]);
|
|
105
108
|
};
|
|
@@ -108,4 +111,4 @@ var BFormFloatingLabel_default = /* @__PURE__ */ defineComponent({
|
|
|
108
111
|
//#endregion
|
|
109
112
|
export { BFormDatalist_default as n, BFormFloatingLabel_default as t };
|
|
110
113
|
|
|
111
|
-
//# sourceMappingURL=BForm-
|
|
114
|
+
//# sourceMappingURL=BForm-DJu2hDV_.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-__5Chigr.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'\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'\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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\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;;;;;;;;;;;;;;;;;;;;;EEsBZ,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;;uBAzEA,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;;;;;;;;;;;;;;;;;;;EESZ,MAAM,QAAQ,YALC,SAKmB,qBAAoB;;uBAnBpD,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-DJu2hDV_.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'\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'\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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {computed} from 'vue'\nimport BFormDatalistBase from './BFormDatalistBase.vue'\nimport type {BFormDatalistProps, BFormDatalistSlots, SelectOption} 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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {inject} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport {formGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n\n// Boundary: BFormFloatingLabel renders its own <label for>. State/disabled forward through\n// from the outer BFormGroup; the isolated label-target registry isn't read, so descendant\n// claims never reach the outer group.\nconst parentFormGroupData = inject(formGroupKey, null)?.()\nif (parentFormGroupData) useProvideFormGroupData(parentFormGroupData)\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 {BFormFloatingLabelProps, BFormFloatingLabelSlots} from '../../types'\nimport {inject} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport {formGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<BFormFloatingLabelProps>(), {\n label: undefined,\n labelFor: undefined,\n text: undefined,\n})\nconst props = useDefaults(_props, 'BFormFloatingLabel')\ndefineSlots<BFormFloatingLabelSlots>()\n\n// Boundary: BFormFloatingLabel renders its own <label for>. State/disabled forward through\n// from the outer BFormGroup; the isolated label-target registry isn't read, so descendant\n// claims never reach the outer group.\nconst parentFormGroupData = inject(formGroupKey, null)?.()\nif (parentFormGroupData) useProvideFormGroupData(parentFormGroupData)\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;;;;;;;;;;;;;;;;;;;;;EEsBZ,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;;uBAzEA,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;;;;;;;;;;;;;;;;;;;EEYZ,MAAM,QAAQ,YALC,SAKmB,qBAAoB;EAMtD,MAAM,sBAAsB,OAAO,cAAc,KAAK,IAAG;AACzD,MAAI,oBAAqB,yBAAwB,oBAAmB;;uBA7BlE,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,5 +1,5 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_useDefaults = require("./useDefaults-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.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-cnRpggt9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BForm-
|
|
1
|
+
{"version":3,"file":"BForm-cnRpggt9.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 {computed, useTemplateRef} from 'vue'\nimport type {BFormProps, BFormSlots} from '../../types'\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 {computed, useTemplateRef} from 'vue'\nimport type {BFormProps, BFormSlots} from '../../types'\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":";;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,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;;4DA1BQ,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,8 +1,8 @@
|
|
|
1
|
-
import { d as formGroupKey, s as checkboxGroupKey } from "./keys-
|
|
1
|
+
import { d as formGroupKey, s as checkboxGroupKey } from "./keys-DU7sQgl3.mjs";
|
|
2
2
|
import { m as useFocus } from "./dist-Dk9C_HFS.mjs";
|
|
3
3
|
import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
|
|
4
|
-
import { t as useDefaults } from "./useDefaults-
|
|
5
|
-
import { t as useId$1 } from "./useId-
|
|
4
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
5
|
+
import { t as useId$1 } from "./useId-D1sqXtwx.mjs";
|
|
6
6
|
import { t as ConditionalWrapper_default } from "./ConditionalWrapper-Dbc_O6qe.mjs";
|
|
7
7
|
import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-BKXrwS3g.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";
|
|
@@ -137,7 +137,6 @@ var BFormCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
137
137
|
});
|
|
138
138
|
const computedId = useId$1(() => props.id, "form-check");
|
|
139
139
|
const parentData = inject(checkboxGroupKey, null);
|
|
140
|
-
const formGroupData = inject(formGroupKey, null)?.(computedId);
|
|
141
140
|
const input = useTemplateRef("_input");
|
|
142
141
|
const { focused } = useFocus(input, { initialValue: props.autofocus });
|
|
143
142
|
const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));
|
|
@@ -162,6 +161,10 @@ var BFormCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
162
161
|
buttonVariant: props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant
|
|
163
162
|
}));
|
|
164
163
|
const resolvedPlain = computed(() => resolvedProps.value.plain);
|
|
164
|
+
const hasOwnLabel = computed(() => hasDefaultSlot.value || !resolvedPlain.value);
|
|
165
|
+
const labelTargetId = computed(() => hasOwnLabel.value ? null : computedId.value);
|
|
166
|
+
const formGroupData = inject(formGroupKey, null)?.();
|
|
167
|
+
formGroupData?.track(labelTargetId);
|
|
165
168
|
const localValue = computed({
|
|
166
169
|
get: () => parentData ? parentData.modelValue.value : modelValue.value,
|
|
167
170
|
set: (newVal) => {
|
|
@@ -213,7 +216,7 @@ var BFormCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
213
216
|
"true-value": unref(props).value,
|
|
214
217
|
"false-value": unref(props).uncheckedValue,
|
|
215
218
|
indeterminate: indeterminate.value || void 0
|
|
216
|
-
}, processedAttrs.value.inputAttrs), null, 16, _hoisted_1$1), [[vModelCheckbox, localValue.value]]),
|
|
219
|
+
}, processedAttrs.value.inputAttrs), null, 16, _hoisted_1$1), [[vModelCheckbox, localValue.value]]), hasOwnLabel.value ? (openBlock(), createElementBlock("label", {
|
|
217
220
|
key: 0,
|
|
218
221
|
for: unref(computedId),
|
|
219
222
|
class: normalizeClass(unref(labelClasses))
|
|
@@ -471,4 +474,4 @@ var BFormCheckboxGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
471
474
|
//#endregion
|
|
472
475
|
export { BFormCheckbox_default as n, BFormCheckboxGroup_default as t };
|
|
473
476
|
|
|
474
|
-
//# sourceMappingURL=BFormCheckbox-
|
|
477
|
+
//# sourceMappingURL=BFormCheckbox-Baf_9BSc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BFormCheckbox-Baf_9BSc.mjs","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=\"hasOwnLabel\" :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 {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxProps, BFormCheckboxSlots, CheckboxValue} 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)\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: undefined,\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)\nconst hasOwnLabel = computed(() => hasDefaultSlot.value || !resolvedPlain.value)\n\nconst labelTargetId = computed(() => (hasOwnLabel.value ? null : computedId.value))\nconst formGroupData = inject(formGroupKey, null)?.()\nformGroupData?.track(labelTargetId)\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=\"hasOwnLabel\" :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 {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxProps, BFormCheckboxSlots, CheckboxValue} 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)\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: undefined,\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)\nconst hasOwnLabel = computed(() => hasDefaultSlot.value || !resolvedPlain.value)\n\nconst labelTargetId = computed(() => (hasOwnLabel.value ? null : computedId.value))\nconst formGroupData = inject(formGroupKey, null)?.()\nformGroupData?.track(labelTargetId)\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, CheckboxValue} from '../../types'\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: undefined,\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,\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, CheckboxValue} from '../../types'\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: undefined,\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,\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 {\n BFormCheckboxGroupProps,\n BFormCheckboxGroupSlots,\n CheckboxValue,\n OptionsValues,\n} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\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: undefined,\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 {\n BFormCheckboxGroupProps,\n BFormCheckboxGroupSlots,\n CheckboxValue,\n OptionsValues,\n} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\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: undefined,\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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"}
|