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":"BImg-DFiJSy66.js","names":[],"sources":["../src/components/BImg/BImg.vue","../src/components/BImg/BImg.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ,oBAAA,YAvBC,SAuBmB,OAAM;EAExC,MAAM,eAAe,aAAA,kBAAkB,MAAM,UAAU,IAAU;EACjE,MAAM,cAAc,aAAA,kBAAkB,MAAM,SAAS,IAAU;EAE/D,MAAM,uBAAuB,gCAAA,+BAA+B;GAC1D,SAAS,MAAM;GACf,YAAY,MAAM;GAClB,eAAe,MAAM;GACrB,cAAc,MAAM;GACpB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,kBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,WAAW,WACpB,MAAM,OACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,OAAM,GAC1B,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACtC,KAAA,EACR;EAEA,MAAM,iBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,UAAU,WACnB,MAAM,MACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,MAAK,GACzB,MAAM,MAAM,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACrC,KAAA,EACR;EAEA,MAAM,sBAAA,GAAA,IAAA,gBAA6F;GACjG,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,GAAG,KAAA,IAAY,YAAY;GACxE,MAAM,SAAS,OAAO,MAAM,aAAa,MAAM,GAAG,KAAA,IAAY,aAAa;AAC3E,OAAI,MAAM,OAAO;AACf,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAO;KAAK;AAC7E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC;KAAQ,OAAO;KAAM;AAC9E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAG,OAAO;KAAC;;AAE9E,UAAO;IACL;IACA;IACF;IACD;EAED,MAAM,uBAAA,GAAA,IAAA,gBACJ,gBAAgB,mBAAmB,MAAM,OAAO,mBAAmB,MAAM,QAAQ,MAAM,WAAU,CACnG;EAEA,MAAM,qBAAA,GAAA,IAAA,iBAAoC;GACxC,eAAe,MAAM,cAAc;GACnC,aAAa,MAAM,cAAc;GACjC,WAAW,MAAM,cAAc;GAChC,EAAC;EAEF,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,qBAAqB;GACrB,kBAAkB;GAClB;IACE,iBAAiB,MAAM;IACvB,aAAa,MAAM,SAAS,MAAM;IAClC,SAAS,MAAM;IACf,WAAW,MAAM,SAAS,MAAM,cAAc;;GAEjD,CAAA;EAED,MAAM,mBAAmB,OAA2B,QAA4B,UAC9E,oCAAoC,mBAAmB,eAAe,MAAM,YAAY,OAAO,oDAAoD,MAAM,GAAG,OAAO;mDAClH,MAAM;YAC7C;;qGApHH,MAAK,CAAC,IAAG,EAAA;IACb,QAAA,GAAA,IAAA,gBAAK,CAAE,gBAAA,OACF,QAAO,CAAA;IACZ,KAAG,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,SAAA,GAAA,IAAA,OAAQ,MAAK,CAAC,MAAM,oBAAA;IAChC,OAAO,mBAAA,MAAmB,SAAS,KAAA;IACnC,QAAQ,mBAAA,MAAmB,UAAU,KAAA;IACrC,QAAM,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,eAAA,QAAiB,KAAA;IACxC,OAAK,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,cAAA,QAAgB,KAAA;IACtC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,OAAI,SAAA"}
|
|
1
|
+
{"version":3,"file":"BImg-JKJLgYYT.js","names":[],"sources":["../src/components/BImg/BImg.vue","../src/components/BImg/BImg.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ,oBAAA,YAvBC,SAuBmB,OAAM;EAExC,MAAM,eAAe,aAAA,kBAAkB,MAAM,UAAU,IAAU;EACjE,MAAM,cAAc,aAAA,kBAAkB,MAAM,SAAS,IAAU;EAE/D,MAAM,uBAAuB,gCAAA,+BAA+B;GAC1D,SAAS,MAAM;GACf,YAAY,MAAM;GAClB,eAAe,MAAM;GACrB,cAAc,MAAM;GACpB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,kBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,WAAW,WACpB,MAAM,OACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,OAAM,GAC1B,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACtC,KAAA,EACR;EAEA,MAAM,iBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,UAAU,WACnB,MAAM,MACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,MAAK,GACzB,MAAM,MAAM,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACrC,KAAA,EACR;EAEA,MAAM,sBAAA,GAAA,IAAA,gBAA6F;GACjG,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,GAAG,KAAA,IAAY,YAAY;GACxE,MAAM,SAAS,OAAO,MAAM,aAAa,MAAM,GAAG,KAAA,IAAY,aAAa;AAC3E,OAAI,MAAM,OAAO;AACf,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAO;KAAK;AAC7E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC;KAAQ,OAAO;KAAM;AAC9E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAG,OAAO;KAAC;;AAE9E,UAAO;IACL;IACA;IACF;IACD;EAED,MAAM,uBAAA,GAAA,IAAA,gBACJ,gBAAgB,mBAAmB,MAAM,OAAO,mBAAmB,MAAM,QAAQ,MAAM,WAAU,CACnG;EAEA,MAAM,qBAAA,GAAA,IAAA,iBAAoC;GACxC,eAAe,MAAM,cAAc;GACnC,aAAa,MAAM,cAAc;GACjC,WAAW,MAAM,cAAc;GAChC,EAAC;EAEF,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,qBAAqB;GACrB,kBAAkB;GAClB;IACE,iBAAiB,MAAM;IACvB,aAAa,MAAM,SAAS,MAAM;IAClC,SAAS,MAAM;IACf,WAAW,MAAM,SAAS,MAAM,cAAc;;GAEjD,CAAA;EAED,MAAM,mBAAmB,OAA2B,QAA4B,UAC9E,oCAAoC,mBAAmB,eAAe,MAAM,YAAY,OAAO,oDAAoD,MAAM,GAAG,OAAO;mDAClH,MAAM;YAC7C;;qGApHH,MAAK,CAAC,IAAG,EAAA;IACb,QAAA,GAAA,IAAA,gBAAK,CAAE,gBAAA,OACF,QAAO,CAAA;IACZ,KAAG,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,SAAA,GAAA,IAAA,OAAQ,MAAK,CAAC,MAAM,oBAAA;IAChC,OAAO,mBAAA,MAAmB,SAAS,KAAA;IACnC,QAAQ,mBAAA,MAAmB,UAAU,KAAA;IACrC,QAAM,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,eAAA,QAAiB,KAAA;IACxC,OAAK,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,cAAA,QAAgB,KAAA;IACtC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,OAAI,SAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { R as useToNumber } from "./dist-Dk9C_HFS.mjs";
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
3
|
import { r as isReadOnlyArray } from "./object-CHQkkner.mjs";
|
|
4
4
|
import { t as useRadiusElementClasses } from "./useRadiusElementClasses-BW832F7F.mjs";
|
|
5
5
|
import { computed, createBlock, defineComponent, normalizeClass, openBlock, resolveDynamicComponent, unref } from "vue";
|
|
@@ -159,4 +159,4 @@ var BImg_default = /* @__PURE__ */ defineComponent({
|
|
|
159
159
|
//#endregion
|
|
160
160
|
export { BImg_default as t };
|
|
161
161
|
|
|
162
|
-
//# sourceMappingURL=BImg-
|
|
162
|
+
//# sourceMappingURL=BImg-QBS2ECBc.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BImg-
|
|
1
|
+
{"version":3,"file":"BImg-QBS2ECBc.mjs","names":[],"sources":["../src/components/BImg/BImg.vue","../src/components/BImg/BImg.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ,YAvBC,SAuBmB,OAAM;EAExC,MAAM,eAAe,kBAAkB,MAAM,UAAU,IAAU;EACjE,MAAM,cAAc,kBAAkB,MAAM,SAAS,IAAU;EAE/D,MAAM,uBAAuB,+BAA+B;GAC1D,SAAS,MAAM;GACf,YAAY,MAAM;GAClB,eAAe,MAAM;GACrB,cAAc,MAAM;GACpB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,iBAAiB,eACrB,OAAO,MAAM,WAAW,WACpB,MAAM,OACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,gBAAgB,MAAM,OAAM,GAC1B,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACtC,KAAA,EACR;EAEA,MAAM,gBAAgB,eACpB,OAAO,MAAM,UAAU,WACnB,MAAM,MACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,gBAAgB,MAAM,MAAK,GACzB,MAAM,MAAM,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACrC,KAAA,EACR;EAEA,MAAM,qBAAqB,eAAwE;GACjG,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,GAAG,KAAA,IAAY,YAAY;GACxE,MAAM,SAAS,OAAO,MAAM,aAAa,MAAM,GAAG,KAAA,IAAY,aAAa;AAC3E,OAAI,MAAM,OAAO;AACf,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAO;KAAK;AAC7E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC;KAAQ,OAAO;KAAM;AAC9E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAG,OAAO;KAAC;;AAE9E,UAAO;IACL;IACA;IACF;IACD;EAED,MAAM,sBAAsB,eAC1B,gBAAgB,mBAAmB,MAAM,OAAO,mBAAmB,MAAM,QAAQ,MAAM,WAAU,CACnG;EAEA,MAAM,oBAAoB,gBAAgB;GACxC,eAAe,MAAM,cAAc;GACnC,aAAa,MAAM,cAAc;GACjC,WAAW,MAAM,cAAc;GAChC,EAAC;EAEF,MAAM,kBAAkB,eAAe;GACrC,qBAAqB;GACrB,kBAAkB;GAClB;IACE,iBAAiB,MAAM;IACvB,aAAa,MAAM,SAAS,MAAM;IAClC,SAAS,MAAM;IACf,WAAW,MAAM,SAAS,MAAM,cAAc;;GAEjD,CAAA;EAED,MAAM,mBAAmB,OAA2B,QAA4B,UAC9E,oCAAoC,mBAAmB,eAAe,MAAM,YAAY,OAAO,oDAAoD,MAAM,GAAG,OAAO;mDAClH,MAAM;YAC7C;;uBArHV,YAUE,wBATK,MAAA,MAAK,CAAC,IAAG,EAAA;IACb,OAAK,eAAA,CAAE,gBAAA,OACF,QAAO,CAAA;IACZ,KAAG,CAAG,MAAA,MAAK,CAAC,QAAQ,MAAA,MAAK,CAAC,MAAM,oBAAA;IAChC,OAAO,mBAAA,MAAmB,SAAS,KAAA;IACnC,QAAQ,mBAAA,MAAmB,UAAU,KAAA;IACrC,QAAM,CAAG,MAAA,MAAK,CAAC,QAAQ,eAAA,QAAiB,KAAA;IACxC,OAAK,CAAG,MAAA,MAAK,CAAC,QAAQ,cAAA,QAAgB,KAAA;IACtC,SAAS,MAAA,MAAK,CAAC,OAAI,SAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_keys = require("./keys-
|
|
3
|
-
const require_useDefaults = require("./useDefaults-
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
4
4
|
let vue = require("vue");
|
|
5
5
|
//#region src/components/BInputGroup/BInputGroup.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = {
|
|
@@ -52,4 +52,4 @@ Object.defineProperty(exports, "BInputGroup_default", {
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
-
//# sourceMappingURL=BInputGroup-
|
|
55
|
+
//# sourceMappingURL=BInputGroup-Bvlfv6VD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BInputGroup-
|
|
1
|
+
{"version":3,"file":"BInputGroup-Bvlfv6VD.js","names":[],"sources":["../src/components/BInputGroup/BInputGroup.vue","../src/components/BInputGroup/BInputGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n class=\"input-group\"\n :class=\"computedClasses\"\n role=\"group\"\n >\n <slot name=\"prepend\">\n <span v-if=\"hasPrepend\" class=\"input-group-text\">\n <span>{{ props.prepend }}</span>\n </span>\n </slot>\n <slot />\n <slot name=\"append\">\n <span v-if=\"hasAppend\" class=\"input-group-text\">\n <span>{{ props.append }}</span>\n </span>\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {inputGroupKey} from '../../utils/keys'\nimport type {BInputGroupProps, BInputGroupSlots} from '../../types'\n\nprovide(inputGroupKey, true)\n\nconst _props = withDefaults(defineProps<BInputGroupProps>(), {\n append: undefined,\n id: undefined,\n prepend: undefined,\n size: undefined,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BInputGroup')\ndefineSlots<BInputGroupSlots>()\n\nconst computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== undefined,\n}))\nconst hasAppend = computed(() => !!props.append)\nconst hasPrepend = computed(() => !!props.prepend)\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n class=\"input-group\"\n :class=\"computedClasses\"\n role=\"group\"\n >\n <slot name=\"prepend\">\n <span v-if=\"hasPrepend\" class=\"input-group-text\">\n <span>{{ props.prepend }}</span>\n </span>\n </slot>\n <slot />\n <slot name=\"append\">\n <span v-if=\"hasAppend\" class=\"input-group-text\">\n <span>{{ props.append }}</span>\n </span>\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {inputGroupKey} from '../../utils/keys'\nimport type {BInputGroupProps, BInputGroupSlots} from '../../types'\n\nprovide(inputGroupKey, true)\n\nconst _props = withDefaults(defineProps<BInputGroupProps>(), {\n append: undefined,\n id: undefined,\n prepend: undefined,\n size: undefined,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BInputGroup')\ndefineSlots<BInputGroupSlots>()\n\nconst computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== undefined,\n}))\nconst hasAppend = computed(() => !!props.append)\nconst hasPrepend = computed(() => !!props.prepend)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,GAAA,GAAA,IAAA,SAAQ,aAAA,eAAe,KAAI;EAS3B,MAAM,QAAQ,oBAAA,YAPC,SAOmB,cAAa;EAG/C,MAAM,mBAAA,GAAA,IAAA,iBAAkC,GACrC,eAAe,MAAM,SAAS,MAAM,SAAS,KAAA,GAC/C,EAAC;EACF,MAAM,aAAA,GAAA,IAAA,gBAA2B,CAAC,CAAC,MAAM,OAAM;EAC/C,MAAM,cAAA,GAAA,IAAA,gBAA4B,CAAC,CAAC,MAAM,QAAO;;qGA1CxC,MAAK,CAAC,IAAG,EAAA;IACb,KAAA,GAAA,IAAA,OAAI,MAAK,CAAC;IACX,QAAA,GAAA,IAAA,gBAAK,CAAC,eACE,gBAAA,MAAe,CAAA;IACvB,MAAK;;oCAME;yBAAA,KAAA,QAAA,WAAA,EAAA,QAAA,CAHO,WAAA,UAAA,GAAA,IAAA,YAAA,GAAA,GAAA,IAAA,oBAEL,QAFP,YAEO,EAAA,GAAA,IAAA,oBAD2B,QAAA,OAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OAAvB,MAAK,CAAC,QAAO,EAAA,EAAA,CAAA,CAAA,KAAA,GAAA,IAAA,oBAAA,IAAA,KAAA,CAAA,CAAA;yBAGlB,KAAA,QAAA,UAAA;yBAKD,KAAA,QAAA,UAAA,EAAA,QAAA,CAHO,UAAA,UAAA,GAAA,IAAA,YAAA,GAAA,GAAA,IAAA,oBAEL,QAFP,YAEO,EAAA,GAAA,IAAA,oBAD0B,QAAA,OAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OAAtB,MAAK,CAAC,OAAM,EAAA,EAAA,CAAA,CAAA,KAAA,GAAA,IAAA,oBAAA,IAAA,KAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_useDefaults = require("./useDefaults-
|
|
3
|
-
require("./BInputGroup-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
3
|
+
require("./BInputGroup-Bvlfv6VD.js");
|
|
4
4
|
let vue = require("vue");
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/BInputGroup/BInputGroupText.vue
|
|
@@ -28,4 +28,4 @@ Object.defineProperty(exports, "BInputGroupText_default", {
|
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=BInputGroup-
|
|
31
|
+
//# sourceMappingURL=BInputGroup-D4fW324B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BInputGroup-
|
|
1
|
+
{"version":3,"file":"BInputGroup-D4fW324B.js","names":[],"sources":["../src/components/BInputGroup/BInputGroupText.vue","../src/components/BInputGroup/BInputGroupText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;;EAgBA,MAAM,QAAQ,oBAAA,YAJC,SAImB,kBAAiB;;qGAfjC,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,oBAAkB,EAAA;oCAG1C,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
-
import "./BInputGroup-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
2
|
+
import "./BInputGroup-X2Z53RJx.mjs";
|
|
3
3
|
import { createBlock, createTextVNode, defineComponent, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
4
|
//#endregion
|
|
5
5
|
//#region src/components/BInputGroup/BInputGroupText.vue
|
|
@@ -22,4 +22,4 @@ var BInputGroupText_default = /* @__PURE__ */ defineComponent({
|
|
|
22
22
|
//#endregion
|
|
23
23
|
export { BInputGroupText_default as t };
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=BInputGroup-
|
|
25
|
+
//# sourceMappingURL=BInputGroup-DiTSexkT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BInputGroup-
|
|
1
|
+
{"version":3,"file":"BInputGroup-DiTSexkT.mjs","names":[],"sources":["../src/components/BInputGroup/BInputGroupText.vue","../src/components/BInputGroup/BInputGroupText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;;EAgBA,MAAM,QAAQ,YAJC,SAImB,kBAAiB;;uBAfjD,YAIY,wBAJI,MAAA,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,oBAAkB,EAAA;2BAG1C,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as inputGroupKey } from "./keys-
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
1
|
+
import { p as inputGroupKey } from "./keys-DU7sQgl3.mjs";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
3
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, provide, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
4
|
//#region src/components/BInputGroup/BInputGroup.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = {
|
|
@@ -46,4 +46,4 @@ var BInputGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
46
46
|
//#endregion
|
|
47
47
|
export { BInputGroup_default as t };
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=BInputGroup-
|
|
49
|
+
//# sourceMappingURL=BInputGroup-X2Z53RJx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BInputGroup-
|
|
1
|
+
{"version":3,"file":"BInputGroup-X2Z53RJx.mjs","names":[],"sources":["../src/components/BInputGroup/BInputGroup.vue","../src/components/BInputGroup/BInputGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n class=\"input-group\"\n :class=\"computedClasses\"\n role=\"group\"\n >\n <slot name=\"prepend\">\n <span v-if=\"hasPrepend\" class=\"input-group-text\">\n <span>{{ props.prepend }}</span>\n </span>\n </slot>\n <slot />\n <slot name=\"append\">\n <span v-if=\"hasAppend\" class=\"input-group-text\">\n <span>{{ props.append }}</span>\n </span>\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {inputGroupKey} from '../../utils/keys'\nimport type {BInputGroupProps, BInputGroupSlots} from '../../types'\n\nprovide(inputGroupKey, true)\n\nconst _props = withDefaults(defineProps<BInputGroupProps>(), {\n append: undefined,\n id: undefined,\n prepend: undefined,\n size: undefined,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BInputGroup')\ndefineSlots<BInputGroupSlots>()\n\nconst computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== undefined,\n}))\nconst hasAppend = computed(() => !!props.append)\nconst hasPrepend = computed(() => !!props.prepend)\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n class=\"input-group\"\n :class=\"computedClasses\"\n role=\"group\"\n >\n <slot name=\"prepend\">\n <span v-if=\"hasPrepend\" class=\"input-group-text\">\n <span>{{ props.prepend }}</span>\n </span>\n </slot>\n <slot />\n <slot name=\"append\">\n <span v-if=\"hasAppend\" class=\"input-group-text\">\n <span>{{ props.append }}</span>\n </span>\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {inputGroupKey} from '../../utils/keys'\nimport type {BInputGroupProps, BInputGroupSlots} from '../../types'\n\nprovide(inputGroupKey, true)\n\nconst _props = withDefaults(defineProps<BInputGroupProps>(), {\n append: undefined,\n id: undefined,\n prepend: undefined,\n size: undefined,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BInputGroup')\ndefineSlots<BInputGroupSlots>()\n\nconst computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== undefined,\n}))\nconst hasAppend = computed(() => !!props.append)\nconst hasPrepend = computed(() => !!props.prepend)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4BA,UAAQ,eAAe,KAAI;EAS3B,MAAM,QAAQ,YAPC,SAOmB,cAAa;EAG/C,MAAM,kBAAkB,gBAAgB,GACrC,eAAe,MAAM,SAAS,MAAM,SAAS,KAAA,GAC/C,EAAC;EACF,MAAM,YAAY,eAAe,CAAC,CAAC,MAAM,OAAM;EAC/C,MAAM,aAAa,eAAe,CAAC,CAAC,MAAM,QAAO;;uBA3C/C,YAkBY,wBAjBL,MAAA,MAAK,CAAC,IAAG,EAAA;IACb,IAAI,MAAA,MAAK,CAAC;IACX,OAAK,eAAA,CAAC,eACE,gBAAA,MAAe,CAAA;IACvB,MAAK;;2BAME;KAJP,WAIO,KAAA,QAAA,WAAA,EAAA,QAAA,CAHO,WAAA,SAAA,WAAA,EAAZ,mBAEO,QAFP,YAEO,CADL,mBAAgC,QAAA,MAAA,gBAAvB,MAAA,MAAK,CAAC,QAAO,EAAA,EAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA;KAG1B,WAAQ,KAAA,QAAA,UAAA;KACR,WAIO,KAAA,QAAA,UAAA,EAAA,QAAA,CAHO,UAAA,SAAA,WAAA,EAAZ,mBAEO,QAFP,YAEO,CADL,mBAA+B,QAAA,MAAA,gBAAtB,MAAA,MAAK,CAAC,OAAM,EAAA,EAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as collapseInjectionKey, g as navbarInjectionKey } from "./keys-
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
1
|
+
import { c as collapseInjectionKey, g as navbarInjectionKey } from "./keys-DU7sQgl3.mjs";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
3
|
import { a as pick } from "./object-CHQkkner.mjs";
|
|
4
4
|
import { i as toPascalCase } from "./stringUtils-D4eEDlt1.mjs";
|
|
5
5
|
import { computed, createBlock, defineComponent, getCurrentInstance, inject, mergeProps, openBlock, readonly, renderSlot, resolveDynamicComponent, toRef, toValue, unref, useAttrs, withCtx } from "vue";
|
|
@@ -255,4 +255,4 @@ var BLink_default = /* @__PURE__ */ defineComponent({
|
|
|
255
255
|
//#endregion
|
|
256
256
|
export { useLinkClasses as n, useBLinkHelper as r, BLink_default as t };
|
|
257
257
|
|
|
258
|
-
//# sourceMappingURL=BLink-
|
|
258
|
+
//# sourceMappingURL=BLink-Dfgte6dQ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BLink-CNFWSz0D.mjs","names":[],"sources":["../src/utils/isLink.ts","../src/composables/useBLinkHelper.ts","../src/composables/useLinkClasses.ts","../src/components/BLink/BLink.vue","../src/components/BLink/BLink.vue"],"sourcesContent":["import type {RouteLocationRaw} from 'vue-router'\n\nexport const isLink = (props: Readonly<{href?: string; to?: RouteLocationRaw}>): boolean =>\n !!(props.href || props.to)\n","import {\n type Component,\n computed,\n getCurrentInstance,\n type MaybeRefOrGetter,\n readonly,\n resolveDynamicComponent,\n toRef,\n toValue,\n} from 'vue'\nimport {isLink} from '../utils/isLink'\nimport {pick} from '../utils/object'\nimport type {RouteLocationRaw, RouterLink} from 'vue-router'\nimport {toPascalCase} from '../utils/stringUtils'\n\nexport const useBLinkHelper = <\n T extends Record<string, unknown>,\n const B extends ReadonlyArray<PropertyKey>,\n>(\n props: MaybeRefOrGetter<T>,\n pickProps?: MaybeRefOrGetter<B | (keyof T)[]>\n) => {\n const pickPropsResolved = readonly(toRef(pickProps))\n const resolvedProps = readonly(toRef(props))\n\n const computedLink = computed(() => isLink(resolvedProps.value))\n const computedLinkProps = computed(() =>\n computedLink.value\n ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ]\n )\n : {}\n )\n\n return {computedLink, computedLinkProps}\n}\n\nexport const useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName,\n}: {\n routerComponentName: MaybeRefOrGetter<string | Component>\n disabled: MaybeRefOrGetter<boolean>\n to: MaybeRefOrGetter<RouteLocationRaw | undefined>\n href: MaybeRefOrGetter<string | undefined>\n replace: MaybeRefOrGetter<boolean>\n}) => {\n // Getting instance\n const instance = getCurrentInstance()\n const router = instance?.appContext?.app?.config?.globalProperties?.$router\n const route = instance?.appContext?.app?.config?.globalProperties?.$route\n\n // resolvedynamiccomponent will return a string if the component is not found\n const RouterLinkComponent = resolveDynamicComponent('RouterLink') as typeof RouterLink | string\n\n // Resolving props\n const resolvedTo = computed(() => toValue(to) || '')\n const resolvedReplace = readonly(toRef(replace))\n\n const routerName = computed(() => {\n const routerComponent = toValue(routerComponentName)\n if (typeof routerComponent === 'string') {\n return toPascalCase(routerComponent)\n }\n return routerComponent\n })\n const useLink = (\n typeof routerName.value !== 'string' && 'useLink' in routerName.value\n ? routerName.value.useLink\n : typeof RouterLinkComponent !== 'string' && 'useLink' in RouterLinkComponent\n ? RouterLinkComponent.useLink\n : null\n ) as (typeof RouterLink)['useLink'] | null\n\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => typeof instance?.appContext?.app?.$nuxt !== 'undefined'\n )\n const isRouterLink = computed(() => routerName.value === 'RouterLink')\n\n const tag = computed(() => {\n // If is disabled or there is no `to` prop, render a simple `<a>` tag\n if (toValue(disabled) || !resolvedTo.value) {\n return 'a'\n }\n\n // Is it actually a component? Use that\n if (typeof routerName.value !== 'string') {\n return routerName.value\n }\n // Check if is router link second\n if (isRouterLink.value && typeof RouterLinkComponent !== 'string') {\n return RouterLinkComponent\n }\n\n // routerName is a string, but we need to check if it's a component first\n // return the component from the app context if it exists, otherwise fallback to 'a'\n return instance?.appContext?.app?.component(routerName.value) || 'a'\n })\n\n const isNonStandardTag = computed(\n () => tag.value !== 'a' && !isRouterLink.value && !isNuxtLink.value\n )\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value)\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value,\n }))\n\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace,\n })\n const link = computed(() => (isOfRouterType.value && toValue(to) ? _link : null))\n\n const computedHref = computed(() => {\n if (link.value?.href.value && resolvedTo.value) return link.value.href.value\n\n const toFallback = '#'\n const resolvedHref = toValue(href)\n if (resolvedHref) return resolvedHref\n\n if (typeof resolvedTo.value === 'string') return resolvedTo.value || toFallback\n\n // Stabilize the `to` prop for the callback functions\n const stableTo = resolvedTo.value\n\n if (stableTo !== undefined && 'path' in stableTo) {\n const path = stableTo.path || ''\n const query = stableTo.query\n ? `?${Object.keys(stableTo.query)\n .map((e) => `${e}=${stableTo.query?.[e]}`)\n .join('=')}`\n : ''\n const hash =\n !stableTo.hash || stableTo.hash.charAt(0) === '#'\n ? stableTo.hash || ''\n : `#${stableTo.hash}`\n return `${path}${query}${hash}` || toFallback\n }\n // There is no resolver for `RouteLocationNamedRaw`. Which, I'm not sure there can be one in this context.\n\n return toFallback\n })\n\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps,\n }\n}\n","import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {\n LinkIconProps,\n LinkOpacityProps,\n LinkUnderlineProps,\n LinkVariantProps,\n} from '../types/ComponentProps'\n\nexport const useLinkClasses = (\n linkProps: MaybeRefOrGetter<\n LinkUnderlineProps & LinkOpacityProps & LinkIconProps & LinkVariantProps\n >\n) =>\n computed(() => {\n const props = toValue(linkProps)\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== undefined,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== undefined,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== undefined,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== undefined,\n ['link-underline']:\n props.underlineVariant === null &&\n (props.underlineOpacity !== undefined || props.underlineOpacityHover !== undefined),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== undefined,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]:\n props.underlineOpacityHover !== undefined,\n 'icon-link': props.icon === true,\n }\n })\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n"],"mappings":";;;;;;AAEA,IAAa,UAAU,UACrB,CAAC,EAAE,MAAM,QAAQ,MAAM;;;ACYzB,IAAa,kBAIX,OACA,cACG;CACH,MAAM,oBAAoB,SAAS,MAAM,UAAU,CAAC;CACpD,MAAM,gBAAgB,SAAS,MAAM,MAAM,CAAC;CAE5C,MAAM,eAAe,eAAe,OAAO,cAAc,MAAM,CAAC;AAqChE,QAAO;EAAC;EAAc,mBApCI,eACxB,aAAa,QACT,KACE,cAAc,OACd,kBAAkB,SAAS;GACzB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF,GACD,EAAE,CACP;EAEuC;;AAG1C,IAAa,uBAAuB,EAClC,IACA,UACA,MACA,SACA,0BAOI;CAEJ,MAAM,WAAW,oBAAoB;CACrC,MAAM,SAAS,UAAU,YAAY,KAAK,QAAQ,kBAAkB;CACpE,MAAM,QAAQ,UAAU,YAAY,KAAK,QAAQ,kBAAkB;CAGnE,MAAM,sBAAsB,wBAAwB,aAAa;CAGjE,MAAM,aAAa,eAAe,QAAQ,GAAG,IAAI,GAAG;CACpD,MAAM,kBAAkB,SAAS,MAAM,QAAQ,CAAC;CAEhD,MAAM,aAAa,eAAe;EAChC,MAAM,kBAAkB,QAAQ,oBAAoB;AACpD,MAAI,OAAO,oBAAoB,SAC7B,QAAO,aAAa,gBAAgB;AAEtC,SAAO;GACP;CACF,MAAM,UACJ,OAAO,WAAW,UAAU,YAAY,aAAa,WAAW,QAC5D,WAAW,MAAM,UACjB,OAAO,wBAAwB,YAAY,aAAa,sBACtD,oBAAoB,UACpB;CAGR,MAAM,aAAa,eAEX,OAAO,UAAU,YAAY,KAAK,UAAU,YACnD;CACD,MAAM,eAAe,eAAe,WAAW,UAAU,aAAa;CAEtE,MAAM,MAAM,eAAe;AAEzB,MAAI,QAAQ,SAAS,IAAI,CAAC,WAAW,MACnC,QAAO;AAIT,MAAI,OAAO,WAAW,UAAU,SAC9B,QAAO,WAAW;AAGpB,MAAI,aAAa,SAAS,OAAO,wBAAwB,SACvD,QAAO;AAKT,SAAO,UAAU,YAAY,KAAK,UAAU,WAAW,MAAM,IAAI;GACjE;CAEF,MAAM,mBAAmB,eACjB,IAAI,UAAU,OAAO,CAAC,aAAa,SAAS,CAAC,WAAW,MAC/D;CACD,MAAM,iBAAiB,eAAe,aAAa,SAAS,WAAW,MAAM;CAC7E,MAAM,YAAY,gBAAgB;EAChC,IAAI,WAAW;EACf,SAAS,gBAAgB;EAC1B,EAAE;CAEH,MAAM,QAAQ,UAAU;EACtB,IAAI;EACJ,SAAS;EACV,CAAC;CACF,MAAM,OAAO,eAAgB,eAAe,SAAS,QAAQ,GAAG,GAAG,QAAQ,KAAM;AAgCjF,QAAO;EACL;EACA;EACA;EACA;EACA,cAnCmB,eAAe;AAClC,OAAI,KAAK,OAAO,KAAK,SAAS,WAAW,MAAO,QAAO,KAAK,MAAM,KAAK;GAEvE,MAAM,aAAa;GACnB,MAAM,eAAe,QAAQ,KAAK;AAClC,OAAI,aAAc,QAAO;AAEzB,OAAI,OAAO,WAAW,UAAU,SAAU,QAAO,WAAW,SAAS;GAGrE,MAAM,WAAW,WAAW;AAE5B,OAAI,aAAa,KAAA,KAAa,UAAU,SAWtC,QAAO,GAVM,SAAS,QAAQ,KAChB,SAAS,QACnB,IAAI,OAAO,KAAK,SAAS,MAAM,CAC5B,KAAK,MAAM,GAAG,EAAE,GAAG,SAAS,QAAQ,KAAK,CACzC,KAAK,IAAI,KACZ,KAEF,CAAC,SAAS,QAAQ,SAAS,KAAK,OAAO,EAAE,KAAK,MAC1C,SAAS,QAAQ,KACjB,IAAI,SAAS,YACgB;AAIrC,UAAO;IACP;EAQA;EACA;EACA;EACA;EACA;EACD;;;;ACnLH,IAAa,kBACX,cAIA,eAAe;CACb,MAAM,QAAQ,QAAQ,UAAU;AAChC,QAAO;GACJ,QAAQ,MAAM,YAAY,MAAM,YAAY;GAC5C,gBAAgB,MAAM,YAAY,MAAM,YAAY,KAAA;GACpD,gBAAgB,MAAM,aAAa,UAAU,MAAM,iBAAiB,KAAA;GACpE,kBAAkB,MAAM,qBAAqB,MAAM,qBAAqB;GACxE,eAAe,MAAM,oBAAoB,MAAM,oBAAoB,KAAA;GACnE,eAAe,MAAM,qBAAqB,UAAU,MAAM,yBAAyB,KAAA;GACnF,mBACC,MAAM,qBAAqB,SAC1B,MAAM,qBAAqB,KAAA,KAAa,MAAM,0BAA0B,KAAA;GAC1E,0BAA0B,MAAM,qBAAqB,MAAM,qBAAqB,KAAA;GAChF,0BAA0B,MAAM,sBAAsB,UACrD,MAAM,0BAA0B,KAAA;EAClC,aAAa,MAAM,SAAS;EAC7B;EACD;;;ACDJ,IAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B3B,MAAM,QAAQ,YA5BC,SA4BmB,QAAO;EACzC,MAAM,OAAO;EAEb,MAAM,QAAQ,UAAS;EAEvB,MAAM,EAAC,cAAc,KAAK,MAAM,YAAY,cAAc,WAAW,qBACnE,oBAAoB;GAClB,2BAA2B,MAAM;GACjC,gBAAgB,MAAM;GACtB,UAAU,MAAM;GAChB,eAAe,MAAM;GACrB,YAAY,MAAM;GACnB,CAAA;EAEH,MAAM,eAAe,OAAO,sBAAsB,KAAI;EACtD,MAAM,aAAa,OAAO,oBAAoB,KAAI;;;;EAKlD,MAAM,mBAAmB,eAAe,MAAK;EAC7C,MAAM,kBAAkB,eAAe;GACrC,iBAAiB;GACjB,MAAM;GACN,oBAAoB;GACpB;KACG,qBAAqB,MAAM;KAC3B,MAAM,cAAc,KAAK,OAAO,SAAS,SAAS;KAClD,MAAM,mBAAmB,KAAK,OAAO,cAAc,SAAS;IAC7D,kBAAkB,MAAM;;GAE3B,CAAA;EACD,MAAM,sBAAsB,gBAAgB;IACzC,qBAAqB,MAAM;GAC5B,UAAU,MAAM;GACjB,EAAC;EAEF,MAAM,WAAW,MAAkC;AACjD,OAAI,MAAM,UAAU;AAClB,MAAE,gBAAe;AACjB,MAAE,0BAAyB;AAC3B;;AAGF,OACG,cAAc,OAAO,UAAU,QAAQ,eAAe,QACtD,eAAe,QAAQ,WAAW,aAAa,UAAU,KAE1D,eAAc,QAAO;AAGvB,QAAK,SAAS,EAAC;;EAGjB,MAAM,cAAc,eAClB,MAAM,WAAW,WAAY,CAAC,MAAM,OAAO,MAAM,QAAQ,aAAa,MAAM,MAAO,KAAA,EACrF;EACA,MAAM,mBAAmB,eACvB,MAAM,WAAW,OAAO,OAAO,MAAM,aAAa,cAAc,OAAO,MAAM,SAC/E;EAEA,MAAM,oBAAoB,gBAAgB;GACxC,GAAI,MAAM,aAAa,EAAC,YAAY,MAAM,YAAW,GAAG,EAAC,UAAU,MAAM,UAAS;GAClF,YAAY,MAAM;GAClB,iBAAiB,MAAM;GACvB,GAAG,UAAU;GACd,EAAC;EACF,MAAM,wBAAwB,gBAAgB;GAC5C,GAAI,aAAa,QAAQ,UAAU,QAAQ,KAAA;GAG3C,GAAI,WAAW,SAAS,iBAAiB,QAAQ,kBAAkB,QAAQ,KAAA;GAC5E,EAAC;;uBAlIA,YAiBY,wBAhBL,MAAA,IAAG,CAAA,EADV,WAiBY;IAfT,OAAO,gBAAA;IACP,QAAQ,MAAA,MAAK,CAAC;IACd,MAAM,MAAA,aAAY;IAClB,KAAK,YAAA;IACL,UAAU,iBAAA;IACV,iBAAe,MAAA,MAAK,CAAC,WAAQ,OAAA;MACtB,sBAAA,OAAqB,EAC5B,SAAK,OAAA,OAAA,OAAA,MAAU,MAAa;AAAe,YAAQ,EAAC;AAAU,UAAA,KAAI,EAAE,SAAS,EAAC;;2BAOvE,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BLink-Dfgte6dQ.mjs","names":[],"sources":["../src/utils/isLink.ts","../src/composables/useBLinkHelper.ts","../src/composables/useLinkClasses.ts","../src/components/BLink/BLink.vue","../src/components/BLink/BLink.vue"],"sourcesContent":["import type {RouteLocationRaw} from 'vue-router'\n\nexport const isLink = (props: Readonly<{href?: string; to?: RouteLocationRaw}>): boolean =>\n !!(props.href || props.to)\n","import {\n type Component,\n computed,\n getCurrentInstance,\n type MaybeRefOrGetter,\n readonly,\n resolveDynamicComponent,\n toRef,\n toValue,\n} from 'vue'\nimport {isLink} from '../utils/isLink'\nimport {pick} from '../utils/object'\nimport type {RouteLocationRaw, RouterLink} from 'vue-router'\nimport {toPascalCase} from '../utils/stringUtils'\n\nexport const useBLinkHelper = <\n T extends Record<string, unknown>,\n const B extends ReadonlyArray<PropertyKey>,\n>(\n props: MaybeRefOrGetter<T>,\n pickProps?: MaybeRefOrGetter<B | (keyof T)[]>\n) => {\n const pickPropsResolved = readonly(toRef(pickProps))\n const resolvedProps = readonly(toRef(props))\n\n const computedLink = computed(() => isLink(resolvedProps.value))\n const computedLinkProps = computed(() =>\n computedLink.value\n ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ]\n )\n : {}\n )\n\n return {computedLink, computedLinkProps}\n}\n\nexport const useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName,\n}: {\n routerComponentName: MaybeRefOrGetter<string | Component>\n disabled: MaybeRefOrGetter<boolean>\n to: MaybeRefOrGetter<RouteLocationRaw | undefined>\n href: MaybeRefOrGetter<string | undefined>\n replace: MaybeRefOrGetter<boolean>\n}) => {\n // Getting instance\n const instance = getCurrentInstance()\n const router = instance?.appContext?.app?.config?.globalProperties?.$router\n const route = instance?.appContext?.app?.config?.globalProperties?.$route\n\n // resolvedynamiccomponent will return a string if the component is not found\n const RouterLinkComponent = resolveDynamicComponent('RouterLink') as typeof RouterLink | string\n\n // Resolving props\n const resolvedTo = computed(() => toValue(to) || '')\n const resolvedReplace = readonly(toRef(replace))\n\n const routerName = computed(() => {\n const routerComponent = toValue(routerComponentName)\n if (typeof routerComponent === 'string') {\n return toPascalCase(routerComponent)\n }\n return routerComponent\n })\n const useLink = (\n typeof routerName.value !== 'string' && 'useLink' in routerName.value\n ? routerName.value.useLink\n : typeof RouterLinkComponent !== 'string' && 'useLink' in RouterLinkComponent\n ? RouterLinkComponent.useLink\n : null\n ) as (typeof RouterLink)['useLink'] | null\n\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => typeof instance?.appContext?.app?.$nuxt !== 'undefined'\n )\n const isRouterLink = computed(() => routerName.value === 'RouterLink')\n\n const tag = computed(() => {\n // If is disabled or there is no `to` prop, render a simple `<a>` tag\n if (toValue(disabled) || !resolvedTo.value) {\n return 'a'\n }\n\n // Is it actually a component? Use that\n if (typeof routerName.value !== 'string') {\n return routerName.value\n }\n // Check if is router link second\n if (isRouterLink.value && typeof RouterLinkComponent !== 'string') {\n return RouterLinkComponent\n }\n\n // routerName is a string, but we need to check if it's a component first\n // return the component from the app context if it exists, otherwise fallback to 'a'\n return instance?.appContext?.app?.component(routerName.value) || 'a'\n })\n\n const isNonStandardTag = computed(\n () => tag.value !== 'a' && !isRouterLink.value && !isNuxtLink.value\n )\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value)\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value,\n }))\n\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace,\n })\n const link = computed(() => (isOfRouterType.value && toValue(to) ? _link : null))\n\n const computedHref = computed(() => {\n if (link.value?.href.value && resolvedTo.value) return link.value.href.value\n\n const toFallback = '#'\n const resolvedHref = toValue(href)\n if (resolvedHref) return resolvedHref\n\n if (typeof resolvedTo.value === 'string') return resolvedTo.value || toFallback\n\n // Stabilize the `to` prop for the callback functions\n const stableTo = resolvedTo.value\n\n if (stableTo !== undefined && 'path' in stableTo) {\n const path = stableTo.path || ''\n const query = stableTo.query\n ? `?${Object.keys(stableTo.query)\n .map((e) => `${e}=${stableTo.query?.[e]}`)\n .join('=')}`\n : ''\n const hash =\n !stableTo.hash || stableTo.hash.charAt(0) === '#'\n ? stableTo.hash || ''\n : `#${stableTo.hash}`\n return `${path}${query}${hash}` || toFallback\n }\n // There is no resolver for `RouteLocationNamedRaw`. Which, I'm not sure there can be one in this context.\n\n return toFallback\n })\n\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps,\n }\n}\n","import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {\n LinkIconProps,\n LinkOpacityProps,\n LinkUnderlineProps,\n LinkVariantProps,\n} from '../types/ComponentProps'\n\nexport const useLinkClasses = (\n linkProps: MaybeRefOrGetter<\n LinkUnderlineProps & LinkOpacityProps & LinkIconProps & LinkVariantProps\n >\n) =>\n computed(() => {\n const props = toValue(linkProps)\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== undefined,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== undefined,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== undefined,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== undefined,\n ['link-underline']:\n props.underlineVariant === null &&\n (props.underlineOpacity !== undefined || props.underlineOpacityHover !== undefined),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== undefined,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]:\n props.underlineOpacityHover !== undefined,\n 'icon-link': props.icon === true,\n }\n })\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_keys = require("./keys-
|
|
3
|
-
const require_useDefaults = require("./useDefaults-
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
4
4
|
const require_object = require("./object-BN7QwMcz.js");
|
|
5
5
|
const require_stringUtils = require("./stringUtils-68ZN_GRt.js");
|
|
6
6
|
let vue = require("vue");
|
|
@@ -273,4 +273,4 @@ Object.defineProperty(exports, "useLinkClasses", {
|
|
|
273
273
|
}
|
|
274
274
|
});
|
|
275
275
|
|
|
276
|
-
//# sourceMappingURL=BLink-
|
|
276
|
+
//# sourceMappingURL=BLink-kLEjleB1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BLink-uLjtY3bY.js","names":[],"sources":["../src/utils/isLink.ts","../src/composables/useBLinkHelper.ts","../src/composables/useLinkClasses.ts","../src/components/BLink/BLink.vue","../src/components/BLink/BLink.vue"],"sourcesContent":["import type {RouteLocationRaw} from 'vue-router'\n\nexport const isLink = (props: Readonly<{href?: string; to?: RouteLocationRaw}>): boolean =>\n !!(props.href || props.to)\n","import {\n type Component,\n computed,\n getCurrentInstance,\n type MaybeRefOrGetter,\n readonly,\n resolveDynamicComponent,\n toRef,\n toValue,\n} from 'vue'\nimport {isLink} from '../utils/isLink'\nimport {pick} from '../utils/object'\nimport type {RouteLocationRaw, RouterLink} from 'vue-router'\nimport {toPascalCase} from '../utils/stringUtils'\n\nexport const useBLinkHelper = <\n T extends Record<string, unknown>,\n const B extends ReadonlyArray<PropertyKey>,\n>(\n props: MaybeRefOrGetter<T>,\n pickProps?: MaybeRefOrGetter<B | (keyof T)[]>\n) => {\n const pickPropsResolved = readonly(toRef(pickProps))\n const resolvedProps = readonly(toRef(props))\n\n const computedLink = computed(() => isLink(resolvedProps.value))\n const computedLinkProps = computed(() =>\n computedLink.value\n ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ]\n )\n : {}\n )\n\n return {computedLink, computedLinkProps}\n}\n\nexport const useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName,\n}: {\n routerComponentName: MaybeRefOrGetter<string | Component>\n disabled: MaybeRefOrGetter<boolean>\n to: MaybeRefOrGetter<RouteLocationRaw | undefined>\n href: MaybeRefOrGetter<string | undefined>\n replace: MaybeRefOrGetter<boolean>\n}) => {\n // Getting instance\n const instance = getCurrentInstance()\n const router = instance?.appContext?.app?.config?.globalProperties?.$router\n const route = instance?.appContext?.app?.config?.globalProperties?.$route\n\n // resolvedynamiccomponent will return a string if the component is not found\n const RouterLinkComponent = resolveDynamicComponent('RouterLink') as typeof RouterLink | string\n\n // Resolving props\n const resolvedTo = computed(() => toValue(to) || '')\n const resolvedReplace = readonly(toRef(replace))\n\n const routerName = computed(() => {\n const routerComponent = toValue(routerComponentName)\n if (typeof routerComponent === 'string') {\n return toPascalCase(routerComponent)\n }\n return routerComponent\n })\n const useLink = (\n typeof routerName.value !== 'string' && 'useLink' in routerName.value\n ? routerName.value.useLink\n : typeof RouterLinkComponent !== 'string' && 'useLink' in RouterLinkComponent\n ? RouterLinkComponent.useLink\n : null\n ) as (typeof RouterLink)['useLink'] | null\n\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => typeof instance?.appContext?.app?.$nuxt !== 'undefined'\n )\n const isRouterLink = computed(() => routerName.value === 'RouterLink')\n\n const tag = computed(() => {\n // If is disabled or there is no `to` prop, render a simple `<a>` tag\n if (toValue(disabled) || !resolvedTo.value) {\n return 'a'\n }\n\n // Is it actually a component? Use that\n if (typeof routerName.value !== 'string') {\n return routerName.value\n }\n // Check if is router link second\n if (isRouterLink.value && typeof RouterLinkComponent !== 'string') {\n return RouterLinkComponent\n }\n\n // routerName is a string, but we need to check if it's a component first\n // return the component from the app context if it exists, otherwise fallback to 'a'\n return instance?.appContext?.app?.component(routerName.value) || 'a'\n })\n\n const isNonStandardTag = computed(\n () => tag.value !== 'a' && !isRouterLink.value && !isNuxtLink.value\n )\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value)\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value,\n }))\n\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace,\n })\n const link = computed(() => (isOfRouterType.value && toValue(to) ? _link : null))\n\n const computedHref = computed(() => {\n if (link.value?.href.value && resolvedTo.value) return link.value.href.value\n\n const toFallback = '#'\n const resolvedHref = toValue(href)\n if (resolvedHref) return resolvedHref\n\n if (typeof resolvedTo.value === 'string') return resolvedTo.value || toFallback\n\n // Stabilize the `to` prop for the callback functions\n const stableTo = resolvedTo.value\n\n if (stableTo !== undefined && 'path' in stableTo) {\n const path = stableTo.path || ''\n const query = stableTo.query\n ? `?${Object.keys(stableTo.query)\n .map((e) => `${e}=${stableTo.query?.[e]}`)\n .join('=')}`\n : ''\n const hash =\n !stableTo.hash || stableTo.hash.charAt(0) === '#'\n ? stableTo.hash || ''\n : `#${stableTo.hash}`\n return `${path}${query}${hash}` || toFallback\n }\n // There is no resolver for `RouteLocationNamedRaw`. Which, I'm not sure there can be one in this context.\n\n return toFallback\n })\n\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps,\n }\n}\n","import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {\n LinkIconProps,\n LinkOpacityProps,\n LinkUnderlineProps,\n LinkVariantProps,\n} from '../types/ComponentProps'\n\nexport const useLinkClasses = (\n linkProps: MaybeRefOrGetter<\n LinkUnderlineProps & LinkOpacityProps & LinkIconProps & LinkVariantProps\n >\n) =>\n computed(() => {\n const props = toValue(linkProps)\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== undefined,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== undefined,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== undefined,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== undefined,\n ['link-underline']:\n props.underlineVariant === null &&\n (props.underlineOpacity !== undefined || props.underlineOpacityHover !== undefined),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== undefined,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]:\n props.underlineOpacityHover !== undefined,\n 'icon-link': props.icon === true,\n }\n })\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BLink-kLEjleB1.js","names":[],"sources":["../src/utils/isLink.ts","../src/composables/useBLinkHelper.ts","../src/composables/useLinkClasses.ts","../src/components/BLink/BLink.vue","../src/components/BLink/BLink.vue"],"sourcesContent":["import type {RouteLocationRaw} from 'vue-router'\n\nexport const isLink = (props: Readonly<{href?: string; to?: RouteLocationRaw}>): boolean =>\n !!(props.href || props.to)\n","import {\n type Component,\n computed,\n getCurrentInstance,\n type MaybeRefOrGetter,\n readonly,\n resolveDynamicComponent,\n toRef,\n toValue,\n} from 'vue'\nimport {isLink} from '../utils/isLink'\nimport {pick} from '../utils/object'\nimport type {RouteLocationRaw, RouterLink} from 'vue-router'\nimport {toPascalCase} from '../utils/stringUtils'\n\nexport const useBLinkHelper = <\n T extends Record<string, unknown>,\n const B extends ReadonlyArray<PropertyKey>,\n>(\n props: MaybeRefOrGetter<T>,\n pickProps?: MaybeRefOrGetter<B | (keyof T)[]>\n) => {\n const pickPropsResolved = readonly(toRef(pickProps))\n const resolvedProps = readonly(toRef(props))\n\n const computedLink = computed(() => isLink(resolvedProps.value))\n const computedLinkProps = computed(() =>\n computedLink.value\n ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ]\n )\n : {}\n )\n\n return {computedLink, computedLinkProps}\n}\n\nexport const useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName,\n}: {\n routerComponentName: MaybeRefOrGetter<string | Component>\n disabled: MaybeRefOrGetter<boolean>\n to: MaybeRefOrGetter<RouteLocationRaw | undefined>\n href: MaybeRefOrGetter<string | undefined>\n replace: MaybeRefOrGetter<boolean>\n}) => {\n // Getting instance\n const instance = getCurrentInstance()\n const router = instance?.appContext?.app?.config?.globalProperties?.$router\n const route = instance?.appContext?.app?.config?.globalProperties?.$route\n\n // resolvedynamiccomponent will return a string if the component is not found\n const RouterLinkComponent = resolveDynamicComponent('RouterLink') as typeof RouterLink | string\n\n // Resolving props\n const resolvedTo = computed(() => toValue(to) || '')\n const resolvedReplace = readonly(toRef(replace))\n\n const routerName = computed(() => {\n const routerComponent = toValue(routerComponentName)\n if (typeof routerComponent === 'string') {\n return toPascalCase(routerComponent)\n }\n return routerComponent\n })\n const useLink = (\n typeof routerName.value !== 'string' && 'useLink' in routerName.value\n ? routerName.value.useLink\n : typeof RouterLinkComponent !== 'string' && 'useLink' in RouterLinkComponent\n ? RouterLinkComponent.useLink\n : null\n ) as (typeof RouterLink)['useLink'] | null\n\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => typeof instance?.appContext?.app?.$nuxt !== 'undefined'\n )\n const isRouterLink = computed(() => routerName.value === 'RouterLink')\n\n const tag = computed(() => {\n // If is disabled or there is no `to` prop, render a simple `<a>` tag\n if (toValue(disabled) || !resolvedTo.value) {\n return 'a'\n }\n\n // Is it actually a component? Use that\n if (typeof routerName.value !== 'string') {\n return routerName.value\n }\n // Check if is router link second\n if (isRouterLink.value && typeof RouterLinkComponent !== 'string') {\n return RouterLinkComponent\n }\n\n // routerName is a string, but we need to check if it's a component first\n // return the component from the app context if it exists, otherwise fallback to 'a'\n return instance?.appContext?.app?.component(routerName.value) || 'a'\n })\n\n const isNonStandardTag = computed(\n () => tag.value !== 'a' && !isRouterLink.value && !isNuxtLink.value\n )\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value)\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value,\n }))\n\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace,\n })\n const link = computed(() => (isOfRouterType.value && toValue(to) ? _link : null))\n\n const computedHref = computed(() => {\n if (link.value?.href.value && resolvedTo.value) return link.value.href.value\n\n const toFallback = '#'\n const resolvedHref = toValue(href)\n if (resolvedHref) return resolvedHref\n\n if (typeof resolvedTo.value === 'string') return resolvedTo.value || toFallback\n\n // Stabilize the `to` prop for the callback functions\n const stableTo = resolvedTo.value\n\n if (stableTo !== undefined && 'path' in stableTo) {\n const path = stableTo.path || ''\n const query = stableTo.query\n ? `?${Object.keys(stableTo.query)\n .map((e) => `${e}=${stableTo.query?.[e]}`)\n .join('=')}`\n : ''\n const hash =\n !stableTo.hash || stableTo.hash.charAt(0) === '#'\n ? stableTo.hash || ''\n : `#${stableTo.hash}`\n return `${path}${query}${hash}` || toFallback\n }\n // There is no resolver for `RouteLocationNamedRaw`. Which, I'm not sure there can be one in this context.\n\n return toFallback\n })\n\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps,\n }\n}\n","import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport type {\n LinkIconProps,\n LinkOpacityProps,\n LinkUnderlineProps,\n LinkVariantProps,\n} from '../types/ComponentProps'\n\nexport const useLinkClasses = (\n linkProps: MaybeRefOrGetter<\n LinkUnderlineProps & LinkOpacityProps & LinkIconProps & LinkVariantProps\n >\n) =>\n computed(() => {\n const props = toValue(linkProps)\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== undefined,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== undefined,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== undefined,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== undefined,\n ['link-underline']:\n props.underlineVariant === null &&\n (props.underlineOpacity !== undefined || props.underlineOpacityHover !== undefined),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== undefined,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]:\n props.underlineOpacityHover !== undefined,\n 'icon-link': props.icon === true,\n }\n })\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n","<template>\n <component\n :is=\"tag\"\n :class=\"computedClasses\"\n :target=\"props.target\"\n :href=\"computedHref\"\n :rel=\"computedRel\"\n :tabindex=\"computedTabIndex\"\n :aria-disabled=\"props.disabled ? true : null\"\n v-bind=\"computedSpecificProps\"\n @click=\"\n (e: MouseEvent) => {\n clicked(e)\n link?.navigate(e)\n }\n \"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {collapseInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {computed, inject, useAttrs} from 'vue'\nimport {useBLinkTagResolver} from '../../composables/useBLinkHelper'\nimport type {BLinkEmits, BLinkProps, BLinkSlots} from '../../types'\n\nconst defaultActiveClass = 'active'\n\nconst _props = withDefaults(defineProps<BLinkProps>(), {\n active: undefined,\n activeClass: 'router-link-active',\n disabled: false,\n exactActiveClass: 'router-link-exact-active',\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n noPrefetch: undefined,\n prefetchOn: undefined,\n noRel: false,\n prefetchedClass: undefined,\n prefetch: undefined,\n rel: undefined,\n replace: false,\n routerComponentName: 'router-link',\n routerTag: 'a',\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n variant: null,\n})\nconst props = useDefaults(_props, 'BLink')\nconst emit = defineEmits<BLinkEmits>()\ndefineSlots<BLinkSlots>()\nconst attrs = useAttrs()\n\nconst {computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag} =\n useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href,\n })\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n/**\n * Not to be confused with computedLinkClasses\n */\nconst linkValueClasses = useLinkClasses(props)\nconst computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n 'stretched-link': props.stretched,\n },\n])\nconst computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n\n if (\n (collapseData?.isNav?.value === true && navbarData === null) ||\n (navbarData !== null && navbarData.noAutoClose?.value !== true)\n ) {\n collapseData?.hide?.()\n }\n\n emit('click', e)\n}\n\nconst computedRel = computed(() =>\n props.target === '_blank' ? (!props.rel && props.noRel ? 'noopener' : props.rel) : undefined\n)\nconst computedTabIndex = computed(() =>\n props.disabled ? '-1' : typeof attrs.tabindex === 'undefined' ? null : attrs.tabindex\n)\n\nconst nuxtSpecificProps = computed(() => ({\n ...(props.noPrefetch ? {noPrefetch: props.noPrefetch} : {prefetch: props.prefetch}),\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value,\n}))\nconst computedSpecificProps = computed(() => ({\n ...(isRouterLink.value ? linkProps.value : undefined),\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...(isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : undefined),\n}))\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_keys = require("./keys-
|
|
3
|
-
const require_useDefaults = require("./useDefaults-
|
|
4
|
-
const require_BLink = require("./BLink-
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
4
|
+
const require_BLink = require("./BLink-kLEjleB1.js");
|
|
5
5
|
let vue = require("vue");
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/components/BListGroup/BListGroup.vue
|
|
@@ -164,4 +164,4 @@ Object.defineProperty(exports, "BListGroup_default", {
|
|
|
164
164
|
}
|
|
165
165
|
});
|
|
166
166
|
|
|
167
|
-
//# sourceMappingURL=BListGroup-
|
|
167
|
+
//# sourceMappingURL=BListGroup-C8JOzHTz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BListGroup-CeXKZio1.js","names":[],"sources":["../src/components/BListGroup/BListGroup.vue","../src/components/BListGroup/BListGroup.vue","../src/components/BListGroup/BListGroupItem.vue","../src/components/BListGroup/BListGroupItem.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"list-group\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef} from 'vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BListGroupProps, BListGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupProps>(), {\n flush: false,\n horizontal: false,\n numbered: false,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BListGroup')\ndefineSlots<BListGroupSlots>()\n\nconst computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal\n return {\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === 'string',\n 'list-group-numbered': props.numbered,\n }\n})\nconst computedTag = computed(() => (props.numbered === true ? 'ol' : props.tag))\n\nprovide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered),\n})\n</script>\n","<template>\n <component :is=\"computedTag\" class=\"list-group\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef} from 'vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BListGroupProps, BListGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupProps>(), {\n flush: false,\n horizontal: false,\n numbered: false,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BListGroup')\ndefineSlots<BListGroupSlots>()\n\nconst computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal\n return {\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === 'string',\n 'list-group-numbered': props.numbered,\n }\n})\nconst computedTag = computed(() => (props.numbered === true ? 'ol' : props.tag))\n\nprovide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered),\n})\n</script>\n","<template>\n <component\n :is=\"tagComputed\"\n class=\"list-group-item\"\n :class=\"computedClasses\"\n :aria-current=\"props.active ? true : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n :target=\"isLink ? props.target : undefined\"\n :href=\"!props.button ? props.href : undefined\"\n :to=\"!props.button ? props.to : undefined\"\n v-bind=\"{...(isLink ? computedLinkProps : {}), ...computedAttrs}\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BLink from '../BLink/BLink.vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BListGroupItemProps, BListGroupItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupItemProps>(), {\n action: false,\n button: false,\n tag: 'div',\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BListGroupItem')\ndefineSlots<BListGroupItemSlots>()\nconst attrs = useAttrs()\n\nconst parentData = inject(listGroupInjectionKey, null)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst isLink = computed(() => !props.button && computedLink.value)\nconst tagComputed = computed(() =>\n parentData?.numbered.value ? 'li' : props.button ? 'button' : !isLink.value ? props.tag : BLink\n)\n\nconst isAction = computed(\n () =>\n props.action ||\n isLink.value ||\n props.button ||\n ['a', 'router-link', 'button', 'b-link'].includes(props.tag)\n)\n\nconst computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== undefined,\n 'list-group-item-action': isAction.value,\n 'active': props.active,\n 'disabled': props.disabled,\n}))\n\nconst computedAttrs = computed(() => {\n const localAttrs = {} as {type?: string; disabled?: boolean}\n if (props.button) {\n if (!attrs || !attrs.type) {\n // Add a type for button is one not provided in passed attributes\n localAttrs.type = 'button'\n }\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n localAttrs.disabled = true\n }\n }\n return localAttrs\n})\n</script>\n","<template>\n <component\n :is=\"tagComputed\"\n class=\"list-group-item\"\n :class=\"computedClasses\"\n :aria-current=\"props.active ? true : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n :target=\"isLink ? props.target : undefined\"\n :href=\"!props.button ? props.href : undefined\"\n :to=\"!props.button ? props.to : undefined\"\n v-bind=\"{...(isLink ? computedLinkProps : {}), ...computedAttrs}\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BLink from '../BLink/BLink.vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BListGroupItemProps, BListGroupItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupItemProps>(), {\n action: false,\n button: false,\n tag: 'div',\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BListGroupItem')\ndefineSlots<BListGroupItemSlots>()\nconst attrs = useAttrs()\n\nconst parentData = inject(listGroupInjectionKey, null)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst isLink = computed(() => !props.button && computedLink.value)\nconst tagComputed = computed(() =>\n parentData?.numbered.value ? 'li' : props.button ? 'button' : !isLink.value ? props.tag : BLink\n)\n\nconst isAction = computed(\n () =>\n props.action ||\n isLink.value ||\n props.button ||\n ['a', 'router-link', 'button', 'b-link'].includes(props.tag)\n)\n\nconst computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== undefined,\n 'list-group-item-action': isAction.value,\n 'active': props.active,\n 'disabled': props.disabled,\n}))\n\nconst computedAttrs = computed(() => {\n const localAttrs = {} as {type?: string; disabled?: boolean}\n if (props.button) {\n if (!attrs || !attrs.type) {\n // Add a type for button is one not provided in passed attributes\n localAttrs.type = 'button'\n }\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n localAttrs.disabled = true\n }\n }\n return localAttrs\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ,oBAAA,YANC,SAMmB,aAAY;EAG9C,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,MAAM,aAAa,MAAM,QAAQ,QAAQ,MAAM;AAC/C,UAAO;IACL,oBAAoB,MAAM;IAC1B,yBAAyB,eAAe;KACvC,yBAAyB,eAAe,OAAO,eAAe;IAC/D,uBAAuB,MAAM;IAC/B;IACD;EACD,MAAM,eAAA,GAAA,IAAA,gBAA8B,MAAM,aAAa,OAAO,OAAO,MAAM,IAAI;AAE/E,GAAA,GAAA,IAAA,SAAQ,aAAA,uBAAuB,EAC7B,WAAA,GAAA,IAAA,aAAsB,MAAM,SAAS,EACtC,CAAA;;sFAjCiB,YAAA,MAAW,EAAA,EAAE,QAAA,GAAA,IAAA,gBAAK,CAAC,cAAqB,gBAAA,MAAe,CAAA,EAAA,EAAA;oCAC7D,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EEkDZ,MAAM,QAAQ,oBAAA,YA5BC,SA4BmB,iBAAgB;EAElD,MAAM,SAAA,GAAA,IAAA,WAAiB;EAEvB,MAAM,cAAA,GAAA,IAAA,QAAoB,aAAA,uBAAuB,KAAI;EAErD,MAAM,EAAC,cAAc,sBAAqB,cAAA,eAAe,MAAK;EAE9D,MAAM,UAAA,GAAA,IAAA,gBAAwB,CAAC,MAAM,UAAU,aAAa,MAAK;EACjE,MAAM,eAAA,GAAA,IAAA,gBACJ,YAAY,SAAS,QAAQ,OAAO,MAAM,SAAS,WAAW,CAAC,OAAO,QAAQ,MAAM,MAAM,cAAA,cAC5F;EAEA,MAAM,YAAA,GAAA,IAAA,gBAEF,MAAM,UACN,OAAO,SACP,MAAM,UACN;GAAC;GAAK;GAAe;GAAU;GAAS,CAAC,SAAS,MAAM,IAAG,CAC/D;EAEA,MAAM,mBAAA,GAAA,IAAA,iBAAkC;IACrC,mBAAmB,MAAM,YAAY,MAAM,YAAY,QAAQ,MAAM,YAAY,KAAA;GAClF,0BAA0B,SAAS;GACnC,UAAU,MAAM;GAChB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,iBAAA,GAAA,IAAA,gBAA+B;GACnC,MAAM,aAAa,EAAE;AACrB,OAAI,MAAM,QAAQ;AAChB,QAAI,CAAC,SAAS,CAAC,MAAM,KAEnB,YAAW,OAAO;AAEpB,QAAI,MAAM,SAER,YAAW,WAAW;;AAG1B,UAAO;IACR;;sFA3FQ,YAAA,MAAW,GAAA,GAAA,IAAA,YAWN;IAVV,OAAK,CAAC,mBACE,gBAAA,MAAe;IACtB,iBAAA,GAAA,IAAA,OAAc,MAAK,CAAC,SAAM,OAAU,KAAA;IACpC,kBAAA,GAAA,IAAA,OAAe,MAAK,CAAC,WAAQ,OAAU,KAAA;IACvC,QAAQ,OAAA,SAAA,GAAA,IAAA,OAAS,MAAK,CAAC,SAAS,KAAA;IAChC,MAAI,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,OAAO,KAAA;IACnC,IAAE,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,KAAK,KAAA;;OACnB,OAAA,SAAA,GAAA,IAAA,OAAS,kBAAiB,GAAA,EAAA;IAAA,GAAW,cAAA;IAAa,CAAA,EAAA;oCAEvD,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BListGroup-C8JOzHTz.js","names":[],"sources":["../src/components/BListGroup/BListGroup.vue","../src/components/BListGroup/BListGroup.vue","../src/components/BListGroup/BListGroupItem.vue","../src/components/BListGroup/BListGroupItem.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"list-group\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef} from 'vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BListGroupProps, BListGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupProps>(), {\n flush: false,\n horizontal: false,\n numbered: false,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BListGroup')\ndefineSlots<BListGroupSlots>()\n\nconst computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal\n return {\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === 'string',\n 'list-group-numbered': props.numbered,\n }\n})\nconst computedTag = computed(() => (props.numbered === true ? 'ol' : props.tag))\n\nprovide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered),\n})\n</script>\n","<template>\n <component :is=\"computedTag\" class=\"list-group\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef} from 'vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BListGroupProps, BListGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupProps>(), {\n flush: false,\n horizontal: false,\n numbered: false,\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BListGroup')\ndefineSlots<BListGroupSlots>()\n\nconst computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal\n return {\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === 'string',\n 'list-group-numbered': props.numbered,\n }\n})\nconst computedTag = computed(() => (props.numbered === true ? 'ol' : props.tag))\n\nprovide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered),\n})\n</script>\n","<template>\n <component\n :is=\"tagComputed\"\n class=\"list-group-item\"\n :class=\"computedClasses\"\n :aria-current=\"props.active ? true : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n :target=\"isLink ? props.target : undefined\"\n :href=\"!props.button ? props.href : undefined\"\n :to=\"!props.button ? props.to : undefined\"\n v-bind=\"{...(isLink ? computedLinkProps : {}), ...computedAttrs}\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BLink from '../BLink/BLink.vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BListGroupItemProps, BListGroupItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupItemProps>(), {\n action: false,\n button: false,\n tag: 'div',\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BListGroupItem')\ndefineSlots<BListGroupItemSlots>()\nconst attrs = useAttrs()\n\nconst parentData = inject(listGroupInjectionKey, null)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst isLink = computed(() => !props.button && computedLink.value)\nconst tagComputed = computed(() =>\n parentData?.numbered.value ? 'li' : props.button ? 'button' : !isLink.value ? props.tag : BLink\n)\n\nconst isAction = computed(\n () =>\n props.action ||\n isLink.value ||\n props.button ||\n ['a', 'router-link', 'button', 'b-link'].includes(props.tag)\n)\n\nconst computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== undefined,\n 'list-group-item-action': isAction.value,\n 'active': props.active,\n 'disabled': props.disabled,\n}))\n\nconst computedAttrs = computed(() => {\n const localAttrs = {} as {type?: string; disabled?: boolean}\n if (props.button) {\n if (!attrs || !attrs.type) {\n // Add a type for button is one not provided in passed attributes\n localAttrs.type = 'button'\n }\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n localAttrs.disabled = true\n }\n }\n return localAttrs\n})\n</script>\n","<template>\n <component\n :is=\"tagComputed\"\n class=\"list-group-item\"\n :class=\"computedClasses\"\n :aria-current=\"props.active ? true : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n :target=\"isLink ? props.target : undefined\"\n :href=\"!props.button ? props.href : undefined\"\n :to=\"!props.button ? props.to : undefined\"\n v-bind=\"{...(isLink ? computedLinkProps : {}), ...computedAttrs}\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BLink from '../BLink/BLink.vue'\nimport {listGroupInjectionKey} from '../../utils/keys'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BListGroupItemProps, BListGroupItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BListGroupItemProps>(), {\n action: false,\n button: false,\n tag: 'div',\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BListGroupItem')\ndefineSlots<BListGroupItemSlots>()\nconst attrs = useAttrs()\n\nconst parentData = inject(listGroupInjectionKey, null)\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst isLink = computed(() => !props.button && computedLink.value)\nconst tagComputed = computed(() =>\n parentData?.numbered.value ? 'li' : props.button ? 'button' : !isLink.value ? props.tag : BLink\n)\n\nconst isAction = computed(\n () =>\n props.action ||\n isLink.value ||\n props.button ||\n ['a', 'router-link', 'button', 'b-link'].includes(props.tag)\n)\n\nconst computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== undefined,\n 'list-group-item-action': isAction.value,\n 'active': props.active,\n 'disabled': props.disabled,\n}))\n\nconst computedAttrs = computed(() => {\n const localAttrs = {} as {type?: string; disabled?: boolean}\n if (props.button) {\n if (!attrs || !attrs.type) {\n // Add a type for button is one not provided in passed attributes\n localAttrs.type = 'button'\n }\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n localAttrs.disabled = true\n }\n }\n return localAttrs\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ,oBAAA,YANC,SAMmB,aAAY;EAG9C,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,MAAM,aAAa,MAAM,QAAQ,QAAQ,MAAM;AAC/C,UAAO;IACL,oBAAoB,MAAM;IAC1B,yBAAyB,eAAe;KACvC,yBAAyB,eAAe,OAAO,eAAe;IAC/D,uBAAuB,MAAM;IAC/B;IACD;EACD,MAAM,eAAA,GAAA,IAAA,gBAA8B,MAAM,aAAa,OAAO,OAAO,MAAM,IAAI;AAE/E,GAAA,GAAA,IAAA,SAAQ,aAAA,uBAAuB,EAC7B,WAAA,GAAA,IAAA,aAAsB,MAAM,SAAS,EACtC,CAAA;;sFAjCiB,YAAA,MAAW,EAAA,EAAE,QAAA,GAAA,IAAA,gBAAK,CAAC,cAAqB,gBAAA,MAAe,CAAA,EAAA,EAAA;oCAC7D,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EEkDZ,MAAM,QAAQ,oBAAA,YA5BC,SA4BmB,iBAAgB;EAElD,MAAM,SAAA,GAAA,IAAA,WAAiB;EAEvB,MAAM,cAAA,GAAA,IAAA,QAAoB,aAAA,uBAAuB,KAAI;EAErD,MAAM,EAAC,cAAc,sBAAqB,cAAA,eAAe,MAAK;EAE9D,MAAM,UAAA,GAAA,IAAA,gBAAwB,CAAC,MAAM,UAAU,aAAa,MAAK;EACjE,MAAM,eAAA,GAAA,IAAA,gBACJ,YAAY,SAAS,QAAQ,OAAO,MAAM,SAAS,WAAW,CAAC,OAAO,QAAQ,MAAM,MAAM,cAAA,cAC5F;EAEA,MAAM,YAAA,GAAA,IAAA,gBAEF,MAAM,UACN,OAAO,SACP,MAAM,UACN;GAAC;GAAK;GAAe;GAAU;GAAS,CAAC,SAAS,MAAM,IAAG,CAC/D;EAEA,MAAM,mBAAA,GAAA,IAAA,iBAAkC;IACrC,mBAAmB,MAAM,YAAY,MAAM,YAAY,QAAQ,MAAM,YAAY,KAAA;GAClF,0BAA0B,SAAS;GACnC,UAAU,MAAM;GAChB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,iBAAA,GAAA,IAAA,gBAA+B;GACnC,MAAM,aAAa,EAAE;AACrB,OAAI,MAAM,QAAQ;AAChB,QAAI,CAAC,SAAS,CAAC,MAAM,KAEnB,YAAW,OAAO;AAEpB,QAAI,MAAM,SAER,YAAW,WAAW;;AAG1B,UAAO;IACR;;sFA3FQ,YAAA,MAAW,GAAA,GAAA,IAAA,YAWN;IAVV,OAAK,CAAC,mBACE,gBAAA,MAAe;IACtB,iBAAA,GAAA,IAAA,OAAc,MAAK,CAAC,SAAM,OAAU,KAAA;IACpC,kBAAA,GAAA,IAAA,OAAe,MAAK,CAAC,WAAQ,OAAU,KAAA;IACvC,QAAQ,OAAA,SAAA,GAAA,IAAA,OAAS,MAAK,CAAC,SAAS,KAAA;IAChC,MAAI,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,OAAO,KAAA;IACnC,IAAE,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,KAAK,KAAA;;OACnB,OAAA,SAAA,GAAA,IAAA,OAAS,kBAAiB,GAAA,EAAA;IAAA,GAAW,cAAA;IAAa,CAAA,EAAA;oCAEvD,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA"}
|